Skip to content

Commit 1fe3b3e

Browse files
committed
build(asset-graph): add additive project asset dependency graph
1 parent f4cb92a commit 1fe3b3e

15 files changed

Lines changed: 468 additions & 45 deletions

docs/dev/CODEX_COMMANDS.md

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,29 @@
1-
MODEL: GPT-5.3-codex
1+
MODEL: GPT-5.4
22
REASONING: high
33

44
COMMAND:
5-
Create BUILD_PR_PARALLAX_EDITOR_ASSET_REGISTRY_ADOPTION.
5+
Execute this atomic Level 9 package in order.
66

7-
Requirements:
8-
- Integrate Parallax Editor with project asset registry
9-
- Use ID-based references (no direct paths)
10-
- Maintain backward compatibility
7+
Step 1:
8+
Treat docs/pr/PLAN_PR_ASSET_DEPENDENCY_GRAPH.md as the governing architecture contract.
9+
10+
Step 2:
11+
Create BUILD_PR_ASSET_DEPENDENCY_GRAPH.
12+
13+
BUILD requirements:
14+
- Implement a minimal additive project-level asset dependency graph
15+
- Preserve registry as source of truth
16+
- Use stable IDs and deterministic edge generation
17+
- Keep backward compatibility for legacy projects with no graph data
18+
- Surface missing targets/orphaned assets as validation findings rather than hard failures
19+
- Support Sprite Editor, Tile Map Editor, and Parallax Editor local graph contribution
1120
- Do not modify engine core APIs
1221

22+
Step 3:
23+
Validate BUILD against docs/pr/BUILD_PR_ASSET_DEPENDENCY_GRAPH.md.
24+
25+
Step 4:
26+
Treat docs/pr/APPLY_PR_ASSET_DEPENDENCY_GRAPH.md as the acceptance boundary and package results.
27+
1328
Package:
14-
HTML-JavaScript-Gaming/tmp/BUILD_PR_PARALLAX_EDITOR_ASSET_REGISTRY_ADOPTION_delta.zip
29+
HTML-JavaScript-Gaming/tmp/LEVEL_9_ASSET_DEPENDENCY_GRAPH_ATOMIC_PACKAGE_delta.zip

docs/dev/COMMIT_COMMENT.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
plan(parallax-editor): adopt project asset registry integration
1+
build(asset-graph): add additive project asset dependency graph

docs/dev/change_summary.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,6 @@
1-
Introduces Parallax Editor adoption of asset registry (docs-only).
1+
Completed BUILD_PR_ASSET_DEPENDENCY_GRAPH as an additive project-level asset graph slice.
2+
3+
Summary:
4+
- Added shared dependency graph generation in `tools/shared/projectAssetRegistry.js` using stable node IDs, deterministic edge ordering, and non-blocking validation findings.
5+
- Updated Sprite Editor, Tile Map Editor, and Parallax Editor save flows to persist `project.assetDependencyGraph` snapshots without changing engine core APIs.
6+
- Preserved legacy compatibility by keeping graph persistence additive and leaving load flows tolerant of missing graph data.

docs/dev/file_tree.txt

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
1-
docs/pr/PLAN_PR_PARALLAX_EDITOR_ASSET_REGISTRY_ADOPTION.md
2-
docs/dev/codex_commands.md
3-
docs/dev/commit_comment.txt
1+
LEVEL_9_ASSET_DEPENDENCY_GRAPH_ATOMIC_PACKAGE_delta/
2+
docs/
3+
docs/dev/
44
docs/dev/change_summary.txt
5-
docs/dev/validation_checklist.txt
65
docs/dev/file_tree.txt
6+
docs/dev/validation_checklist.txt
7+
docs/pr/
8+
docs/pr/APPLY_PR_ASSET_DEPENDENCY_GRAPH.md
9+
docs/pr/BUILD_PR_ASSET_DEPENDENCY_GRAPH.md
10+
docs/pr/PLAN_PR_ASSET_DEPENDENCY_GRAPH.md
11+
tools/
12+
tools/shared/
13+
tools/shared/projectAssetRegistry.js
14+
tools/Sprite Editor/
15+
tools/Sprite Editor/modules/
16+
tools/Sprite Editor/modules/spriteEditorApp.js
17+
tools/Tile Map Editor/
18+
tools/Tile Map Editor/main.js
19+
tools/Parallax Editor/
20+
tools/Parallax Editor/main.js
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
Created implementation bundle for BUILD_PR_PARALLAX_EDITOR_ASSET_REGISTRY_ADOPTION.
1+
Completed BUILD_PR_ASSET_DEPENDENCY_GRAPH as an additive project-level asset graph slice.
22

