Stage 5.7.24 - DAT Ownership Hard Gate | Project model phase: eem-aware-acceptance-candidate
Module Health (18)
Registry Adapter - Waiting (0 file(s))
Fact Contract - Waiting (0 fact(s))
Relationship Graph - Waiting (0 edge(s))
Assessment Layer - Waiting (0 assessment(s))
Sprites Domain - Waiting (0 section(s))
DAT / States / Models Domains - Waiting (0 DAT / 0 states / 0 MD3)
Scripts / Dynamic / Menu Domains - Waiting (0 script(s) / 0 dynamic familie(s) / 0 menu)
Maps / EEM Domains - Waiting (0 valid map(s) / 0 object row(s))
Textures / Tiles Domains - Waiting (0 texture entrie(s) / 0 map-used texture / 0 tile entrie(s) / 0 graph assessment(s))
Texture / Modifier Validation Checkpoint - Review (11 checklist row(s) / 0 graph flag type(s))
Graph Report Adapter - Waiting (0 row(s))
Model-first Reports - Waiting (0 missing / 0 possible-unused / 0 review)
Project Diagnostics - Ready (Ctrl+Shift+D)
Dashboard Findings List - Waiting (0 item(s) / 0 filtered)
Selected Item Detail - Waiting (No selected item)
Dashboard Adapter - Waiting (0 item(s) / 26 wording case(s))
Deep Info Mode Layout - Ready (Ctrl+Shift+E)
Debug / Kanban - Ready (v0.5.7.24)
Done (68)
Single-file HTML shell
Barebones readable UI style
Local project folder picker
File registry builder
Counts by type and extension
Raw registry table with filter
Custom#.png inventory pass
Ctrl+Shift+K debug kanban
DAT parser pass for direct references
States parser pass for direct references
Particle usage review with RANDOM(x,y) exclusive upper-bound handling
Script parser pass with #script include/jump handling
EasyMoveDAT and Easy3DEditor findings folded into roadmap
EEM scanner / map object pass added
EEM map usage cross-links added
MD3 header/frame-count inventory added
Unified entity/spawn resolution view added
Objects / Pickups view separates pickups, editor objects, and built-in map modifiers
Objects / Pickups wording changed from Review Hints to Needs Linking
Dynamic script reference tracker added for simple variable/path expansion
Broad Usage / Possible Unused report added
Practical Report Candidate overview added
Structured Project Report item model added for future detail-link workflow
Project Report subtabs added with Overview as the first user-facing report section
Possible-unused drilldown added to reduce false-positive confusion
Toolbar copy/report buttons grouped into compact action clusters
Sprite Folder Breakdown added to inspect Sprites/ section possible-unused counts
v0.5.1.00 canonical projectModel foundation added for future graph/domain refactor
v0.5.1.01 registry adapter populates projectModel.files and domain indexes
v0.5.1.01-hotfix1 removes the extra top summary/note text and de-yellows the top status line
v0.5.1.02 fact/reference contract mirrors parser rows into projectModel.facts
v0.5.1.03 relationship graph core creates projectModel.edges from resolved facts
v0.5.1.04 assessment layer mirrors usage/graph evidence into projectModel.assessments
v0.5.1.05 Sprites domain migration groups Sprites/ files by canonical sections with assessment and graph context
v0.5.1.05-hotfix1 adds safe Sprites domain defaults for early render passes
v0.5.1.06 DAT + States + Models domain migration adds canonical registry/FSM/model summaries and ownership previews
v0.5.1.07 Scripts + Dynamic + Menu domain migration adds canonical script/menu/dynamic summaries and previews
v0.5.1.08 Maps / EEM domain migration adds canonical map, placement, object, pickup, marker, and custom tile summaries
v0.5.1.09 Reports Consume Graph adds graph-backed Project Report summaries and rows from files/edges/assessments
v0.5.1.09-hotfix1 clarifies file-backed vs virtual/relationship domains in Project Model Domains
v0.5.1.10 Debug / Kanban Module Cleanup exposes module health, domain health, graph report state, and roadmap lanes
v0.5.2.00 Textures + Tiles Domain Foundation tracks Textures.dat, EEM texture usage, _normal/_emissive companions, Tiles.dat, and EEM custom tile usage
v0.5.2.01 Texture Companion Pairing Polish classifies base/_normal/_emissive families and adds companion class summaries
v0.5.2.02 Map Texture Usage / Unused Texture IDs separates map-used, unused, and missing map texture ID buckets
v0.5.2.03 Tiles.dat Modifier Report Polish separates used/unused Tiles.dat entries, missing custom tile IDs, and sec4 modifier buckets
v0.5.2.03-hotfix1 adds UI-only Dashboard search/filter for rendered validation content
v0.5.2.04 Texture / Modifier Graph Report Integration adds graph-backed assessments for texture/modifier findings
v0.5.2.05 Practical Texture / Modifier Validation Candidate adds checkpoint summary, checklist, graph flags, and search prompts
v0.5.3.00 Model Parity / Deep Info Adapter Audit Foundation adds Ctrl+Shift+D parity audit window
v0.5.3.00-hotfix1 separates derived assessment/possible-unused expansion rows from true 1:1 parity checks
v0.5.3.00-hotfix2 adds copyable full parity detail dump with deprecated usage rows and projectModel assessment details
v0.5.3.00-hotfix3 makes parity source-aware and separates fileDomain/fileSubdomain from assessmentDomain/assessmentSubdomain
v0.5.3.01 expands parity audit coverage with DAT registry splits, usage bucket parity, and source/domain possible-unused breakdowns
v0.5.3.02 Reports Prefer projectModel makes Project Report overview/action/missing/unused sections prefer graph assessments
v0.5.3.03 Model-first / Deep Info Layout Split hides old parser/detail tabs from default layout and toggles them with Ctrl+Shift+E
v0.5.4.00 Dashboard Data Adapter + Wording Contract defines the dashboard-facing object shape and plain-English case wording
v0.5.4.00-hotfix1 Project Diagnostics / Dashboard Debug Dump reframes Ctrl+Shift+D around dashboard milestone validation
v0.5.4.01 Dashboard Shell / Primary View Replacement makes Project Dashboard the default model-first surface
v0.5.4.01-hotfix1 Dashboard Queue Priority + Wording Fix makes Missing rows sort first and prevents Models/ PNGs from using model-only wording
v0.5.4.01-hotfix2 Deprecated Parity Disconnect + Status Ticker removes deprecated transition parity from dashboard diagnostics and compresses the status line
v0.5.4.04 Evidence + Related Items / Trace Navigation adds clickable trace search from evidence and related items
v0.5.4.05 Directory View + Folder Markers adds folder-level dashboard buckets
v0.5.4.06 Lightweight Preview Foundation adds preview placeholders by preview type
v0.5.4.07 Search / Navigation Polish adds search controls and keyboard navigation
v0.5.4.08 Win95/Web1.0 Style + Dark Mode Integration applies the prototype-era visual layer and dark-mode coverage
v0.5.4.09 Practical Prototype Review / Prototype-Parity Candidate integrates dashboard systems as the candidate acceptance surface
v0.5.6.01 File Explorer Directory View adds severity-sorted explorer rows and folder tree markers
v0.5.6.01-hotfix1 Physical Directory Source Mapping removes virtual folders and maps virtual findings to source files
Doing (2)
v0.5.6.15 - EEM-aware Acceptance Candidate
v0.5.6.16 - Triage Focus / Filter Clarity Polish
Next (3)
v0.5.6.06 - Directory and DAT inspector polish
v0.5.6.07 - Performance / Virtualized Navigation Pass
v0.5.6.08 - Prototype Acceptance Candidate
Blocked / Mystery (4)
Exact relationship between triggers/terminals and script slots still needs confirmation
Internal engine entity detection is improved by EEM marker names, but unresolved SPAWN targets remain warnings
State image declaration to MD3/model linkage is deferred because early results are noisy without stronger DAT/model rules
Range-like commands beyond RANDOM(x,y) are not fully confirmed
Questions (8)
Do trigger marker values 25-34 map directly to trigger script slots 1-10 in Maps.dat or another config?
Do terminal sec4 values 42-51 map directly to terminal script slots 1-10?
Are sec2 indexes always 1-based for enemies/decorations/weapons/ammo in EEM?
Which EEM/custom-light script relationships should be reported as direct dependencies?
Should map-placed DAT entries with zero .states matches be treated as static/editor objects or possible missing FSMs?
Which spawn/entity rows should eventually be collapsed by default to reduce noise without hiding data?
Should object/pickup rows eventually link directly to trigger/terminal script slots once that relationship is confirmed?
Which script variable operations should be considered safe enough for dynamic path expansion beyond literal strings and RANDOM ranges?
Findings (23)
EEM header is treated as little-endian <4H: version, slabs/floors, width, height.
EEM section 0 is tile/texture ID; section 1 is object/entity/default marker; section 2 is DAT/entity index; section 3 is ctile/custom-tile flag; section 4 is modifier/tile value.
Known sec1 markers include enemies 7, weapons 17, decorations 18, ammo 19, HP 20-23, keys 10-12, armour 67-70, player spawn 9, triggers 25-34, lights 55-57, and custom lights 61-63.
Known sec4 defaults include doors, locked doors, angle walls, terminals, steps, thin walls, invisible block, exit, hazard block, and enemy barrier.
MD3 files are parsed only by header/frame metadata; geometry is not interpreted yet.
State image declaration interpretation is deferred for now to avoid noisy model/sprite assumptions.
#SomeScript.script lines are script include/jump references and must not be checked with the leading # as part of the filename.
entity spawn tile/precise/relative commands use the token after the mode as the target entity, not the mode word itself.
Entity / Spawn view combines FSM SPAWN, script entity spawn, EEM placements, DAT registry entries, and .states existence into one review table.
Objects / Pickups view treats weapons, ammo, HP, keys, armour, player start, triggers, lights, terminals, doors, exits, hazards, steps, thin walls, angle walls, invisible blocks, enemy barriers, and custom Tiles.dat modifiers as editor/map object systems rather than normal enemy/decoration entities.
Needs Linking notes are confirmed map/object findings that still need a future rule to connect them to scripts or config slots; they are not errors.
Dynamic script references are expanded only when the variable values are simple enough to resolve without guessing.
menu.script is treated as a distinct script entry point and has its own tab/report view.
Usage / Possible Unused is a cautious report, not a deletion list; dynamic/runtime references can hide real usage.
Practical Project Report separates missing references, review items, possible-unused candidates, and scan-health notes.
Project Report now builds structured report items with intended detail targets; clickable tab jumps are planned next.
Project Dashboard shell is now the default primary view over dashboard adapter items.
Possible-unused totals should be reviewed by category because broad image/sprite buckets can contain false positives.
Sprites Breakdown inspects files under Sprites/ by section and shows which ones are marked referenced vs possible-unused.
State Images now resolves many .states image declarations as sprite-backed or MD3-backed before possible-unused counts are calculated.
Fresh editor-created NewProject baseline paths are separated from possible-unused as normal default assets.
Default layout is model-first; Deep Info Mode keeps deep analyzer information tabs separate.
No files are uploaded or modified.