forgecraft-mcp 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +525 -525
- package/dist/artifacts/commit-hooks.d.ts +1 -1
- package/dist/artifacts/commit-hooks.d.ts.map +1 -1
- package/dist/artifacts/commit-hooks.js +2 -0
- package/dist/artifacts/commit-hooks.js.map +1 -1
- package/dist/cli/commands.d.ts +35 -1
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +109 -2
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +51 -44
- package/dist/cli/help.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +10 -1
- package/dist/cli.js.map +1 -1
- package/dist/registry/renderer-skeletons.js +92 -92
- package/dist/shared/gs-score-logger.js +6 -6
- package/dist/shared/result-utils.d.ts +27 -0
- package/dist/shared/result-utils.d.ts.map +1 -0
- package/dist/shared/result-utils.js +41 -0
- package/dist/shared/result-utils.js.map +1 -0
- package/dist/tools/add-module.js +123 -123
- package/dist/tools/advice-registry.js +18 -18
- package/dist/tools/check-cascade-report.js +64 -64
- package/dist/tools/close-cycle-helpers.d.ts +21 -2
- package/dist/tools/close-cycle-helpers.d.ts.map +1 -1
- package/dist/tools/close-cycle-helpers.js +66 -10
- package/dist/tools/close-cycle-helpers.js.map +1 -1
- package/dist/tools/close-cycle.d.ts +2 -2
- package/dist/tools/close-cycle.d.ts.map +1 -1
- package/dist/tools/close-cycle.js +1 -1
- package/dist/tools/close-cycle.js.map +1 -1
- package/dist/tools/configure-mcp.d.ts +3 -0
- package/dist/tools/configure-mcp.d.ts.map +1 -1
- package/dist/tools/configure-mcp.js +10 -0
- package/dist/tools/configure-mcp.js.map +1 -1
- package/dist/tools/consolidate-status.d.ts +81 -0
- package/dist/tools/consolidate-status.d.ts.map +1 -0
- package/dist/tools/consolidate-status.js +251 -0
- package/dist/tools/consolidate-status.js.map +1 -0
- package/dist/tools/forgecraft-dispatch.d.ts.map +1 -1
- package/dist/tools/forgecraft-dispatch.js +13 -0
- package/dist/tools/forgecraft-dispatch.js.map +1 -1
- package/dist/tools/forgecraft-router.d.ts +8 -0
- package/dist/tools/forgecraft-router.d.ts.map +1 -1
- package/dist/tools/forgecraft-router.js +21 -1
- package/dist/tools/forgecraft-router.js.map +1 -1
- package/dist/tools/forgecraft-schema-params.d.ts +13 -4
- package/dist/tools/forgecraft-schema-params.d.ts.map +1 -1
- package/dist/tools/forgecraft-schema-params.js +21 -0
- package/dist/tools/forgecraft-schema-params.js.map +1 -1
- package/dist/tools/forgecraft-schema.d.ts +14 -5
- package/dist/tools/forgecraft-schema.d.ts.map +1 -1
- package/dist/tools/forgecraft-schema.js +3 -0
- package/dist/tools/forgecraft-schema.js.map +1 -1
- package/dist/tools/gate-violations.d.ts +59 -0
- package/dist/tools/gate-violations.d.ts.map +1 -0
- package/dist/tools/gate-violations.js +152 -0
- package/dist/tools/gate-violations.js.map +1 -0
- package/dist/tools/generate-session-prompt.d.ts +3 -3
- package/dist/tools/generate-session-prompt.d.ts.map +1 -1
- package/dist/tools/generate-session-prompt.js +57 -15
- package/dist/tools/generate-session-prompt.js.map +1 -1
- package/dist/tools/refresh-output.js +14 -14
- package/dist/tools/roadmap-builder.d.ts.map +1 -1
- package/dist/tools/roadmap-builder.js +19 -9
- package/dist/tools/roadmap-builder.js.map +1 -1
- package/dist/tools/scaffold-spec-stubs.js +115 -115
- package/dist/tools/scaffold-templates.js +62 -62
- package/dist/tools/session-prompt-builders.d.ts.map +1 -1
- package/dist/tools/session-prompt-builders.js +34 -10
- package/dist/tools/session-prompt-builders.js.map +1 -1
- package/dist/tools/setup-artifact-writers.d.ts +30 -0
- package/dist/tools/setup-artifact-writers.d.ts.map +1 -1
- package/dist/tools/setup-artifact-writers.js +120 -8
- package/dist/tools/setup-artifact-writers.js.map +1 -1
- package/dist/tools/setup-phase1.d.ts +3 -0
- package/dist/tools/setup-phase1.d.ts.map +1 -1
- package/dist/tools/setup-phase1.js +79 -35
- package/dist/tools/setup-phase1.js.map +1 -1
- package/dist/tools/setup-phase2.d.ts +2 -0
- package/dist/tools/setup-phase2.d.ts.map +1 -1
- package/dist/tools/setup-phase2.js +10 -1
- package/dist/tools/setup-phase2.js.map +1 -1
- package/dist/tools/setup-project.d.ts +18 -0
- package/dist/tools/setup-project.d.ts.map +1 -1
- package/dist/tools/setup-project.js +77 -1
- package/dist/tools/setup-project.js.map +1 -1
- package/dist/tools/spec-parser-tags.d.ts +9 -0
- package/dist/tools/spec-parser-tags.d.ts.map +1 -1
- package/dist/tools/spec-parser-tags.js +92 -0
- package/dist/tools/spec-parser-tags.js.map +1 -1
- package/package.json +89 -86
- package/templates/analytics/instructions.yaml +37 -37
- package/templates/analytics/mcp-servers.yaml +11 -11
- package/templates/analytics/structure.yaml +25 -25
- package/templates/api/instructions.yaml +231 -231
- package/templates/api/mcp-servers.yaml +22 -13
- package/templates/api/nfr.yaml +23 -23
- package/templates/api/review.yaml +103 -103
- package/templates/api/structure.yaml +34 -34
- package/templates/api/verification.yaml +132 -132
- package/templates/cli/instructions.yaml +31 -31
- package/templates/cli/mcp-servers.yaml +11 -11
- package/templates/cli/review.yaml +53 -53
- package/templates/cli/structure.yaml +16 -16
- package/templates/data-lineage/instructions.yaml +28 -28
- package/templates/data-lineage/mcp-servers.yaml +22 -22
- package/templates/data-pipeline/instructions.yaml +84 -84
- package/templates/data-pipeline/mcp-servers.yaml +13 -13
- package/templates/data-pipeline/nfr.yaml +39 -39
- package/templates/data-pipeline/structure.yaml +23 -23
- package/templates/fintech/hooks.yaml +55 -55
- package/templates/fintech/instructions.yaml +112 -112
- package/templates/fintech/mcp-servers.yaml +13 -13
- package/templates/fintech/nfr.yaml +46 -46
- package/templates/fintech/playbook.yaml +210 -210
- package/templates/fintech/verification.yaml +239 -239
- package/templates/game/instructions.yaml +289 -289
- package/templates/game/mcp-servers.yaml +38 -38
- package/templates/game/nfr.yaml +64 -64
- package/templates/game/playbook.yaml +214 -214
- package/templates/game/review.yaml +97 -97
- package/templates/game/structure.yaml +67 -67
- package/templates/game/verification.yaml +174 -174
- package/templates/healthcare/instructions.yaml +42 -42
- package/templates/healthcare/mcp-servers.yaml +13 -13
- package/templates/healthcare/nfr.yaml +47 -47
- package/templates/hipaa/instructions.yaml +41 -41
- package/templates/hipaa/mcp-servers.yaml +13 -13
- package/templates/infra/instructions.yaml +104 -104
- package/templates/infra/mcp-servers.yaml +20 -20
- package/templates/infra/nfr.yaml +46 -46
- package/templates/infra/review.yaml +65 -65
- package/templates/infra/structure.yaml +25 -25
- package/templates/library/instructions.yaml +36 -36
- package/templates/library/mcp-servers.yaml +20 -20
- package/templates/library/review.yaml +56 -56
- package/templates/library/structure.yaml +19 -19
- package/templates/medallion-architecture/instructions.yaml +41 -41
- package/templates/medallion-architecture/mcp-servers.yaml +22 -22
- package/templates/ml/instructions.yaml +85 -85
- package/templates/ml/mcp-servers.yaml +11 -11
- package/templates/ml/nfr.yaml +39 -39
- package/templates/ml/structure.yaml +25 -25
- package/templates/ml/verification.yaml +156 -156
- package/templates/mobile/instructions.yaml +44 -44
- package/templates/mobile/mcp-servers.yaml +11 -11
- package/templates/mobile/nfr.yaml +49 -49
- package/templates/mobile/structure.yaml +27 -27
- package/templates/mobile/verification.yaml +121 -121
- package/templates/observability-xray/instructions.yaml +40 -40
- package/templates/observability-xray/mcp-servers.yaml +15 -15
- package/templates/realtime/instructions.yaml +42 -42
- package/templates/realtime/mcp-servers.yaml +13 -13
- package/templates/soc2/instructions.yaml +41 -41
- package/templates/soc2/mcp-servers.yaml +24 -24
- package/templates/social/instructions.yaml +43 -43
- package/templates/social/mcp-servers.yaml +24 -24
- package/templates/state-machine/instructions.yaml +42 -42
- package/templates/state-machine/mcp-servers.yaml +11 -11
- package/templates/tools-registry.yaml +164 -164
- package/templates/universal/hooks.yaml +723 -531
- package/templates/universal/instructions.yaml +1692 -1692
- package/templates/universal/mcp-servers.yaml +50 -50
- package/templates/universal/nfr.yaml +197 -197
- package/templates/universal/reference.yaml +326 -326
- package/templates/universal/review.yaml +204 -204
- package/templates/universal/skills.yaml +262 -262
- package/templates/universal/structure.yaml +67 -67
- package/templates/universal/verification.yaml +416 -416
- package/templates/web-react/hooks.yaml +44 -44
- package/templates/web-react/instructions.yaml +207 -207
- package/templates/web-react/mcp-servers.yaml +20 -20
- package/templates/web-react/nfr.yaml +27 -27
- package/templates/web-react/review.yaml +94 -94
- package/templates/web-react/structure.yaml +46 -46
- package/templates/web-react/verification.yaml +126 -126
- package/templates/web-static/instructions.yaml +115 -115
- package/templates/web-static/mcp-servers.yaml +20 -20
- package/templates/web3/instructions.yaml +44 -44
- package/templates/web3/mcp-servers.yaml +11 -11
- package/templates/web3/verification.yaml +159 -159
- package/templates/zero-trust/instructions.yaml +41 -41
- package/templates/zero-trust/mcp-servers.yaml +15 -15
|
@@ -1,97 +1,97 @@
|
|
|
1
|
-
tag: GAME
|
|
2
|
-
section: review
|
|
3
|
-
blocks:
|
|
4
|
-
- id: game-architecture-review
|
|
5
|
-
tier: recommended
|
|
6
|
-
dimension: architecture
|
|
7
|
-
title: "Game Architecture Review"
|
|
8
|
-
description: |
|
|
9
|
-
Evaluate scene structure, ECS separation, and dependency flow.
|
|
10
|
-
checklist:
|
|
11
|
-
- id: scene-responsibility
|
|
12
|
-
description: "Each Scene has a single responsibility. No god-scenes mixing physics, AI, UI, and audio logic."
|
|
13
|
-
severity: critical
|
|
14
|
-
- id: ecs-separation
|
|
15
|
-
description: "Entities are IDs, components are plain data, systems have no state. No logic in component structs."
|
|
16
|
-
severity: important
|
|
17
|
-
- id: no-scene-coupling
|
|
18
|
-
description: "Scenes communicate via EventEmitter or registry only. No direct scene-to-scene instance references."
|
|
19
|
-
severity: critical
|
|
20
|
-
- id: dependency-injection
|
|
21
|
-
description: "Services (audio manager, save system, analytics) injected via game registry. No module-level singletons."
|
|
22
|
-
severity: important
|
|
23
|
-
- id: worker-offload
|
|
24
|
-
description: "CPU-heavy tasks (pathfinding, procedural gen, physics sim) run in Web Workers, not the main thread."
|
|
25
|
-
severity: nice-to-have
|
|
26
|
-
|
|
27
|
-
- id: game-code-quality-review
|
|
28
|
-
tier: recommended
|
|
29
|
-
dimension: code-quality
|
|
30
|
-
title: "Game Code Quality Review"
|
|
31
|
-
description: |
|
|
32
|
-
Evaluate update loop cleanliness, resource handling, and input abstraction.
|
|
33
|
-
checklist:
|
|
34
|
-
- id: no-alloc-in-hot-path
|
|
35
|
-
description: "Zero object allocations in the update() hot path. Object pools used for bullets, particles, tweens."
|
|
36
|
-
severity: critical
|
|
37
|
-
- id: resource-disposal
|
|
38
|
-
description: "All GPU resources (textures, geometries, materials, render targets) explicitly disposed on scene exit."
|
|
39
|
-
severity: critical
|
|
40
|
-
- id: input-abstraction
|
|
41
|
-
description: "Physical inputs mapped to logical actions via a config-driven action map. No raw key codes in game logic."
|
|
42
|
-
severity: important
|
|
43
|
-
- id: asset-manifest
|
|
44
|
-
description: "All asset paths and keys defined in a central manifest (assets.ts). No inline path strings scattered across scenes."
|
|
45
|
-
severity: important
|
|
46
|
-
- id: magic-numbers
|
|
47
|
-
description: "No magic numbers in game logic. Physics constants, speeds, and thresholds are named constants in config.ts."
|
|
48
|
-
severity: important
|
|
49
|
-
- id: fixed-timestep
|
|
50
|
-
description: "Game logic uses a fixed timestep. Rendering interpolates. No deltaTime passed directly into physics equations."
|
|
51
|
-
severity: critical
|
|
52
|
-
|
|
53
|
-
- id: game-performance-review
|
|
54
|
-
tier: recommended
|
|
55
|
-
dimension: performance
|
|
56
|
-
title: "Game Performance Review"
|
|
57
|
-
description: |
|
|
58
|
-
Evaluate draw-call count, GPU memory, and frame-time budget.
|
|
59
|
-
checklist:
|
|
60
|
-
- id: draw-call-budget
|
|
61
|
-
description: "Draw calls per frame within budget: < 50 for mobile web, < 200 for desktop. Verified via renderer stats overlay."
|
|
62
|
-
severity: critical
|
|
63
|
-
- id: atlas-usage
|
|
64
|
-
description: "Sprites use texture atlases. No individual per-sprite texture binds in hot rendering paths."
|
|
65
|
-
severity: critical
|
|
66
|
-
- id: gpu-resource-leaks
|
|
67
|
-
description: "Scene transition profile shows GPU memory returning to baseline after 3+ transitions (no accumulating leaks)."
|
|
68
|
-
severity: critical
|
|
69
|
-
- id: frame-budget-profiled
|
|
70
|
-
description: "JS CPU time < 6ms per frame on target hardware (profiled with Chrome DevTools, not emulation)."
|
|
71
|
-
severity: important
|
|
72
|
-
- id: mobile-tested
|
|
73
|
-
description: "Tested on real mid-range Android device (not DevTools emulation). Frame rate meets mobile NFR target."
|
|
74
|
-
severity: important
|
|
75
|
-
- id: instanced-rendering
|
|
76
|
-
description: "Repeated geometry (tiles, crowds, bullets) uses InstancedMesh (Three.js) or ParticleContainer (PixiJS)."
|
|
77
|
-
severity: important
|
|
78
|
-
|
|
79
|
-
- id: game-test-review
|
|
80
|
-
tier: recommended
|
|
81
|
-
dimension: tests
|
|
82
|
-
title: "Game Test Review"
|
|
83
|
-
description: |
|
|
84
|
-
Evaluate test coverage for deterministic systems and scene lifecycle.
|
|
85
|
-
checklist:
|
|
86
|
-
- id: system-unit-tests
|
|
87
|
-
description: "Game systems (movement, collision, AI state machine) have unit tests that run without a canvas or DOM."
|
|
88
|
-
severity: critical
|
|
89
|
-
- id: fixed-timestep-determinism
|
|
90
|
-
description: "Determinism test: same input sequence produces identical game state across 10 simulated minutes."
|
|
91
|
-
severity: important
|
|
92
|
-
- id: scene-lifecycle-tests
|
|
93
|
-
description: "Integration tests cover scene create → update → destroy lifecycle, verifying no resource leaks."
|
|
94
|
-
severity: important
|
|
95
|
-
- id: input-replay-tests
|
|
96
|
-
description: "Critical game scenarios (player death, level completion) covered by recorded input replay tests."
|
|
97
|
-
severity: nice-to-have
|
|
1
|
+
tag: GAME
|
|
2
|
+
section: review
|
|
3
|
+
blocks:
|
|
4
|
+
- id: game-architecture-review
|
|
5
|
+
tier: recommended
|
|
6
|
+
dimension: architecture
|
|
7
|
+
title: "Game Architecture Review"
|
|
8
|
+
description: |
|
|
9
|
+
Evaluate scene structure, ECS separation, and dependency flow.
|
|
10
|
+
checklist:
|
|
11
|
+
- id: scene-responsibility
|
|
12
|
+
description: "Each Scene has a single responsibility. No god-scenes mixing physics, AI, UI, and audio logic."
|
|
13
|
+
severity: critical
|
|
14
|
+
- id: ecs-separation
|
|
15
|
+
description: "Entities are IDs, components are plain data, systems have no state. No logic in component structs."
|
|
16
|
+
severity: important
|
|
17
|
+
- id: no-scene-coupling
|
|
18
|
+
description: "Scenes communicate via EventEmitter or registry only. No direct scene-to-scene instance references."
|
|
19
|
+
severity: critical
|
|
20
|
+
- id: dependency-injection
|
|
21
|
+
description: "Services (audio manager, save system, analytics) injected via game registry. No module-level singletons."
|
|
22
|
+
severity: important
|
|
23
|
+
- id: worker-offload
|
|
24
|
+
description: "CPU-heavy tasks (pathfinding, procedural gen, physics sim) run in Web Workers, not the main thread."
|
|
25
|
+
severity: nice-to-have
|
|
26
|
+
|
|
27
|
+
- id: game-code-quality-review
|
|
28
|
+
tier: recommended
|
|
29
|
+
dimension: code-quality
|
|
30
|
+
title: "Game Code Quality Review"
|
|
31
|
+
description: |
|
|
32
|
+
Evaluate update loop cleanliness, resource handling, and input abstraction.
|
|
33
|
+
checklist:
|
|
34
|
+
- id: no-alloc-in-hot-path
|
|
35
|
+
description: "Zero object allocations in the update() hot path. Object pools used for bullets, particles, tweens."
|
|
36
|
+
severity: critical
|
|
37
|
+
- id: resource-disposal
|
|
38
|
+
description: "All GPU resources (textures, geometries, materials, render targets) explicitly disposed on scene exit."
|
|
39
|
+
severity: critical
|
|
40
|
+
- id: input-abstraction
|
|
41
|
+
description: "Physical inputs mapped to logical actions via a config-driven action map. No raw key codes in game logic."
|
|
42
|
+
severity: important
|
|
43
|
+
- id: asset-manifest
|
|
44
|
+
description: "All asset paths and keys defined in a central manifest (assets.ts). No inline path strings scattered across scenes."
|
|
45
|
+
severity: important
|
|
46
|
+
- id: magic-numbers
|
|
47
|
+
description: "No magic numbers in game logic. Physics constants, speeds, and thresholds are named constants in config.ts."
|
|
48
|
+
severity: important
|
|
49
|
+
- id: fixed-timestep
|
|
50
|
+
description: "Game logic uses a fixed timestep. Rendering interpolates. No deltaTime passed directly into physics equations."
|
|
51
|
+
severity: critical
|
|
52
|
+
|
|
53
|
+
- id: game-performance-review
|
|
54
|
+
tier: recommended
|
|
55
|
+
dimension: performance
|
|
56
|
+
title: "Game Performance Review"
|
|
57
|
+
description: |
|
|
58
|
+
Evaluate draw-call count, GPU memory, and frame-time budget.
|
|
59
|
+
checklist:
|
|
60
|
+
- id: draw-call-budget
|
|
61
|
+
description: "Draw calls per frame within budget: < 50 for mobile web, < 200 for desktop. Verified via renderer stats overlay."
|
|
62
|
+
severity: critical
|
|
63
|
+
- id: atlas-usage
|
|
64
|
+
description: "Sprites use texture atlases. No individual per-sprite texture binds in hot rendering paths."
|
|
65
|
+
severity: critical
|
|
66
|
+
- id: gpu-resource-leaks
|
|
67
|
+
description: "Scene transition profile shows GPU memory returning to baseline after 3+ transitions (no accumulating leaks)."
|
|
68
|
+
severity: critical
|
|
69
|
+
- id: frame-budget-profiled
|
|
70
|
+
description: "JS CPU time < 6ms per frame on target hardware (profiled with Chrome DevTools, not emulation)."
|
|
71
|
+
severity: important
|
|
72
|
+
- id: mobile-tested
|
|
73
|
+
description: "Tested on real mid-range Android device (not DevTools emulation). Frame rate meets mobile NFR target."
|
|
74
|
+
severity: important
|
|
75
|
+
- id: instanced-rendering
|
|
76
|
+
description: "Repeated geometry (tiles, crowds, bullets) uses InstancedMesh (Three.js) or ParticleContainer (PixiJS)."
|
|
77
|
+
severity: important
|
|
78
|
+
|
|
79
|
+
- id: game-test-review
|
|
80
|
+
tier: recommended
|
|
81
|
+
dimension: tests
|
|
82
|
+
title: "Game Test Review"
|
|
83
|
+
description: |
|
|
84
|
+
Evaluate test coverage for deterministic systems and scene lifecycle.
|
|
85
|
+
checklist:
|
|
86
|
+
- id: system-unit-tests
|
|
87
|
+
description: "Game systems (movement, collision, AI state machine) have unit tests that run without a canvas or DOM."
|
|
88
|
+
severity: critical
|
|
89
|
+
- id: fixed-timestep-determinism
|
|
90
|
+
description: "Determinism test: same input sequence produces identical game state across 10 simulated minutes."
|
|
91
|
+
severity: important
|
|
92
|
+
- id: scene-lifecycle-tests
|
|
93
|
+
description: "Integration tests cover scene create → update → destroy lifecycle, verifying no resource leaks."
|
|
94
|
+
severity: important
|
|
95
|
+
- id: input-replay-tests
|
|
96
|
+
description: "Critical game scenarios (player death, level completion) covered by recorded input replay tests."
|
|
97
|
+
severity: nice-to-have
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
tag: GAME
|
|
2
|
-
section: structure
|
|
3
|
-
language: typescript
|
|
4
|
-
entries:
|
|
5
|
-
- path: src/scenes
|
|
6
|
-
type: directory
|
|
7
|
-
description: "One file per game scene (Boot, Preload, Menu, Game, UI, GameOver)"
|
|
8
|
-
- path: src/scenes/BootScene.ts
|
|
9
|
-
type: file
|
|
10
|
-
description: "Registry setup, global config injection, first scene"
|
|
11
|
-
- path: src/scenes/PreloadScene.ts
|
|
12
|
-
type: file
|
|
13
|
-
description: "All asset loading with progress bar; transitions to MenuScene"
|
|
14
|
-
- path: src/scenes/GameScene.ts
|
|
15
|
-
type: file
|
|
16
|
-
description: "Core gameplay loop; delegates to systems, not self-contained"
|
|
17
|
-
- path: src/scenes/UIScene.ts
|
|
18
|
-
type: file
|
|
19
|
-
description: "HUD overlay launched in parallel with GameScene"
|
|
20
|
-
- path: src/systems
|
|
21
|
-
type: directory
|
|
22
|
-
description: "Stateless systems operating on entities (physics, AI, collision)"
|
|
23
|
-
- path: src/systems/MovementSystem.ts
|
|
24
|
-
type: file
|
|
25
|
-
description: "Processes velocity and position components each tick"
|
|
26
|
-
- path: src/systems/CollisionSystem.ts
|
|
27
|
-
type: file
|
|
28
|
-
description: "Broad + narrow phase collision; emits collision events"
|
|
29
|
-
- path: src/entities
|
|
30
|
-
type: directory
|
|
31
|
-
description: "Entity factory functions and typed component interfaces"
|
|
32
|
-
- path: src/entities/Player.ts
|
|
33
|
-
type: file
|
|
34
|
-
description: "Player entity factory — assembles components, registers with world"
|
|
35
|
-
- path: src/components
|
|
36
|
-
type: directory
|
|
37
|
-
description: "Plain-data component interfaces (Position, Velocity, Health, Sprite)"
|
|
38
|
-
- path: src/assets.ts
|
|
39
|
-
type: file
|
|
40
|
-
description: "Central asset manifest — all keys, paths, and atlas definitions"
|
|
41
|
-
- path: src/config.ts
|
|
42
|
-
type: file
|
|
43
|
-
description: "Game config constants (canvas size, physics gravity, scene keys)"
|
|
44
|
-
- path: src/shaders
|
|
45
|
-
type: directory
|
|
46
|
-
description: "GLSL shader source files (Three.js / raw WebGL projects)"
|
|
47
|
-
- path: src/workers
|
|
48
|
-
type: directory
|
|
49
|
-
description: "Web Workers for physics, pathfinding, or procedural generation"
|
|
50
|
-
- path: public/assets
|
|
51
|
-
type: directory
|
|
52
|
-
description: "Raw game assets (atlases, audio, tilemaps) served at /assets/"
|
|
53
|
-
- path: public/assets/atlases
|
|
54
|
-
type: directory
|
|
55
|
-
description: "Texture atlas PNG + JSON descriptor files"
|
|
56
|
-
- path: public/assets/audio
|
|
57
|
-
type: directory
|
|
58
|
-
description: "SFX and music in ogg + mp3 pairs for cross-browser support"
|
|
59
|
-
- path: public/assets/tilemaps
|
|
60
|
-
type: directory
|
|
61
|
-
description: "Tiled map JSON exports and associated tilesets"
|
|
62
|
-
- path: tests/systems
|
|
63
|
-
type: directory
|
|
64
|
-
description: "Unit tests for deterministic game systems (no DOM / canvas required)"
|
|
65
|
-
- path: tests/integration
|
|
66
|
-
type: directory
|
|
67
|
-
description: "Scene lifecycle and input simulation integration tests"
|
|
1
|
+
tag: GAME
|
|
2
|
+
section: structure
|
|
3
|
+
language: typescript
|
|
4
|
+
entries:
|
|
5
|
+
- path: src/scenes
|
|
6
|
+
type: directory
|
|
7
|
+
description: "One file per game scene (Boot, Preload, Menu, Game, UI, GameOver)"
|
|
8
|
+
- path: src/scenes/BootScene.ts
|
|
9
|
+
type: file
|
|
10
|
+
description: "Registry setup, global config injection, first scene"
|
|
11
|
+
- path: src/scenes/PreloadScene.ts
|
|
12
|
+
type: file
|
|
13
|
+
description: "All asset loading with progress bar; transitions to MenuScene"
|
|
14
|
+
- path: src/scenes/GameScene.ts
|
|
15
|
+
type: file
|
|
16
|
+
description: "Core gameplay loop; delegates to systems, not self-contained"
|
|
17
|
+
- path: src/scenes/UIScene.ts
|
|
18
|
+
type: file
|
|
19
|
+
description: "HUD overlay launched in parallel with GameScene"
|
|
20
|
+
- path: src/systems
|
|
21
|
+
type: directory
|
|
22
|
+
description: "Stateless systems operating on entities (physics, AI, collision)"
|
|
23
|
+
- path: src/systems/MovementSystem.ts
|
|
24
|
+
type: file
|
|
25
|
+
description: "Processes velocity and position components each tick"
|
|
26
|
+
- path: src/systems/CollisionSystem.ts
|
|
27
|
+
type: file
|
|
28
|
+
description: "Broad + narrow phase collision; emits collision events"
|
|
29
|
+
- path: src/entities
|
|
30
|
+
type: directory
|
|
31
|
+
description: "Entity factory functions and typed component interfaces"
|
|
32
|
+
- path: src/entities/Player.ts
|
|
33
|
+
type: file
|
|
34
|
+
description: "Player entity factory — assembles components, registers with world"
|
|
35
|
+
- path: src/components
|
|
36
|
+
type: directory
|
|
37
|
+
description: "Plain-data component interfaces (Position, Velocity, Health, Sprite)"
|
|
38
|
+
- path: src/assets.ts
|
|
39
|
+
type: file
|
|
40
|
+
description: "Central asset manifest — all keys, paths, and atlas definitions"
|
|
41
|
+
- path: src/config.ts
|
|
42
|
+
type: file
|
|
43
|
+
description: "Game config constants (canvas size, physics gravity, scene keys)"
|
|
44
|
+
- path: src/shaders
|
|
45
|
+
type: directory
|
|
46
|
+
description: "GLSL shader source files (Three.js / raw WebGL projects)"
|
|
47
|
+
- path: src/workers
|
|
48
|
+
type: directory
|
|
49
|
+
description: "Web Workers for physics, pathfinding, or procedural generation"
|
|
50
|
+
- path: public/assets
|
|
51
|
+
type: directory
|
|
52
|
+
description: "Raw game assets (atlases, audio, tilemaps) served at /assets/"
|
|
53
|
+
- path: public/assets/atlases
|
|
54
|
+
type: directory
|
|
55
|
+
description: "Texture atlas PNG + JSON descriptor files"
|
|
56
|
+
- path: public/assets/audio
|
|
57
|
+
type: directory
|
|
58
|
+
description: "SFX and music in ogg + mp3 pairs for cross-browser support"
|
|
59
|
+
- path: public/assets/tilemaps
|
|
60
|
+
type: directory
|
|
61
|
+
description: "Tiled map JSON exports and associated tilesets"
|
|
62
|
+
- path: tests/systems
|
|
63
|
+
type: directory
|
|
64
|
+
description: "Unit tests for deterministic game systems (no DOM / canvas required)"
|
|
65
|
+
- path: tests/integration
|
|
66
|
+
type: directory
|
|
67
|
+
description: "Scene lifecycle and input simulation integration tests"
|