33
Summary:
4-
- Updates Parallax Editor to save registry-managed layers via ID-based references.
5-
- Preserves additive `images` and `parallaxSources` registry behavior through shared helpers.
6-
- Maintains backward compatibility for legacy direct-path parallax and tilemap documents.
4+
- Added shared dependency graph generation in `tools/shared/projectAssetRegistry.js` using stable node IDs, deterministic edge ordering, and non-blocking validation findings.
5+
- Updated Sprite Editor, Tile Map Editor, and Parallax Editor save flows to persist `project.assetDependencyGraph` snapshots without changing engine core APIs.
6+
- Preserved legacy compatibility by keeping graph persistence additive and leaving load flows tolerant of missing graph data.

docs/dev/reports/file_tree.txt

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
1-
BUILD_PR_PARALLAX_EDITOR_ASSET_REGISTRY_ADOPTION_delta/
2-
├── docs/
3-
│ ├── dev/
4-
│ │ └── reports/
5-
│ │ ├── change_summary.txt
6-
│ │ ├── file_tree.txt
7-
│ │ └── validation_checklist.txt
8-
│ └── pr/
9-
│ └── BUILD_PR_PARALLAX_EDITOR_ASSET_REGISTRY_ADOPTION.md
10-
└── tools/
11-
└── Parallax Editor/
12-
├── README.md
13-
└── main.js
1+
LEVEL_9_ASSET_DEPENDENCY_GRAPH_ATOMIC_PACKAGE_delta/
2+
docs/
3+
docs/dev/
4+
docs/dev/reports/
5+
docs/dev/reports/change_summary.txt
6+
docs/dev/reports/file_tree.txt
7+
docs/dev/reports/validation_checklist.txt
8+
docs/pr/
9+
docs/pr/APPLY_PR_ASSET_DEPENDENCY_GRAPH.md
10+
docs/pr/BUILD_PR_ASSET_DEPENDENCY_GRAPH.md
11+
docs/pr/PLAN_PR_ASSET_DEPENDENCY_GRAPH.md
12+
tools/
13+
tools/shared/
14+
tools/shared/projectAssetRegistry.js
15+
tools/Sprite Editor/
16+
tools/Sprite Editor/modules/
17+
tools/Sprite Editor/modules/spriteEditorApp.js
18+
tools/Tile Map Editor/
19+
tools/Tile Map Editor/main.js
20+
tools/Parallax Editor/
21+
tools/Parallax Editor/main.js
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
BUILD VALIDATION CHECKLIST
22

3-
- [x] Parallax Editor integrated with project asset registry
4-
- [x] Registry-managed saves use ID-based references instead of direct paths
5-
- [x] Backward compatibility preserved for legacy parallax/tilemap JSON
6-
- [x] No engine core API changes introduced
7-
- [x] Shared registry helpers reused without destructive registry replacement
3+
- [x] Legacy projects still load when `project.assetDependencyGraph` is absent
4+
- [x] Registry remains the source of truth for graph reconstruction
5+
- [x] Graph nodes use stable asset IDs and edges are emitted deterministically
6+
- [x] Missing targets and orphaned assets surface as findings instead of hard failures
7+
- [x] Sprite Editor, Tile Map Editor, and Parallax Editor each persist additive graph snapshots on save
8+
- [x] Asset registry save flows report graph findings without blocking editing
9+
- [x] No engine core API files were modified
810
- [x] Syntax validation passed for changed JS files

