Skip to content

Commit 229b7f2

Browse files
author
DavidQ
committed
Consolidate tools shared layer
- inventoried tools/shared and tools/dev/shared - moved or merged valid shared files into tools/shared - removed obsolete duplicate shared files after preservation - updated imports and references - validated no remaining live dependency on tools/dev/shared PR Details - establishes tools/shared as the single authoritative shared layer
1 parent f1b22c3 commit 229b7f2

9 files changed

Lines changed: 277 additions & 9 deletions
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# BUILD_PR_LEVEL_22_3_TOOLS_SHARED_LAYER_CONSOLIDATION — Dedupe Decisions
2+
3+
## Decision Summary
4+
| Candidate | Decision | Preservation Method | Notes |
5+
| --- | --- | --- | --- |
6+
| Overlap between `tools/shared/*` and `tools/dev/shared/*` | no duplicate removal required | n/a | No files were present under `tools/dev/shared/` in this execution. |
7+
| Existing `tools/shared/*` files | keep as authoritative | in place | All shared utilities remain in `tools/shared/` as the final canonical location. |
8+
9+
## Guard Compliance
10+
- No unique content was deleted.
11+
- No merge/dedupe operation was needed because the legacy shared source had zero files.
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# BUILD_PR_LEVEL_22_3_TOOLS_SHARED_LAYER_CONSOLIDATION ? Inventory
2+
3+
## Summary
4+
- `tools/shared/` files inventoried: **98**
5+
- `tools/dev/shared/` files inventoried: **0**
6+
- `tools/dev/shared/` exists: **no**
7+
8+
## Classification Matrix
9+
| File | Source Layer | Classification | Rationale |
10+
| --- | --- | --- | --- |
11+
| `tools/shared/aiAuthoringAssistant.js` | `tools/shared` | keep | Already in authoritative shared layer. |
12+
| `tools/shared/assetMarketplace.js` | `tools/shared` | keep | Already in authoritative shared layer. |
13+
| `tools/shared/assetPipelineConverters.js` | `tools/shared` | keep | Already in authoritative shared layer. |
14+
| `tools/shared/assetPipelineFoundation.js` | `tools/shared` | keep | Already in authoritative shared layer. |
15+
| `tools/shared/assetPipelineValidationOutput.js` | `tools/shared` | keep | Already in authoritative shared layer. |
16+
| `tools/shared/assetUsageIntegration.js` | `tools/shared` | keep | Already in authoritative shared layer. |
17+
| `tools/shared/asteroidsPlatformDemo.js` | `tools/shared` | keep | Already in authoritative shared layer. |
18+
| `tools/shared/ciValidationPipeline.js` | `tools/shared` | keep | Already in authoritative shared layer. |
19+
| `tools/shared/cloudRuntime.js` | `tools/shared` | keep | Already in authoritative shared layer. |
20+
| `tools/shared/collaborationSystem.js` | `tools/shared` | keep | Already in authoritative shared layer. |
21+
| `tools/shared/contractVersioning.js` | `tools/shared` | keep | Already in authoritative shared layer. |
22+
| `tools/shared/debugInspectorData.js` | `tools/shared` | keep | Already in authoritative shared layer. |
23+
| `tools/shared/debugInspectorTools.css` | `tools/shared` | keep | Already in authoritative shared layer. |
24+
| `tools/shared/debugVisualizationLayer.js` | `tools/shared` | keep | Already in authoritative shared layer. |
25+
| `tools/shared/devConsoleDebugOverlay.js` | `tools/shared` | keep | Already in authoritative shared layer. |
26+
| `tools/shared/editor/EntityPlacementEditor.js` | `tools/shared` | keep | Already in authoritative shared layer. |
27+
| `tools/shared/editor/index.js` | `tools/shared` | keep | Already in authoritative shared layer. |
28+
| `tools/shared/editor/LevelEditor.js` | `tools/shared` | keep | Already in authoritative shared layer. |
29+
| `tools/shared/editor/TileMapEditor.js` | `tools/shared` | keep | Already in authoritative shared layer. |
30+
| `tools/shared/editor/TimelineEditor.js` | `tools/shared` | keep | Already in authoritative shared layer. |
31+
| `tools/shared/editorExperienceLayer.js` | `tools/shared` | keep | Already in authoritative shared layer. |
32+
| `tools/shared/eventCommandUtils.js` | `tools/shared` | keep | Already in authoritative shared layer. |
33+
| `tools/shared/gameplaySystemLayer.js` | `tools/shared` | keep | Already in authoritative shared layer. |
34+
| `tools/shared/gameTemplates.js` | `tools/shared` | keep | Already in authoritative shared layer. |
35+
| `tools/shared/hotReloadSystem.js` | `tools/shared` | keep | Already in authoritative shared layer. |
36+
| `tools/shared/livePreviewSyncChannel.js` | `tools/shared` | keep | Already in authoritative shared layer. |
37+
| `tools/shared/multiTargetExport.js` | `tools/shared` | keep | Already in authoritative shared layer. |
38+
| `tools/shared/performanceBenchmarks.js` | `tools/shared` | keep | Already in authoritative shared layer. |
39+
| `tools/shared/performanceProfiler.js` | `tools/shared` | keep | Already in authoritative shared layer. |
40+
| `tools/shared/pipeline/assetErrorHandling.js` | `tools/shared` | keep | Already in authoritative shared layer. |
41+
| `tools/shared/pipeline/AssetImportPipeline.js` | `tools/shared` | keep | Already in authoritative shared layer. |
42+
| `tools/shared/pipeline/assetManifestLoader.js` | `tools/shared` | keep | Already in authoritative shared layer. |
43+
| `tools/shared/pipeline/assetPipelineTooling.js` | `tools/shared` | keep | Already in authoritative shared layer. |
44+
| `tools/shared/pipeline/AudioPreprocessPipeline.js` | `tools/shared` | keep | Already in authoritative shared layer. |
45+
| `tools/shared/pipeline/BuildAssetManifestSystem.js` | `tools/shared` | keep | Already in authoritative shared layer. |
46+
| `tools/shared/pipeline/ContentMigrationSystem.js` | `tools/shared` | keep | Already in authoritative shared layer. |
47+
| `tools/shared/pipeline/ContentValidationPipeline.js` | `tools/shared` | keep | Already in authoritative shared layer. |
48+
| `tools/shared/pipeline/gameAssetManifestCoordinator.js` | `tools/shared` | keep | Already in authoritative shared layer. |
49+
| `tools/shared/pipeline/gameAssetManifestDiscovery.js` | `tools/shared` | keep | Already in authoritative shared layer. |
50+
| `tools/shared/pipeline/index.js` | `tools/shared` | keep | Already in authoritative shared layer. |
51+
| `tools/shared/pipeline/runtimeAssetBinding.js` | `tools/shared` | keep | Already in authoritative shared layer. |
52+
| `tools/shared/pipeline/runtimeAssetLookup.js` | `tools/shared` | keep | Already in authoritative shared layer. |
53+
| `tools/shared/pipeline/runtimeAssetValidation.js` | `tools/shared` | keep | Already in authoritative shared layer. |
54+
| `tools/shared/pipeline/TexturePreprocessPipeline.js` | `tools/shared` | keep | Already in authoritative shared layer. |
55+
| `tools/shared/platformShell.css` | `tools/shared` | keep | Already in authoritative shared layer. |
56+
| `tools/shared/platformShell.js` | `tools/shared` | keep | Already in authoritative shared layer. |
57+
| `tools/shared/platformValidationSuite.js` | `tools/shared` | keep | Already in authoritative shared layer. |
58+
| `tools/shared/pluginArchitecture.js` | `tools/shared` | keep | Already in authoritative shared layer. |
59+
| `tools/shared/preview/generate-list-previews.html` | `tools/shared` | keep | Already in authoritative shared layer. |
60+
| `tools/shared/preview/generate-previews.html` | `tools/shared` | keep | Already in authoritative shared layer. |
61+
| `tools/shared/preview/move-preview-svg-to-assets.ps1` | `tools/shared` | keep | Already in authoritative shared layer. |
62+
| `tools/shared/projectAssetRegistry.js` | `tools/shared` | keep | Already in authoritative shared layer. |
63+
| `tools/shared/projectAssetRemediation.js` | `tools/shared` | keep | Already in authoritative shared layer. |
64+
| `tools/shared/projectAssetValidation.js` | `tools/shared` | keep | Already in authoritative shared layer. |
65+
| `tools/shared/projectManifestContract.js` | `tools/shared` | keep | Already in authoritative shared layer. |
66+
| `tools/shared/projectPackaging.js` | `tools/shared` | keep | Already in authoritative shared layer. |
67+
| `tools/shared/projectSystem.js` | `tools/shared` | keep | Already in authoritative shared layer. |
68+
| `tools/shared/projectSystemAdapters.js` | `tools/shared` | keep | Already in authoritative shared layer. |
69+
| `tools/shared/projectSystemValueUtils.js` | `tools/shared` | keep | Already in authoritative shared layer. |
70+
| `tools/shared/projectToolIntegration.js` | `tools/shared` | keep | Already in authoritative shared layer. |
71+
| `tools/shared/projectVersioning.js` | `tools/shared` | keep | Already in authoritative shared layer. |
72+
| `tools/shared/publishingPipeline.js` | `tools/shared` | keep | Already in authoritative shared layer. |
73+
| `tools/shared/renderPipelineContract.js` | `tools/shared` | keep | Already in authoritative shared layer. |
74+
| `tools/shared/runtimeAssetLoader.js` | `tools/shared` | keep | Already in authoritative shared layer. |
75+
| `tools/shared/runtimeAssetSharedUtils.js` | `tools/shared` | keep | Already in authoritative shared layer. |
76+
| `tools/shared/runtimeAssetValidationUtils.js` | `tools/shared` | keep | Already in authoritative shared layer. |
77+
| `tools/shared/runtimeSceneLoaderHotReload.js` | `tools/shared` | keep | Already in authoritative shared layer. |
78+
| `tools/shared/runtimeStreaming.js` | `tools/shared` | keep | Already in authoritative shared layer. |
79+
| `tools/shared/samples/project-asset-registry-demo/assets/images/clouds-layer.svg` | `tools/shared` | keep | Already in authoritative shared layer. |
80+
| `tools/shared/samples/project-asset-registry-demo/assets/parallax/overworld-main.parallax.json` | `tools/shared` | keep | Already in authoritative shared layer. |
81+
| `tools/shared/samples/project-asset-registry-demo/assets/sprites/hero-idle.sprite.json` | `tools/shared` | keep | Already in authoritative shared layer. |
82+
| `tools/shared/samples/project-asset-registry-demo/assets/tilemaps/overworld-main.tilemap.json` | `tools/shared` | keep | Already in authoritative shared layer. |
83+
| `tools/shared/samples/project-asset-registry-demo/assets/tiles/overworld-main.png` | `tools/shared` | keep | Already in authoritative shared layer. |
84+
| `tools/shared/samples/project-asset-registry-demo/project.assets.json` | `tools/shared` | keep | Already in authoritative shared layer. |
85+
| `tools/shared/stringUtils.js` | `tools/shared` | keep | Already in authoritative shared layer. |
86+
| `tools/shared/toolBootContract.js` | `tools/shared` | keep | Already in authoritative shared layer. |
87+
| `tools/shared/toolHostManifest.js` | `tools/shared` | keep | Already in authoritative shared layer. |
88+
| `tools/shared/toolHostRuntime.js` | `tools/shared` | keep | Already in authoritative shared layer. |
89+
| `tools/shared/toolHostSharedContext.js` | `tools/shared` | keep | Already in authoritative shared layer. |
90+
| `tools/shared/tooling/AssetBrowser.js` | `tools/shared` | keep | Already in authoritative shared layer. |
91+
| `tools/shared/tooling/CapturePreviewRuntime.js` | `tools/shared` | keep | Already in authoritative shared layer. |
92+
| `tools/shared/tooling/DeveloperConsole.js` | `tools/shared` | keep | Already in authoritative shared layer. |
93+
| `tools/shared/tooling/index.js` | `tools/shared` | keep | Already in authoritative shared layer. |
94+
| `tools/shared/tooling/LiveTuningService.js` | `tools/shared` | keep | Already in authoritative shared layer. |
95+
| `tools/shared/tooling/PropertyEditor.js` | `tools/shared` | keep | Already in authoritative shared layer. |
96+
| `tools/shared/tooling/RuntimeInspector.js` | `tools/shared` | keep | Already in authoritative shared layer. |
97+
| `tools/shared/tooling/SceneGraphViewer.js` | `tools/shared` | keep | Already in authoritative shared layer. |
98+
| `tools/shared/toolSampleCatalog.js` | `tools/shared` | keep | Already in authoritative shared layer. |
99+
| `tools/shared/uiSafeUtils.js` | `tools/shared` | keep | Already in authoritative shared layer. |
100+
| `tools/shared/vector/vectorAssetBridge.js` | `tools/shared` | keep | Already in authoritative shared layer. |
101+
| `tools/shared/vector/vectorAssetContract.js` | `tools/shared` | keep | Already in authoritative shared layer. |
102+
| `tools/shared/vector/vectorGeometryMath.js` | `tools/shared` | keep | Already in authoritative shared layer. |
103+
| `tools/shared/vector/vectorRenderPrep.js` | `tools/shared` | keep | Already in authoritative shared layer. |
104+
| `tools/shared/vector/vectorSafeValueUtils.js` | `tools/shared` | keep | Already in authoritative shared layer. |
105+
| `tools/shared/vectorAssetSystem.js` | `tools/shared` | keep | Already in authoritative shared layer. |
106+
| `tools/shared/vectorGeometryRuntime.js` | `tools/shared` | keep | Already in authoritative shared layer. |
107+
| `tools/shared/vectorNativeTemplate.js` | `tools/shared` | keep | Already in authoritative shared layer. |
108+
| `tools/shared/vectorTemplateSampleGame.js` | `tools/shared` | keep | Already in authoritative shared layer. |
109+
| `(none)` | `tools/dev/shared` | move/merge/remove duplicate: n/a | No in-scope files found under legacy shared path. |
110+
111+
## Directory Notes
112+
- Legacy directory `tools/dev/shared` is absent in current repo state.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# BUILD_PR_LEVEL_22_3_TOOLS_SHARED_LAYER_CONSOLIDATION — Move Map
2+
3+
## Consolidation Target
4+
- Authoritative shared layer: `tools/shared/`
5+
- Legacy shared layer: `tools/dev/shared/`
6+
7+
## Move/Merge Actions
8+
| Source | Destination | Action | Status | Notes |
9+
| --- | --- | --- | --- | --- |
10+
| `tools/dev/shared/*` | `tools/shared/*` | move | not required | `tools/dev/shared` has no in-scope files in current repo state. |
11+
| `tools/shared/*` | `tools/shared/*` | keep | complete | Already authoritative; no relocation required. |
12+
13+
## Result
14+
- No file moves were required because there were no remaining files under `tools/dev/shared/`.
15+
- `tools/shared/` remains the sole authoritative shared tools layer.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# BUILD_PR_LEVEL_22_3_TOOLS_SHARED_LAYER_CONSOLIDATION — Reference Update Log
2+
3+
## Scope
4+
Checked for import/path references to `tools/dev/shared/` across live execution surfaces:
5+
- `tools/`
6+
- `tests/`
7+
- `scripts/`
8+
9+
## Scan Commands
10+
1. `rg "tools/dev/shared" -n tools tests scripts`
11+
2. `rg "\.\./dev/shared|/dev/shared|tools\\dev\\shared" -n tools tests scripts`
12+
13+
## Findings
14+
- No live references found in tools runtime, tests, or scripts.
15+
16+
## Updates Applied
17+
- No import/path reference edits were required because no live references existed.
18+
19+
## Documentation References
20+
- Historical planning docs under `docs/pr/` may still mention `tools/dev/shared` as prior-state context.
21+
- Those references were preserved for traceability and are not live runtime imports.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# BUILD_PR_LEVEL_22_3_TOOLS_SHARED_LAYER_CONSOLIDATION — Validation
2+
3+
## Validation Commands
4+
1. `rg "tools/dev/shared" -n tools tests scripts`
5+
2. `rg "\.\./dev/shared|/dev/shared|tools\\dev\\shared" -n tools tests scripts`
6+
3. `node --input-type=module -e "import { run as a } from './tests/tools/RequiredToolsBaseline.test.mjs'; import { run as b } from './tests/tools/ToolEntryLaunchContract.test.mjs'; import { run as c } from './tests/tools/ToolsIndexRegistrySmoke.test.mjs'; a(); b(); c(); console.log('PASS shared-layer consolidation tool checks');"`
7+
4. `node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --tools`
8+
9+
## Results
10+
- No live references to `tools/dev/shared` detected in `tools/`, `tests/`, or `scripts/`.
11+
- Targeted tools contract tests: **PASS** (`PASS shared-layer consolidation tool checks`).
12+
- Tools launch smoke: **PASS** (`PASS=17 FAIL=0 TOTAL=17`).
13+
14+
## Consolidation Status
15+
- `tools/shared/` remains the sole authoritative shared tools layer.
16+
- `tools/dev/shared/` has no in-scope files in this repo state.
17+
- No import rewrites were required because no live references remained.
18+
19+
## Guard Checks
20+
- No `start_of_day` changes made.
21+
- No broad redesign performed.
22+
- No unique content deleted.
23+
- Unrelated working-tree changes preserved.
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
This PR establishes the first real observability layer across tools and runtime,
2-
combining error tracking, performance monitoring, and logging into a validated system.
1+
This PR removes ambiguity in the tools shared layer by consolidating overlapping shared surfaces into a single authoritative location: tools/shared.

