Skip to content

Commit cbc5dd5

Browse files
author
DavidQ
committed
Standardize reusable font assets under src assets fonts - PR_26133_023-font-assets-standardization
1 parent 1911a71 commit cbc5dd5

34 files changed

Lines changed: 158 additions & 97 deletions

docs/dev/reports/PR_11_92_findings.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Uploaded `Asteroids.zip` still contains engine-ownership violations:
55
- `AsteroidsGameScene.js` has `hasManifestBackgroundLayer(engine)` and draws a full-screen background rectangle in `render()`.
66
- `AsteroidsAttractAdapter.js` accepts `manifestBackgroundPresent` and draws a full-screen attract rectangle.
77
- `FullscreenBezelOverlay.js` remains as Asteroids-local bezel handling.
8-
- `game.manifest.json` has correct image entries but is missing `font.asteroids.vector-battle` for `assets/fonts/vector_battle.ttf`.
8+
- `game.manifest.json` has correct image entries but is missing `font.asteroids.vector-battle` for `src/assets/fonts/vector_battle/vector_battle.ttf`.
99

1010
Corrective direction:
1111

docs/dev/reports/PR_11_93_validation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Aligned `games/Asteroids/game.manifest.json` asset-browser shape from wrapped `a
1111
- `image.asteroids.bezel.path = /games/Asteroids/assets/images/bezel.png`
1212
- `image.asteroids.bezel.stretchOverride.uniformEdgeStretchPx = 10`
1313
- `image.asteroids.background.path = /games/Asteroids/assets/images/deluxe.png`
14-
- `font.asteroids.vector-battle.path = /games/Asteroids/assets/fonts/vector_battle.ttf`
14+
- `font.asteroids.vector-battle.path = /src/assets/fonts/vector_battle/vector_battle.ttf`
1515

1616
## Targeted Manifest Validation
1717

docs/dev/reports/PR_26126_093_asset_manager_v2_preview_path_resolution_notes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@
1414
## Validation
1515
- Playwright validates these resolved paths with `gameId: "Asteroids"`:
1616
- `/games/Asteroids/assets/audio/fire.wav`
17-
- `/games/Asteroids/assets/fonts/vector_battle.ttf`
17+
- `/src/assets/fonts/vector_battle/vector_battle.ttf`
1818
- `/games/Asteroids/assets/images/preview.png`

docs/dev/reports/PR_26126_098_asset_manager_v2_path_preservation_notes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
- Project-root path trimming still converts absolute repo paths to repo-relative asset paths.
88

99
## Examples
10-
- `HTML-JavaScript-Gaming/assets/fonts/vector_battle.ttf` becomes `assets/fonts/vector_battle.ttf`.
10+
- `HTML-JavaScript-Gaming/src/assets/fonts/vector_battle/vector_battle.ttf` becomes `src/assets/fonts/vector_battle/vector_battle.ttf`.
1111
- The generated ID for that font remains `assets.font.ui.vector-battle`.
1212
- `HTML-JavaScript-Gaming/assets/video/8 mile.mp4` becomes `assets/video/8 mile.mp4`.
1313
- The generated ID for that video remains `assets.video.cutscene.8-mile`.

docs/dev/reports/PR_26126_101_asset_manager_v2_missing_file_logging_notes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
- The warning includes the asset ID and original path.
1212

1313
## Example
14-
- `File availability warning: Missing referenced file for assets.font.ui.vector-battle: assets/fonts/vector_battle.ttf.`
14+
- `File availability warning: Missing referenced file for assets.font.ui.vector-battle: src/assets/fonts/vector_battle/vector_battle.ttf.`
1515

1616
## Validation
1717
- Playwright imports valid Asset Manager V2 JSON with missing referenced file paths.

docs/dev/reports/asteroids_zip_inspection.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Inspected uploaded `Asteroids.zip`.
1010

1111
## Manifest findings
1212

13-
- `assets/fonts/vector_battle.ttf` exists.
13+
- `src/assets/fonts/vector_battle/vector_battle.ttf` exists.
1414
- No `font.*` entry exists in `game.manifest.json` under `asset-browser.assets`.
1515
- `image.asteroids.background` points to `/games/Asteroids/assets/images/deluxe.png`.
1616
- `image.asteroids.bezel` currently points to `/games/Asteroids/assets/images/bezel.png`; the requested SSoT path is `/games/Asteroids/assets/images/bezel1.png`.

docs/dev/reports/object_vector_studio_starter_template_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@
1414

1515
## Boundary Checks
1616

17-
- `src/shared/font/0xProtoNerdFont` was not deleted, moved, or modified.
17+
- Superseded by PR_26133_023: Nerd Font assets now live under `src/assets/fonts/0xProtoNerdFont`.
1818
- No sample JSON files were changed.
Lines changed: 41 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,41 @@
1-
# PR_26133_022 Playwright V8 Coverage Report
2-
3-
Coverage source: `docs/dev/reports/playwright_v8_coverage_report.txt`, refreshed by the final `npm run test:workspace-v2` run.
4-
5-
## Summary
6-
7-
- Coverage is advisory only; no thresholds are enforced.
8-
- Workspace Manager V2 entry point: `(91%) Workspace Manager V2 - exercised 10 runtime JS files`.
9-
- Changed Object Vector Studio V2 runtime JS coverage from the generated report:
10-
- `(83%) tools/object-vector-studio-v2/js/bootstrap.js - executed lines 107/107; executed functions 5/6`
11-
- `(93%) tools/object-vector-studio-v2/js/ToolStarterApp.js - executed lines 4096/4096; executed functions 443/477`
12-
- Changed JS files considered by the generated report:
13-
- `tools/object-vector-studio-v2/js/bootstrap.js`: covered by browser V8 coverage.
14-
- `tools/object-vector-studio-v2/js/ToolStarterApp.js`: covered by browser V8 coverage.
15-
- `tools/object-vector-studio-v2/playwright.config.mjs`: not collected as browser runtime coverage.
16-
- `tests/playwright/tools/ObjectVectorStudioV2FirstClassToolStarter.spec.mjs`: not collected as browser runtime coverage.
17-
- `tests/playwright/tools/WorkspaceManagerV2.spec.mjs`: not collected as browser runtime coverage.
18-
19-
## Validation Context
20-
21-
- Main command: `npm run test:workspace-v2`.
22-
- Result: 48 passed.
23-
- Focused Object Vector Studio V2 scenarios covered the Nerd Font icon mapping cleanup, tighter accordion spacing, Object Geometry header layout, Object Transform summary placement, palette same-line controls, polygon Add Point behavior, preview coordinate/grid behavior, mouse editing, animation states, and asset-library scenarios.
24-
- The required moved spec also passed through `npx playwright test --config=tools/object-vector-studio-v2/playwright.config.mjs --workers=1 --reporter=list`.
1+
# PR_26133_023 Playwright V8 Coverage Report
2+
3+
Task: PR_26133_023-font-assets-standardization
4+
Date: 2026-05-13
5+
6+
## Result
7+
8+
PASS - Coverage reporting was generated during `npm run test:workspace-v2`.
9+
10+
- Test result: 48 passed.
11+
- Coverage source: Playwright/Chromium built-in V8 coverage.
12+
- Thresholds: none enforced.
13+
- Coverage is advisory for this PR.
14+
15+
## Exercised Tool Entry Points
16+
17+
- Workspace Manager V2: 91%, 10 runtime JS files exercised.
18+
- Asset Manager V2: 74%, 13 runtime JS files exercised.
19+
- Preview Generator V2: 82%, 19 runtime JS files exercised.
20+
- Palette Manager V2: 62%, 12 runtime JS files exercised.
21+
- Tool Template V2: not exercised by this Playwright run.
22+
- Workspace Manager: not exercised by this Playwright run.
23+
24+
## Changed Runtime JS Coverage Notes
25+
26+
PR_26133_023 is a font asset standardization change. The intended runtime surface is CSS, manifest path data, font files, and Playwright validation updates; no Object Vector Studio V2 runtime JavaScript implementation was changed by this PR.
27+
28+
The generated V8 coverage text still lists Object Vector Studio V2 JavaScript from the current HEAD comparison baseline:
29+
30+
- `tools/object-vector-studio-v2/js/bootstrap.js`: 83% function coverage, 107/107 reported lines executed.
31+
- `tools/object-vector-studio-v2/js/ToolStarterApp.js`: 93% function coverage, 4096/4096 reported lines executed.
32+
- `tools/object-vector-studio-v2/playwright.config.mjs`: advisory warning, not collected by browser V8 coverage.
33+
34+
## PR-Specific Coverage/Validation Relevance
35+
36+
- Object Vector Studio V2 Nerd Font loading is validated through Workspace V2 Playwright font fetch and UI flow coverage.
37+
- Asteroids Vector Battle font loading is validated through Workspace V2 Playwright CSS/font fetch checks plus `document.fonts.load()` and `document.fonts.check()`.
38+
- Legacy font path behavior is validated by direct path scans and Asteroids generated URL 404 coverage.
39+
- No additional V8 threshold was introduced for this asset-path-only PR.
40+
41+
Generated source report: `docs/dev/reports/playwright_v8_coverage_report.txt`.
Lines changed: 36 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,37 @@
1-
# PR_26133_022 Workspace V2 Results
2-
3-
## Command Results
4-
5-
- `node --check tools/object-vector-studio-v2/js/ToolStarterApp.js`: passed.
6-
- `node --check tools/object-vector-studio-v2/js/bootstrap.js`: passed.
7-
- `node --check tests/playwright/tools/ObjectVectorStudioV2FirstClassToolStarter.spec.mjs`: passed.
8-
- `node --check tests/playwright/tools/WorkspaceManagerV2.spec.mjs`: passed.
9-
- `npx playwright test --config=tools/object-vector-studio-v2/playwright.config.mjs --workers=1 --reporter=list`: 4 passed.
10-
- `npm run test:workspace-v2`: 48 passed.
11-
- `git diff --check`: passed with LF-to-CRLF working-copy warnings only.
12-
13-
## Targeted Object Vector Studio V2 Verification
14-
15-
- Confirmed old pre-Nerd Font CSS icon drawings were removed from active Object Vector Studio V2 icon classes while `src/shared/font/0xProtoNerdFont` remained untouched.
16-
- Confirmed Grid Snap uses `nf-md-vector_point`; Select, Triangle, and Line use the requested icon offsets/sizing adjustments.
17-
- Confirmed Object Vector Studio V2 accordion spacing is tighter through reduced panel gap, header height/padding, content padding, and status header height.
18-
- Confirmed the moved Playwright spec runs from `tests/playwright/tools/ObjectVectorStudioV2FirstClassToolStarter.spec.mjs` through the updated tool config.
19-
- Confirmed the unused starter template was moved to `docs/dev/archive/object-vector-studio-v2/starter-project-template` and documented in `object_vector_studio_starter_template_report.md`.
20-
- Confirmed Object Transform no longer renders `Selected Shape: <id>` and places the live transform summary below the transform action buttons.
21-
- Confirmed Add Tag icon sizing matches Add Object, and polygon `Add Side` is renamed to `Add Point`.
22-
- Confirmed Palette Paint, Stroke, and Width controls render on one line with a compact Width input.
23-
- Confirmed Object Geometry header renders as `Object Geometry (type)` on the first line and the selected shape id on the next line.
24-
- Confirmed Object Vector Studio V2 targeted browser scenarios reported no console/page errors.
25-
26-
## Scope Checks
27-
28-
- Existing Object Vector Studio V2 contracts were preserved.
1+
# PR_26133_023 Workspace V2 Validation
2+
3+
Task: PR_26133_023-font-assets-standardization
4+
Date: 2026-05-13
5+
6+
## Result
7+
8+
PASS - `npm run test:workspace-v2`
9+
10+
- 48 Playwright tests passed.
11+
- Object Vector Studio V2, Workspace Manager V2, Asset Manager V2, Asteroids, and related workspace flows completed with no reported runtime console errors.
2912
- No sample JSON files were changed.
30-
- No unrelated tool/runtime files were changed.
13+
14+
## Targeted Checks
15+
16+
- PASS - Nerd Font assets were moved into the shared font asset tree at `src/assets/fonts/0xProtoNerdFont`.
17+
- PASS - Object Vector Studio V2 CSS now loads `0xProtoNerdFontMono-Regular.ttf` from the shared font asset tree.
18+
- PASS - Workspace V2 Playwright coverage includes a direct Nerd Font fetch check at the new URL and verifies the response succeeds.
19+
- PASS - `vector_battle.ttf` was moved into the shared font asset tree at `src/assets/fonts/vector_battle/vector_battle.ttf`.
20+
- PASS - Asteroids manifest data now points at the shared `vector_battle.ttf` path.
21+
- PASS - Shared Vector Battle CSS now loads the font from `/src/assets/fonts/vector_battle/vector_battle.ttf`.
22+
- PASS - Workspace V2 Playwright validation fetches the Asteroids font CSS and font file, waits for `VectorBattle` to load, and confirms the legacy generated asset URL 404s.
23+
- PASS - Direct legacy font path scans returned no active matches outside generated PR report artifacts.
24+
25+
## Additional Validation
26+
27+
- PASS - `node --check tests/playwright/tools/WorkspaceManagerV2.spec.mjs`
28+
- PASS - `node --check tests/playwright/tools/AssetManagerV2.spec.mjs`
29+
- PASS - `node --check tools/object-vector-studio-v2/js/ToolStarterApp.js`
30+
- PASS - `node --check tools/object-vector-studio-v2/js/bootstrap.js`
31+
- PASS - `node --check games/Asteroids/entities/Asteroid.js`
32+
- PASS - `node -e "JSON.parse(require('fs').readFileSync('games/Asteroids/game.manifest.json','utf8'))"`
33+
- PASS - `git diff --check` completed with line-ending warnings only and no whitespace errors.
34+
35+
## Notes
36+
37+
The validation run generated temporary Asteroids file noise during test execution; those generated edits were cleaned before final reporting. The final Asteroids manifest diff is limited to the shared Vector Battle font path change.

docs/dev/reports/pr_11_90_validation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Applied `docs/pr/PR_11_90_ASTEROIDS_ENGINE_OWNERSHIP_AND_FONT_MANIFEST.md` using
1717
- `image.asteroids.background.path` set to `/games/Asteroids/assets/images/deluxe.png`
1818
- `image.asteroids.bezel.stretchOverride.uniformEdgeStretchPx` remains `10`
1919
- Added `font.asteroids.vector-battle` under `asset-browser.assets.media`:
20-
- `/games/Asteroids/assets/fonts/vector_battle.ttf`
20+
- `/src/assets/fonts/vector_battle/vector_battle.ttf`
2121
- Removed remaining game-level frame background ownership:
2222
- Removed full-canvas background draw from `AsteroidsGameScene.render()`.
2323
- Removed game-level full-frame attract dim ownership:

0 commit comments

Comments
 (0)