Add repository toolchain policy
This commit is contained in:
18
.editorconfig
Normal file
18
.editorconfig
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[*.{c,cpp,cs,h,py,ps1,sh}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
[*.{csproj,json,jsonl,props,targets,toml,tscn,tres,xml,yaml,yml}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.{bat,cmd}]
|
||||||
|
end_of_line = crlf
|
||||||
76
.gitattributes
vendored
76
.gitattributes
vendored
@@ -1,5 +1,73 @@
|
|||||||
docs/opcode-reference.md whitespace=trailing-space,space-before-tab,cr-at-eol
|
* text=auto
|
||||||
docs/global-reference.md whitespace=trailing-space,space-before-tab,cr-at-eol
|
.editorconfig text eol=lf
|
||||||
docs/engine-ctx-reference.md whitespace=trailing-space,space-before-tab,cr-at-eol
|
.gitattributes text eol=lf
|
||||||
tools/age_opcodes_himegari.py whitespace=trailing-space,space-before-tab,cr-at-eol
|
.gdignore text eol=lf
|
||||||
|
.gitignore text eol=lf
|
||||||
|
|
||||||
|
*.bat text eol=crlf
|
||||||
|
*.cmd text eol=crlf
|
||||||
|
|
||||||
|
*.c text eol=lf
|
||||||
|
*.cfg text eol=lf
|
||||||
|
*.cs text eol=lf
|
||||||
|
*.csproj text eol=lf
|
||||||
|
*.config text eol=lf
|
||||||
|
*.cpp text eol=lf
|
||||||
|
*.gd text eol=lf
|
||||||
|
*.godot text eol=lf
|
||||||
|
*.h text eol=lf
|
||||||
|
*.json text eol=lf
|
||||||
|
*.jsonl text eol=lf
|
||||||
|
*.md text eol=lf
|
||||||
|
*.props text eol=lf
|
||||||
|
*.targets text eol=lf
|
||||||
|
*.ps1 text eol=lf
|
||||||
|
*.py text eol=lf
|
||||||
*.sh text eol=lf
|
*.sh text eol=lf
|
||||||
|
*.sln text eol=lf
|
||||||
|
*.toml text eol=lf
|
||||||
|
*.tscn text eol=lf
|
||||||
|
*.tres text eol=lf
|
||||||
|
*.uid text eol=lf
|
||||||
|
*.xml text eol=lf
|
||||||
|
*.yaml text eol=lf
|
||||||
|
*.yml text eol=lf
|
||||||
|
|
||||||
|
*.7z binary
|
||||||
|
*.a binary
|
||||||
|
*.agf binary
|
||||||
|
*.avi binary
|
||||||
|
*.bin binary
|
||||||
|
*.bmp binary
|
||||||
|
*.cur binary
|
||||||
|
*.dll binary
|
||||||
|
*.dylib binary
|
||||||
|
*.exe binary
|
||||||
|
*.gif binary
|
||||||
|
*.ico binary
|
||||||
|
*.jpeg binary
|
||||||
|
*.jpg binary
|
||||||
|
*.lib binary
|
||||||
|
*.mp3 binary
|
||||||
|
*.mp4 binary
|
||||||
|
*.mpeg binary
|
||||||
|
*.mpg binary
|
||||||
|
*.ogg binary
|
||||||
|
*.otf binary
|
||||||
|
*.pdb binary
|
||||||
|
*.png binary
|
||||||
|
*.rar binary
|
||||||
|
*.so binary
|
||||||
|
*.ttf binary
|
||||||
|
*.wav binary
|
||||||
|
*.woff binary
|
||||||
|
*.woff2 binary
|
||||||
|
*.zip binary
|
||||||
|
|
||||||
|
# These generated files currently have CRLF committed by generator contract.
|
||||||
|
# Preserve their bytes while retaining textual diffs until the generators and
|
||||||
|
# their committed output are deliberately migrated together.
|
||||||
|
docs/opcode-reference.md -text -eol diff whitespace=trailing-space,space-before-tab,cr-at-eol
|
||||||
|
docs/global-reference.md -text -eol diff whitespace=trailing-space,space-before-tab,cr-at-eol
|
||||||
|
docs/engine-ctx-reference.md -text -eol diff whitespace=trailing-space,space-before-tab,cr-at-eol
|
||||||
|
tools/age_opcodes_himegari.py -text -eol diff whitespace=trailing-space,space-before-tab,cr-at-eol
|
||||||
|
|||||||
@@ -29,6 +29,9 @@ S:\Game Hacking\Eushully\Himegari\ ← workspace root (three siblings)
|
|||||||
└── age-reimpl/ ← OUR WORK (everything we made lives here)
|
└── age-reimpl/ ← OUR WORK (everything we made lives here)
|
||||||
│
|
│
|
||||||
├── README.md navigation-only repository front door; canonical facts stay in docs/
|
├── README.md navigation-only repository front door; canonical facts stay in docs/
|
||||||
|
├── global.json pins the validated .NET 8 SDK feature band
|
||||||
|
├── .editorconfig / .gitattributes UTF-8, indentation, text/EOL, and binary-file policy;
|
||||||
|
│ generator-owned CRLF references retain their committed bytes
|
||||||
├── run-godot.ps1 / run-godot.cmd tracked development launcher + Windows wrapper;
|
├── run-godot.ps1 / run-godot.cmd tracked development launcher + Windows wrapper;
|
||||||
│ resolves Godot/game-root from parameters, environment,
|
│ resolves Godot/game-root from parameters, environment,
|
||||||
│ PATH, and the conventional sibling install
|
│ PATH, and the conventional sibling install
|
||||||
|
|||||||
@@ -903,6 +903,15 @@ do not mix mechanical moves with semantic changes.
|
|||||||
backup. Public distribution remains blocked on item 3; destructive cleanup and compaction remain blocked on
|
backup. Public distribution remains blocked on item 3; destructive cleanup and compaction remain blocked on
|
||||||
item 4 plus explicit target approval.
|
item 4 plus explicit target approval.
|
||||||
|
|
||||||
|
**Policy baseline (2026-08-03):** item 1 is complete. `global.json` pins the validated .NET 8.0.408 feature
|
||||||
|
band to stable patch releases; `.editorconfig` establishes UTF-8, final-newline, trailing-whitespace, and
|
||||||
|
indentation defaults; and `.gitattributes` classifies repository text, Windows command wrappers, and binary
|
||||||
|
assets. Generator-owned references that already commit CRLF are explicit byte-preserving exceptions with
|
||||||
|
textual diffs, so rebuilding them does not create whole-file normalization churn. No existing source or
|
||||||
|
project file was reformatted or renormalized. Both solution builds and the asset-independent core validation
|
||||||
|
gate remain green under the tracked policy. Item 2, a CI workflow calling that same core gate, is the next
|
||||||
|
safe slice.
|
||||||
|
|
||||||
**Not cleanup targets:** generated `build/` output, the two intentional solution files, historical
|
**Not cleanup targets:** generated `build/` output, the two intentional solution files, historical
|
||||||
`docs/superpowers/` plans/specifications, and fidelity-specific complexity that is directly covered by the
|
`docs/superpowers/` plans/specifications, and fidelity-specific complexity that is directly covered by the
|
||||||
native ABI. Reorganization is successful when ownership and reproduction become clearer, not when the raw
|
native ABI. Reorganization is successful when ownership and reproduction become clearer, not when the raw
|
||||||
@@ -1249,9 +1258,9 @@ layer's rendering diverges from ADV; save layout.
|
|||||||
---
|
---
|
||||||
|
|
||||||
## 8. Immediate next step
|
## 8. Immediate next step
|
||||||
Continue step 5 of the **codebase consolidation** maintenance slice with the first non-destructive policy change:
|
Continue step 5 of the **codebase consolidation** maintenance slice with an asset-independent CI workflow that
|
||||||
add a repository `global.json`, `.editorconfig`, and complete text/line-ending attributes based on the validated
|
invokes `py -3.11 -X utf8 tools/validate.py --level core` on Windows using the tracked .NET SDK policy. Keep the
|
||||||
.NET 8/Python 3.11 toolchain. Do not mechanically reformat existing files or change warning/runtime behavior;
|
private game corpus and Godot runtime out of the hermetic CI job, preserve the validation driver's failure and
|
||||||
verify both solutions and the core validation driver under the tracked policy.
|
child-process semantics, and avoid introducing a second build/test command path.
|
||||||
Concrete playthrough blockers may still preempt this bounded maintenance work; the consolidation effort does
|
Concrete playthrough blockers may still preempt this bounded maintenance work; the consolidation effort does
|
||||||
not replace Phase B gameplay validation or the open cross-platform gates.
|
not replace Phase B gameplay validation or the open cross-platform gates.
|
||||||
|
|||||||
7
global.json
Normal file
7
global.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"sdk": {
|
||||||
|
"version": "8.0.408",
|
||||||
|
"rollForward": "latestPatch",
|
||||||
|
"allowPrerelease": false
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user