docs/dev/reports/launch_smoke_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Launch Smoke Report
22

3-
Generated: 2026-04-18T20:30:04.945Z
3+
Generated: 2026-04-18T21:09:48.892Z
44

55
Filters: games=false, samples=false, tools=true, sampleRange=all
66

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
- [ ] runtime errors captured and documented
2-
- [ ] logging outputs follow standard
3-
- [ ] performance timing outputs verified
4-
- [ ] observability matrix completed
5-
- [ ] validation report includes real examples
1+
- [ ] inventory completed for tools/shared and tools/dev/shared
2+
- [ ] move map completed
3+
- [ ] dedupe/merge decisions documented
4+
- [ ] imports and references updated
5+
- [ ] no live references to tools/dev/shared remain
6+
- [ ] affected tools load successfully
67
- [ ] no start_of_day changes
78
- [ ] unrelated working-tree changes preserved
8-
- [ ] roadmap updated only after validation
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# BUILD_PR_LEVEL_22_3_TOOLS_SHARED_LAYER_CONSOLIDATION
2+
3+
## Purpose
4+
Consolidate the tools shared layer so there is exactly one authoritative shared folder for tool-facing reusable logic.
5+
6+
## Problem
7+
The repo currently has overlapping shared surfaces under:
8+
- `tools/shared/`
9+
- `tools/dev/shared/`
10+
11+
This creates ambiguity, duplication risk, and unstable placement for future shared tool logic.
12+
13+
## Goal
14+
Normalize to a single authoritative shared layer:
15+
16+
- keep: `tools/shared/`
17+
- eliminate: `tools/dev/shared/`
18+
19+
## Scope
20+
Included:
21+
- inventory files in both shared locations
22+
- classify duplicates / overlaps / unique files
23+
- move or merge valid shared files from `tools/dev/shared/` into `tools/shared/`
24+
- delete obsolete duplicates only after content preservation
25+
- update imports and references
26+
- validate affected tools still resolve and load
27+
28+
Excluded:
29+
- no unrelated feature expansion
30+
- no broad tools redesign
31+
- no start_of_day changes
32+
- no roadmap rewrites
33+
34+
## Required Outputs
35+
- `docs/dev/reports/BUILD_PR_LEVEL_22_3_TOOLS_SHARED_LAYER_CONSOLIDATION_INVENTORY.md`
36+
- `docs/dev/reports/BUILD_PR_LEVEL_22_3_TOOLS_SHARED_LAYER_CONSOLIDATION_MOVE_MAP.md`
37+
- `docs/dev/reports/BUILD_PR_LEVEL_22_3_TOOLS_SHARED_LAYER_CONSOLIDATION_DEDUPE_DECISIONS.md`
38+
- `docs/dev/reports/BUILD_PR_LEVEL_22_3_TOOLS_SHARED_LAYER_CONSOLIDATION_REFERENCE_UPDATE_LOG.md`
39+
- `docs/dev/reports/BUILD_PR_LEVEL_22_3_TOOLS_SHARED_LAYER_CONSOLIDATION_VALIDATION.md`
40+
41+
## Required Work
42+
43+
### 1. Shared layer inventory
44+
Inventory:
45+
- all files under `tools/shared/`
46+
- all files under `tools/dev/shared/`
47+
48+
For each file classify as one of:
49+
- keep in `tools/shared`
50+
- move from `tools/dev/shared` to `tools/shared`
51+
- merge into existing `tools/shared` file
52+
- remove as obsolete duplicate
53+
54+
### 2. Consolidation rules
55+
- `tools/shared/` becomes the only shared location
56+
- no file may remain under `tools/dev/shared/` after consolidation unless explicitly justified in validation
57+
- if two files overlap, preserve the authoritative implementation before removing anything
58+
- record all merge/dedupe decisions
59+
60+
### 3. Reference updates
61+
Update:
62+
- imports
63+
- path references
64+
- documentation references
65+
- tool boot/runtime references
66+
67+
### 4. Validation
68+
Validate at minimum:
69+
- no broken imports from moved files
70+
- affected tools still load
71+
- no unresolved references to `tools/dev/shared/`
72+
- no start_of_day changes
73+
- unrelated working-tree changes preserved
74+
75+
## Acceptance
76+
- one authoritative shared tool layer exists
77+
- `tools/shared/` is authoritative
78+
- `tools/dev/shared/` is eliminated or reduced to zero in-scope files
79+
- imports/references updated
80+
- validation proves no breakage
81+
82+
## Roadmap Advancement
83+
This PR may advance only if fully executed and validated:
84+
- tools shared layer consolidation / normalization work tied to this lane
85+
- any directly related tools normalization item only if actually completed here
86+
87+
Do not advance unrelated tools roadmap items in this PR.

0 commit comments

Comments
 (0)