docs/dev/validation_checklist.txt

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1-
- No code changes in PLAN
2-
- Contracts clearly defined
3-
- Backward compatibility documented
1+
BUILD VALIDATION CHECKLIST
2+
3+
- [x] Legacy projects still load when `project.assetDependencyGraph` is absent
4+
- [x] Registry remains the source of truth for graph reconstruction
5+
- [x] Graph nodes use stable asset IDs and edges are emitted deterministically
6+
- [x] Missing targets and orphaned assets surface as findings instead of hard failures
7+
- [x] Sprite Editor, Tile Map Editor, and Parallax Editor each persist additive graph snapshots on save
8+
- [x] Asset registry save flows report graph findings without blocking editing
9+
- [x] No engine core API files were modified
10+
- [x] Syntax validation passed for changed JS files
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# APPLY_PR_ASSET_DEPENDENCY_GRAPH
2+
3+
## Purpose
4+
Apply the completed asset dependency graph slice as a docs-only acceptance boundary.
5+
6+
## Apply Scope
7+
- Confirm PLAN and BUILD are complete
8+
- Confirm accepted baseline remains additive and backward compatible
9+
- Confirm APPLY introduces no implementation expansion
10+
- Lock the dependency graph as accepted project architecture baseline
11+
12+
## Verification Summary
13+
- BUILD artifact exists and matches scoped dependency graph implementation
14+
- APPLY remains docs-only
15+
- Registry remains source of truth
16+
- No engine core API changes are required by this APPLY step
17+
- Legacy compatibility remains accepted contract
18+
19+
## Accepted Baseline
20+
- Project owns an additive asset dependency graph
21+
- Registry-backed editors contribute local relationships
22+
- Missing targets degrade gracefully
23+
- Validation/reporting can surface graph issues without blocking editing
24+
25+
## Manual Validation Checklist
26+
1. Confirm BUILD artifact exists in repo tmp path.
27+
2. Confirm APPLY bundle only contains docs/pr and docs/dev files.
28+
3. Confirm accepted scope does not exceed BUILD scope.
29+
4. Confirm no new implementation files are introduced by APPLY.
30+
5. Confirm next planning work can build on accepted dependency graph baseline.
31+
32+
## Approved Commit Comment
33+
build(asset-graph): add additive project asset dependency graph
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# BUILD_PR_ASSET_DEPENDENCY_GRAPH
2+
3+
## Purpose
4+
Implement the minimal additive asset dependency graph defined in PLAN_PR_ASSET_DEPENDENCY_GRAPH.
5+
6+
## Build Scope
7+
- Add project-level asset dependency graph persistence
8+
- Preserve registry as source of truth
9+
- Generate stable nodes and deterministic edges
10+
- Keep behavior additive and backward compatible
11+
- Surface lightweight validation findings for missing/orphaned assets
12+
- Avoid engine core API changes
13+
14+
## Required Contracts
15+
- Graph may be omitted in legacy projects
16+
- Graph can be reconstructed from registry-aware project data
17+
- Editors contribute local relationships only
18+
- Missing references must not crash load/edit flows
19+
- Save/load must remain stable and deterministic
20+
21+
## Likely Files
22+
- shared project registry/graph helper module
23+
- editor project model adapters
24+
- docs/dev reports for verification
25+
- no engine core API files
26+
27+
## Manual Validation Checklist
28+
1. Legacy projects load with no graph data.
29+
2. Registry-aware projects save and reload graph additively.
30+
3. Sprite/palette relationships remain stable.
31+
4. Tile relationships remain stable.
32+
5. Parallax/image relationships remain stable.
33+
6. Missing targets produce findings, not crashes.
34+
7. Graph output is deterministic enough to avoid noisy diffs.
35+
8. Engine core APIs remain unchanged.
36+
37+
## Approved Commit Comment
38+
build(asset-graph): add additive project asset dependency graph
39+
40+
## Next Command
41+
APPLY_PR_ASSET_DEPENDENCY_GRAPH

0 commit comments

Comments
 (0)