A short AGENTS.md: what the repository is (the native-execution model, the host and its three graphics layers, sixty games, each with its note in dm/games/<id>/README.md and a row in the games table), where to start for each kind of task (a crash, abort, hang, [RED] line or wrong picture: the symptom index, then the reference entry and its games; a game short of its frame loop: 03; rendering: 04 and the rendering, shaders and NVN objects references; one game or its profile: its note; another title: the NSP script and docs/agents; packing, building, prewarm, power: development.md), and where a new finding goes, once (a fact about one game in its note; a general mechanism as an entry in its reference, the symptom index regenerated and a line in the note's Found on this game; this file only for a rule or the count). The rules are as before. The game list of 4,500 words, one sentence per game, is gone: each sentence is in its game's note. New dm/tools/docs_symptoms.py writes docs/agents/symptoms.md from the references' Symptom bullets (--check reports whether it is current). The NSP script's survey points at docs/reference/nvn-objects.md for SDK object sizes and at the symptom index; Balatro's note names capture_shaders. AGENTS.md goes from 6,235 to 1,137 words. Checked: every backticked span, module address, issue / PR number and 16-digit hash of AGENTS.md, development.md, dm/games/README.md and docs/agents/01-05 on main still appears in the repository's Markdown (besides the five file patterns, nn::hid::GetGestureStates and nn::oe::SetCpuOverclockEnabled appear without the nn:: prefix in Taiko Risshiden V DX's note), every relative link and anchor resolves, and the tool tests and test_xcode_workflow pass
This commit is contained in:
1 parent
50ad443cb1
commit
0df4dbe280
5 files changed
+74
-6
No files matched your search
@@ -597,7 +597,7 @@ def survey(nsp_dir, app, fam, keys, repo, py, env):
|
||||
notes.append('no BNSH / BAHS at the top level: the shaders are inside compressed or other containers or in main, and must be located first')
|
||||
major = {v.split('_')[0] for v in F['sdkver']}
|
||||
if not major: notes.append('no SDK version string found')
|
||||
elif major != {'16'}: notes.append(f'SDK {"/".join(sorted(major))}, not Mario\'s 16: NVN object sizes, API version and service layouts differ by SDK (the host was converted from D2R\'s SDK 12 to SDK 16 sizes); check them one by one per docs/agents/03')
|
||||
elif major != {'16'}: notes.append(f'SDK {"/".join(sorted(major))}, not Mario\'s 16: NVN object sizes, API version and service layouts differ by SDK (the host was converted from D2R\'s SDK 12 to SDK 16 sizes); check them one by one per docs/reference/nvn-objects.md')
|
||||
if any(l.split()[:1] == ['nn::ro'] for l in R):
|
||||
nro, nrr = rom['exts']['.nro'], rom['exts']['.nrr']
|
||||
# NRR files register NROs by hash; with none loose the NROs are inside an archive (Super Smash Bros. Ultimate: 14 NRRs, 98 NROs in data.arc, whose exports main imports)
|
||||
@@ -607,7 +607,7 @@ def survey(nsp_dir, app, fam, keys, repo, py, env):
|
||||
R += ['', '## What it means for a port', ''] + [f'- {n}' for n in notes or ['—']]
|
||||
R += ['', '## Provisional profile keys (dm/games/profile_guess.py)', '', 'What the game files decide; mem_used follows the rewrite, and a game with virtual address memory that sets a heap gets a heap check on the Mac (scripts/build_ipa_from_nsp.py heap_check).', '', '```']
|
||||
R += [f'{k}\t{v}' + (f'\t# {why}' if why else '') for k, (v, why) in G.items()] + ['```']
|
||||
R += ['', 'Next steps: docs/agents (02 survey, 03 bring-up).']
|
||||
R += ['', 'Next steps: docs/agents (02 survey, 03 bring-up, symptoms.md for each failure).']
|
||||
(work / 'survey.md').write_text('\n'.join(R) + '\n')
|
||||
for n in notes: say(n)
|
||||
say(f'survey report: {work / "survey.md"}')
|
||||
|
||||
Reference in new issue
Block a user