Worker w-mapmanifest-a1; task mapmanifest; research. Read .agent-cache/WORKER.md. Bus: python "%USERPROFILE%/.claude/skills/agent-cache-orchestrator/scripts/acbus.py" Parallel: w-meshfmt-a1, w-cmfmt-a1, w-entitypipe-a1, w-matpipe-a1. You own the layer that decides what a map even consists of.
Objective
The other four workers can author assets. You answer the question that decides whether an authored asset ever reaches the player: what does a map need to know about an asset so the engine loads it?
Specifically:
file:generated/buildgame/<map>.mapresources- what is in it, and is it the authoritative list of a map's assets? If we add amodel/cm/imageto a map chunk without listing it there, does it resolve?staticStreamTreeandmodelstream- the streaming layer. What decides that a model's data is fetched when the player walks into a room?pvsandstaticShadowGeom- visibility and shadow precomputation. If a new object is not in them, is it invisible, unshadowed, or harmless?hknavmesh- navigation. Can enemies path at all if it is unchanged, and what happens to an AI that walks into newly added geometry?
For each: can it be authored/extended, or must it be reused as-is? A precise "reuse only" answer is just as valuable as an authoring recipe, because it tells the other workers where the walls are.
What is already solved - context you need
- Container writing is finished and master-verified:
wolfsdk/idclwrite.pyround-trips retail archives BYTE-IDENTICALLY,finalize()fixes all hashes. - A map's composition, measured on
dlc_2/base/chunk_22.resources(c2v1): cm 2795, image 1462, model 955, material 388, modelAsset 253, modelstream 249, sound 183, entityDef 78, extkisclule 68, md6Def 31, compfile 9, file 12. So there is NO monolithic world blob - a map is placed instances plus this manifest/streaming layer, which is why your piece matters so much. re_probes/agent_reports/small_custom_map.mdlists exactly these as the unrewritten cross-references and calls them the real blocker for a new map ID. That report is your starting point - it already named the problem, you answer it.re_probes/agent_reports/idclwriter.mdestablished thatdep+0x18in dependency records is NOT a general mirror of+0x60(only 233 of 3741 resolvable dep_type=2 records carry it) - dependency records are subtler than they look, and they are part of your territory.
Sources / starting points
re_probes/runtime_87400/module.bin- read-only capture of the RUNNING, unpacked executable (file offset == RVA, sections in manifest.json,.pdatafor function bounds). Today five formats fell to reading loaders in it.docs/ladepfade.md(load paths),docs/streamed.md,docs/karten.md,docs/dlcmod.md,re_probes/agent_reports/{dlc_primary,loose_assets, map_selection}.md.tools/streamed.py,tools/dlcinfo.py,tools/dlcmod.py- read-only.- Retail corpus READ ONLY:
/steamapps/common/Wolfenstein.II.The.New.Colossus - capstone 5.0.7 vendored: PYTHONPATH=re_probes/python_deps
Ownership
tools/probe_mapmanifest.py (new), re_probes/mapmanifest/ (new dir), re_probes/agent_reports/mapmanifest.md (new). Everything else read-only.
Forbidden / do not touch
No game launch, no process attach, no writes under the Steam install or "%USERPROFILE%/Saved Games". Do not edit wolfsdk/, docs/, config.json, or any other worker's file. No pip install.
Hard constraints
Python 3.11, stdlib plus vendored capstone. Reproducible from the command line.
Acceptance criteria
.mapresourcesparsed with a byte-exact round-trip, n/n over every map's copy you can reach (there are many - use them all, it is the cheapest corpus here).- For each of the four questions: an answer backed by either a code path (with RVA and xref chain) or a measurement over the corpus with counts. "Probably" is not an answer; "unresolved, here is exactly what I tried" is.
- A single clear deliverable the other workers can act on: the minimum set of manifest/streaming edits required to add one new asset to an existing map. If some part of that set is not authorable, say which and what it costs.
- Negative controls: your parser must reject a truncated manifest and one with a count that disagrees with its entries.
Verification expectations
Every important assurance needs a check that can fail. Keep "listed in the manifest" and "actually loaded at runtime" apart - you cannot show the second offline, and you should say so.
Failure honesty
If PVS/navmesh turn out to be precomputed structures that cannot be regenerated, that is a major, useful finding: it would mean authored geometry is limited to places where being outside the precomputed sets is harmless. Quantify it if you can - e.g. what a retail map does with objects that are not in the PVS.
Coordination / deliverable
Checkpoint at milestones. Publish bus facts early and often here - the other four workers are authoring assets that may or may not need your manifest edits, and they would rather know at 30% than at the end. Concise German report in re_probes/agent_reports/mapmanifest.md. Finish the bus task.