Skip to content

Commit e075392

Browse files
author
DavidQ
committed
BUILD_PR_LEVEL_09_16_ASSET_DEBUG_VISIBILITY
1 parent b23ab87 commit e075392

18 files changed

Lines changed: 280 additions & 55 deletions
Binary file not shown.
Binary file not shown.

docs/dev/CODEX_COMMANDS.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
21
MODEL: GPT-5.4
32
REASONING: high
43
COMMAND:
5-
- Add runtime asset validation layer
6-
- Validate manifest-resolved assets
7-
- Reject `/data/` paths at runtime
8-
- Integrate with lookup layer
9-
- Update roadmap status only (no text changes)
4+
- implement asset error handling standard
5+
- unify error propagation
6+
- integrate with validation + pipeline
7+
- roadmap status only update

docs/dev/COMMIT_COMMENT.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
BUILD_PR_LEVEL_09_14_RUNTIME_ASSET_VALIDATION
1+
BUILD_PR_LEVEL_09_15_ASSET_ERROR_HANDLING
22

3-
Adds runtime asset validation for manifest-resolved assets, rejects `/data/` paths at runtime, integrates validation into shared runtime lookup resolution, and applies a status-only roadmap bracket update.
3+
Implements a shared asset error standard, unifies error propagation across runtime validation + runtime lookup + asset pipeline tooling, adds debug-friendly structured error reporting, and applies a status-only roadmap update.

docs/dev/NEXT_COMMAND.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
BUILD_PR_LEVEL_09_15_ASSET_ERROR_HANDLING
1+
BUILD_PR_LEVEL_09_16_ASSET_DEBUG_VISIBILITY
Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,30 @@
11
Summary
2-
- Added a runtime asset validation layer integrated into shared runtime lookup.
3-
- Manifest-resolved assets are now validated before runtime use.
4-
- Runtime `/data/` path resolution is rejected in validation.
2+
- Implemented a shared asset error handling standard for pipeline/runtime layers.
3+
- Unified error propagation through runtime validation + runtime lookup + pipeline tooling.
4+
- Added debug-friendly structured error reporting with stable codes/stages.
55

66
Implementation
7-
- Added `tools/shared/pipeline/runtimeAssetValidation.js`:
8-
- validates manifest-resolved runtime assets by domain (`sprites`, `tilemaps`, `parallax`, `vectors`)
9-
- enforces required runtime path and domain-specific minimal field checks
10-
- rejects any `/data/` runtime path/source path usage
7+
- Added `tools/shared/pipeline/assetErrorHandling.js`:
8+
- shared error shape (`level`, `code`, `stage`, `domain`, `assetId`, `message`, `details`)
9+
- helper append utilities for consistent propagation
10+
- Updated `tools/shared/pipeline/runtimeAssetValidation.js`:
11+
- emits standardized errors while preserving compatibility `issues` messages
12+
- rejects `/data/` runtime/source paths with explicit error codes
13+
- validates required domain metadata with stable codes per domain
1114
- Updated `tools/shared/pipeline/runtimeAssetLookup.js`:
12-
- integrates `validateRuntimeResolvedAsset` into `resolvePackagedAsset`
13-
- returns `null` for invalid manifest-resolved assets so runtime loader blocks consumption
14-
- Added focused tests:
15-
- `tests/tools/RuntimeAssetValidation.test.mjs`
16-
- updated `tests/tools/RuntimeAssetLookupConsolidation.test.mjs` for validation integration behavior
17-
- registered `RuntimeAssetValidation` in `tests/run-tests.mjs`
15+
- collects/propagates binding issues, binding rejections, lookup misses, and runtime validation errors
16+
- exposes `errors` and `getErrors()` for debug/reporting
17+
- Updated `tools/shared/pipeline/assetPipelineTooling.js`:
18+
- emits standardized `errors` for invalid tool-contract stage failures
19+
20+
Tests
21+
- Added `tests/tools/AssetErrorHandlingStandard.test.mjs`
22+
- Updated `tests/tools/RuntimeAssetValidation.test.mjs`
23+
- Updated `tests/tools/RuntimeAssetLookupConsolidation.test.mjs`
24+
- Updated `tests/tools/AssetPipelineTooling.test.mjs`
25+
- Updated `tests/run-tests.mjs` registrations
1826

1927
Roadmap (status-only)
2028
- `docs/dev/roadmaps/MASTER_ROADMAP_HIGH_LEVEL.md`
21-
- `Normalize assets/data ownership` moved from `[.]` to `[x]`
22-
- No roadmap wording/order/prose edits.
29+
- `Expand testing/validation structure` moved from `[.]` to `[x]`
30+
- No roadmap prose/text/order edits.

docs/dev/reports/validation_checklist.txt

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,36 @@
1-
Validation Checklist - BUILD_PR_LEVEL_09_14_RUNTIME_ASSET_VALIDATION
1+
Validation Checklist - BUILD_PR_LEVEL_09_15_ASSET_ERROR_HANDLING
22

33
Scope
4-
[x] Runtime asset validation layer added
5-
[x] Manifest-resolved runtime assets validated before use
6-
[x] `/data/` runtime paths rejected
7-
[x] Validation integrated with shared lookup layer
4+
[x] Asset error handling standard implemented
5+
[x] Error propagation unified in touched pipeline/runtime layers
6+
[x] Runtime validation + lookup integration completed
7+
[x] Debug-friendly structured reporting added
88
[x] No engine redesign
9-
[x] No tool UI work
10-
[x] No asset format expansion
9+
[x] No UI changes
1110

1211
Code
13-
[x] Added `tools/shared/pipeline/runtimeAssetValidation.js`
12+
[x] Added `tools/shared/pipeline/assetErrorHandling.js`
13+
[x] Updated `tools/shared/pipeline/runtimeAssetValidation.js`
1414
[x] Updated `tools/shared/pipeline/runtimeAssetLookup.js`
15-
[x] Added `tests/tools/RuntimeAssetValidation.test.mjs`
15+
[x] Updated `tools/shared/pipeline/assetPipelineTooling.js`
16+
[x] Added `tests/tools/AssetErrorHandlingStandard.test.mjs`
17+
[x] Updated `tests/tools/RuntimeAssetValidation.test.mjs`
1618
[x] Updated `tests/tools/RuntimeAssetLookupConsolidation.test.mjs`
19+
[x] Updated `tests/tools/AssetPipelineTooling.test.mjs`
1720
[x] Updated `tests/run-tests.mjs`
1821

1922
Validation
23+
[x] `node --check tools/shared/pipeline/assetErrorHandling.js`
2024
[x] `node --check tools/shared/pipeline/runtimeAssetValidation.js`
2125
[x] `node --check tools/shared/pipeline/runtimeAssetLookup.js`
26+
[x] `node --check tools/shared/pipeline/assetPipelineTooling.js`
27+
[x] `node --check tests/tools/AssetErrorHandlingStandard.test.mjs`
2228
[x] `node --check tests/tools/RuntimeAssetValidation.test.mjs`
2329
[x] `node --check tests/tools/RuntimeAssetLookupConsolidation.test.mjs`
30+
[x] `node --check tests/tools/AssetPipelineTooling.test.mjs`
2431
[x] `node --check tests/run-tests.mjs`
25-
[x] Focused tests pass: RuntimeAssetValidation, RuntimeAssetLookupConsolidation
26-
[x] Existing tests pass: RuntimeAssetBinding, GameAssetManifestCoordinator, AssetPipelineTooling, ProjectToolDataContracts
27-
[x] Existing consumer/lane tests pass: AsteroidsAssetReferenceAdoption, AsteroidsPlatformDemo, VectorNativeTemplate, VectorTemplateSampleGame, VectorAssetSystem
32+
[x] Focused tests pass: AssetErrorHandlingStandard, RuntimeAssetValidation, RuntimeAssetLookupConsolidation, AssetPipelineTooling
33+
[x] Existing regression tests pass: RuntimeAssetBinding, GameAssetManifestCoordinator, ProjectToolDataContracts, AsteroidsAssetReferenceAdoption, AsteroidsPlatformDemo, VectorNativeTemplate, VectorTemplateSampleGame, VectorAssetSystem
2834

2935
Roadmap
3036
[x] Status-only update applied

docs/dev/roadmaps/MASTER_ROADMAP_HIGH_LEVEL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,7 @@
595595
- [ ] Establish games/_template and normalize games layer
596596
- [x] Normalize tools/shared and tool boundaries
597597
- [x] Normalize assets/data ownership
598-
- [.] Expand testing/validation structure
598+
- [x] Expand testing/validation structure
599599

600600
### Later Capability Lanes
601601
- [ ] FEATURE: Fullscreen Bezel Overlay System - Render game in full screen with optional bezel artwork layer (static or animated) surrounding the active playfield, preserving aspect ratio and supporting per-game/theme bezel assets without modifying core engine rendering.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# BUILD_PR — LEVEL 09_15 — ASSET ERROR HANDLING
2+
3+
## Objective
4+
Introduce consistent error handling and reporting for asset pipeline, manifest binding, and runtime validation layers.
5+
6+
## Scope
7+
- standardize error objects
8+
- propagate errors through pipeline + runtime layers
9+
- add debug-friendly reporting
10+
11+
## Out of Scope
12+
- no engine redesign
13+
- no UI changes
14+
15+
## Roadmap Instruction
16+
Update roadmap status only. No text edits.

tests/run-tests.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ import { run as runAssetRemediationSystem } from './tools/AssetRemediationSystem
9191
import { run as runToolBoundaryEnforcement } from './tools/ToolBoundaryEnforcement.test.mjs';
9292
import { run as runProjectToolDataContracts } from './tools/ProjectToolDataContracts.test.mjs';
9393
import { run as runAssetPipelineTooling } from './tools/AssetPipelineTooling.test.mjs';
94+
import { run as runAssetErrorHandlingStandard } from './tools/AssetErrorHandlingStandard.test.mjs';
9495
import { run as runGameAssetManifestCoordinator } from './tools/GameAssetManifestCoordinator.test.mjs';
9596
import { run as runRuntimeAssetBinding } from './tools/RuntimeAssetBinding.test.mjs';
9697
import { run as runRuntimeAssetLookupConsolidation } from './tools/RuntimeAssetLookupConsolidation.test.mjs';
@@ -211,6 +212,7 @@ const tests = [
211212
['ToolBoundaryEnforcement', runToolBoundaryEnforcement],
212213
['ProjectToolDataContracts', runProjectToolDataContracts],
213214
['AssetPipelineTooling', runAssetPipelineTooling],
215+
['AssetErrorHandlingStandard', runAssetErrorHandlingStandard],
214216
['GameAssetManifestCoordinator', runGameAssetManifestCoordinator],
215217
['RuntimeAssetBinding', runRuntimeAssetBinding],
216218
['RuntimeAssetLookupConsolidation', runRuntimeAssetLookupConsolidation],

0 commit comments

Comments
 (0)