valence-cli 1.2.8 → 1.3.1

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.
Files changed (176) hide show
  1. package/README.md +57 -43
  2. package/README.original.md +57 -43
  3. package/dist/README.md +57 -43
  4. package/dist/commands/add.d.ts.map +1 -1
  5. package/dist/commands/add.js +93 -1
  6. package/dist/commands/add.js.map +1 -1
  7. package/dist/commands/build.d.ts.map +1 -1
  8. package/dist/commands/build.js +115 -1
  9. package/dist/commands/build.js.map +1 -1
  10. package/dist/commands/codegen.js +42 -1
  11. package/dist/commands/doctor.d.ts.map +1 -1
  12. package/dist/commands/doctor.js +65 -1
  13. package/dist/commands/doctor.js.map +1 -1
  14. package/dist/commands/features/assets.d.ts +6 -0
  15. package/dist/commands/features/assets.d.ts.map +1 -0
  16. package/dist/commands/features/assets.js +113 -0
  17. package/dist/commands/features/assets.js.map +1 -0
  18. package/dist/commands/features/audio.d.ts +2 -0
  19. package/dist/commands/features/audio.d.ts.map +1 -0
  20. package/dist/commands/features/audio.js +17 -0
  21. package/dist/commands/features/audio.js.map +1 -0
  22. package/dist/commands/features/input.d.ts +2 -0
  23. package/dist/commands/features/input.d.ts.map +1 -0
  24. package/dist/commands/features/input.js +13 -0
  25. package/dist/commands/features/input.js.map +1 -0
  26. package/dist/commands/features/multiplayer.d.ts +2 -0
  27. package/dist/commands/features/multiplayer.d.ts.map +1 -0
  28. package/dist/commands/features/multiplayer.js +81 -0
  29. package/dist/commands/features/multiplayer.js.map +1 -0
  30. package/dist/commands/features/native.d.ts +2 -0
  31. package/dist/commands/features/native.d.ts.map +1 -0
  32. package/dist/commands/features/native.js +83 -0
  33. package/dist/commands/features/native.js.map +1 -0
  34. package/dist/commands/features/physics.d.ts +2 -0
  35. package/dist/commands/features/physics.d.ts.map +1 -0
  36. package/dist/commands/features/physics.js +44 -0
  37. package/dist/commands/features/physics.js.map +1 -0
  38. package/dist/commands/features/pipeline.d.ts +2 -0
  39. package/dist/commands/features/pipeline.d.ts.map +1 -0
  40. package/dist/commands/features/pipeline.js +28 -0
  41. package/dist/commands/features/pipeline.js.map +1 -0
  42. package/dist/commands/features/settings.d.ts +2 -0
  43. package/dist/commands/features/settings.d.ts.map +1 -0
  44. package/dist/commands/features/settings.js +13 -0
  45. package/dist/commands/features/settings.js.map +1 -0
  46. package/dist/commands/features/state.d.ts +2 -0
  47. package/dist/commands/features/state.d.ts.map +1 -0
  48. package/dist/commands/features/state.js +12 -0
  49. package/dist/commands/features/state.js.map +1 -0
  50. package/dist/commands/features/storage.d.ts +2 -0
  51. package/dist/commands/features/storage.d.ts.map +1 -0
  52. package/dist/commands/features/storage.js +33 -0
  53. package/dist/commands/features/storage.js.map +1 -0
  54. package/dist/commands/features/tailwind.d.ts +2 -0
  55. package/dist/commands/features/tailwind.d.ts.map +1 -0
  56. package/dist/commands/features/tailwind.js +46 -0
  57. package/dist/commands/features/tailwind.js.map +1 -0
  58. package/dist/commands/generate.d.ts.map +1 -1
  59. package/dist/commands/generate.js +205 -1
  60. package/dist/commands/generate.js.map +1 -1
  61. package/dist/commands/lifecycle.d.ts.map +1 -1
  62. package/dist/commands/lifecycle.js +45 -1
  63. package/dist/commands/lifecycle.js.map +1 -1
  64. package/dist/commands/new-helpers.d.ts +12 -0
  65. package/dist/commands/new-helpers.d.ts.map +1 -0
  66. package/dist/commands/new-helpers.js +61 -0
  67. package/dist/commands/new-helpers.js.map +1 -0
  68. package/dist/commands/new.d.ts +1 -0
  69. package/dist/commands/new.d.ts.map +1 -1
  70. package/dist/commands/new.js +173 -1
  71. package/dist/commands/new.js.map +1 -1
  72. package/dist/commands/publish.js +86 -1
  73. package/dist/commands/template.d.ts.map +1 -1
  74. package/dist/commands/template.js +259 -1
  75. package/dist/commands/template.js.map +1 -1
  76. package/dist/commands/verify.d.ts +2 -0
  77. package/dist/commands/verify.d.ts.map +1 -0
  78. package/dist/commands/verify.js +80 -0
  79. package/dist/commands/verify.js.map +1 -0
  80. package/dist/constants/versions.d.ts +41 -0
  81. package/dist/constants/versions.d.ts.map +1 -0
  82. package/dist/constants/versions.js +41 -0
  83. package/dist/constants/versions.js.map +1 -0
  84. package/dist/index.js +107 -1
  85. package/dist/index.js.map +1 -1
  86. package/dist/templates/angular.d.ts +2 -2
  87. package/dist/templates/angular.d.ts.map +1 -1
  88. package/dist/templates/angular.js +375 -1
  89. package/dist/templates/angular.js.map +1 -1
  90. package/dist/templates/audio.d.ts +2 -0
  91. package/dist/templates/audio.d.ts.map +1 -0
  92. package/dist/templates/audio.js +95 -0
  93. package/dist/templates/audio.js.map +1 -0
  94. package/dist/templates/components.js +54 -1
  95. package/dist/templates/config.js +26 -1
  96. package/dist/templates/electron.js +124 -1
  97. package/dist/templates/index.d.ts +7 -0
  98. package/dist/templates/index.d.ts.map +1 -1
  99. package/dist/templates/index.js +12 -1
  100. package/dist/templates/index.js.map +1 -1
  101. package/dist/templates/input.d.ts +2 -0
  102. package/dist/templates/input.d.ts.map +1 -0
  103. package/dist/templates/input.js +159 -0
  104. package/dist/templates/input.js.map +1 -0
  105. package/dist/templates/multiplayer.d.ts +7 -0
  106. package/dist/templates/multiplayer.d.ts.map +1 -0
  107. package/dist/templates/multiplayer.js +151 -0
  108. package/dist/templates/multiplayer.js.map +1 -0
  109. package/dist/templates/native.d.ts +4 -0
  110. package/dist/templates/native.d.ts.map +1 -0
  111. package/dist/templates/native.js +40 -0
  112. package/dist/templates/native.js.map +1 -0
  113. package/dist/templates/phaser-scene.d.ts +2 -0
  114. package/dist/templates/phaser-scene.d.ts.map +1 -0
  115. package/dist/templates/phaser-scene.js +27 -0
  116. package/dist/templates/phaser-scene.js.map +1 -0
  117. package/dist/templates/phaser.d.ts +2 -0
  118. package/dist/templates/phaser.d.ts.map +1 -0
  119. package/dist/templates/phaser.js +147 -0
  120. package/dist/templates/phaser.js.map +1 -0
  121. package/dist/templates/settings.d.ts +2 -0
  122. package/dist/templates/settings.d.ts.map +1 -0
  123. package/dist/templates/settings.js +66 -0
  124. package/dist/templates/settings.js.map +1 -0
  125. package/dist/templates/state.d.ts +2 -0
  126. package/dist/templates/state.d.ts.map +1 -0
  127. package/dist/templates/state.js +35 -0
  128. package/dist/templates/state.js.map +1 -0
  129. package/dist/templates/storage.d.ts +4 -0
  130. package/dist/templates/storage.d.ts.map +1 -0
  131. package/dist/templates/storage.js +121 -0
  132. package/dist/templates/storage.js.map +1 -0
  133. package/dist/templates.d.ts +2 -0
  134. package/dist/templates.d.ts.map +1 -1
  135. package/dist/templates.js +4 -1
  136. package/dist/templates.js.map +1 -1
  137. package/dist/utils/ast/modify-app-component.d.ts +2 -0
  138. package/dist/utils/ast/modify-app-component.d.ts.map +1 -0
  139. package/dist/utils/ast/modify-app-component.js +136 -0
  140. package/dist/utils/ast/modify-app-component.js.map +1 -0
  141. package/dist/utils/ast.d.ts +20 -0
  142. package/dist/utils/ast.d.ts.map +1 -0
  143. package/dist/utils/ast.js +95 -0
  144. package/dist/utils/ast.js.map +1 -0
  145. package/dist/utils/configurators/angular.d.ts +2 -0
  146. package/dist/utils/configurators/angular.d.ts.map +1 -0
  147. package/dist/utils/configurators/angular.js +28 -0
  148. package/dist/utils/configurators/angular.js.map +1 -0
  149. package/dist/utils/configurators/electron.d.ts +2 -0
  150. package/dist/utils/configurators/electron.d.ts.map +1 -0
  151. package/dist/utils/configurators/electron.js +12 -0
  152. package/dist/utils/configurators/electron.js.map +1 -0
  153. package/dist/utils/configurators/meta.d.ts +5 -0
  154. package/dist/utils/configurators/meta.d.ts.map +1 -0
  155. package/dist/utils/configurators/meta.js +14 -0
  156. package/dist/utils/configurators/meta.js.map +1 -0
  157. package/dist/utils/configurators/package.d.ts +5 -0
  158. package/dist/utils/configurators/package.d.ts.map +1 -0
  159. package/dist/utils/configurators/package.js +23 -0
  160. package/dist/utils/configurators/package.js.map +1 -0
  161. package/dist/utils/engine.d.ts +9 -0
  162. package/dist/utils/engine.d.ts.map +1 -0
  163. package/dist/utils/engine.js +43 -0
  164. package/dist/utils/engine.js.map +1 -0
  165. package/dist/utils/files.d.ts +17 -0
  166. package/dist/utils/files.d.ts.map +1 -0
  167. package/dist/utils/files.js +41 -0
  168. package/dist/utils/files.js.map +1 -0
  169. package/dist/utils/logger.js +65 -1
  170. package/dist/utils/pipeline.d.ts +2 -0
  171. package/dist/utils/pipeline.d.ts.map +1 -0
  172. package/dist/utils/pipeline.js +69 -0
  173. package/dist/utils/pipeline.js.map +1 -0
  174. package/dist/utils/update.js +33 -1
  175. package/dist/utils/validation.js +12 -1
  176. package/package.json +3 -2
package/README.md CHANGED
@@ -35,12 +35,16 @@ valence start
35
35
  ## 🛠 Commands
36
36
 
37
37
  ### `valence new <name>`
38
- Scaffolds a new project with:
38
+ Scaffolds a new high-performance project. You will be prompted to select your engine:
39
+
40
+ * **3D (Babylon.js)**: Full 3D capabilities with Havok Physics, XR, and Inspector support.
41
+ * **2D (Phaser)**: Fast 2D game engine with configured scenes and arcade physics.
42
+
43
+ **Both environments include:**
39
44
  - **Angular**: Latest CLI, SCSS, Routing.
40
45
  - **Electron**: TypeScript Main/Preload processes, securely configured.
41
- - **Babylon.js**: Core dependencies pre-installed.
42
- - **Forge**: configured for building `.exe` / `.zip` / installers.
43
- - **Pro Template**: Includes a rotating wireframe plane, FPS counter, and real-time Camera Rotation (XYZ) tracker with a premium glassmorphic UI.
46
+ - **Forge**: Configured for building `.exe` / `.zip` / installers.
47
+ - **Valence UI**: Premium glassmorphic HUD with FPS and status tracking.
44
48
 
45
49
  ### `valence start`
46
50
  Runs the application in **Development Mode**:
@@ -55,6 +59,9 @@ Compiles the application for **Production**:
55
59
  - Optimizes assets.
56
60
  - Enforces relative paths (`baseHref="./"`) for Electron compatibility.
57
61
 
62
+ ### `valence test`
63
+ Runs the project's automated test suite (if configured).
64
+
58
65
  ### `valence package`
59
66
  Packages the application for distribution:
60
67
  - Runs `valence build`.
@@ -63,60 +70,67 @@ Packages the application for distribution:
63
70
 
64
71
  ### `valence publish`
65
72
  Automates the release pipeline:
66
- 1. Bumps project version (patch).
67
- 2. Updates `README.md` version badges.
68
- 3. Builds & Packages.
69
- 4. Generates `RELEASES_README.md` entry.
70
- 5. Publishes via Electron Forge (e.g., to GitHub Releases).
73
+ - Bumps project version (patch).
74
+ - Updates `README.md` version badges.
75
+ - Builds & Packages.
76
+ - Generates `RELEASES_README.md` entry.
77
+ - Publishes via Electron Forge.
71
78
 
72
- ### `valence generate scene <name>`
73
- *Alias: `valence g scene <name>`*
74
- Scaffolds a new **Babylon.js Scene component** in `src/app/scenes/<name>`:
75
- - Pre-wired `Engine` and `Scene` creation.
76
- - Includes Camera, Light, and Resize event handling.
77
- - Ready for 3D logic immediately.
79
+ ---
78
80
 
79
- ### `valence generate bridge <name>`
81
+ ## 🎮 Gameplay Services
80
82
 
81
- *Alias: `valence g bridge <name>`*
83
+ Valence can automatically inject core game systems into your project.
82
84
 
83
- Generates a type-safe IPC communication channel:
85
+ ### `valence add <feature>`
84
86
 
85
- - Main Process: Registers `ipcMain.handle` listener.
86
- - Preload: Exposes `contextBridge` API safe for Renderer.
87
- - Service: Creates an Angular service wrapper to call the API.
87
+ #### Core Systems
88
+ * **`input`**: Unified Action Mapping (Keyboard/Gamepad) via Angular Signals.
89
+ * **`audio`**: Channel-based audio manager (Master/Music/SFX) using Howler.js.
90
+ * **`storage`**: Secure, atomic file I/O for save games (Write-Temp-Rename pattern) via Electron IPC.
91
+ * **`settings`**: Centralized configuration manager (Audio/Graphics) persisted to storage.
92
+ * **`state`**: Strict Game State Machine (Boot, Menu, Gameplay, Paused) via Signals.
88
93
 
89
- ### `valence add <feature>`
94
+ #### 3D Features (Babylon.js)
95
+ * **`physics`**: Installs Havok engine (WASM) & initializes physics.
96
+ * **`inspector`**: Installs & binds Babylon Inspector to `Ctrl+I`.
97
+ * **`gui`**: Installs `lil-gui` debug panel.
98
+ * **`materials`**: Installs `@babylonjs/materials`.
99
+ * **`skybox`**: Creates environmental skybox.
100
+ * **`xr`**: Initializes WebXR (VR/AR) experience.
90
101
 
91
- Injects advanced capabilities into an existing project.
102
+ #### Universal Features
103
+ * **`tailwind`**: Configures TailwindCSS with Angular.
104
+ * **`multiplayer`**: Scaffolds Colyseus server & client.
105
+ * **`pipeline`**: Enables Asset Optimization Pipeline (sharp).
106
+ * **`native`**: Scaffolds Rust (Neon) native module.
92
107
 
93
- - `physics`: Installs Havok engine, configures WASM assets, and initializes physics in the global scene.
94
- - `inspector`: Installs `@babylonjs/inspector` and binds `Ctrl+I` to toggle the dedicated 3D debugger overlay.
95
- - `gui`: Installs `lil-gui` and creates a debug panel for tweaking parameters at runtime.
96
- - `materials`: Installs `@babylonjs/materials`, enabling Grid, Gradient, and other advanced materials.
97
- - `skybox`: Automatically creates a large skybox mesh to provide environmental context.
98
- - `xr`: Initializes WebXR default experience (Teleportation + Controller support) for VR/AR.
99
- - `tailwind`: Configures TailwindCSS with Angular (PostCSS, Config, Styles).
108
+ ---
100
109
 
101
- ### `valence template <type>`
110
+ ## 🎲 Generators
102
111
 
103
- Swaps the default 3D scene logic for a genre-specific starter.
112
+ ### `valence generate scene <name>`
113
+ *Alias: `valence g scene <name>`*
114
+ Scaffolds a new Scene component:
115
+ * **3D**: Pre-wired Babylon.js `Scene` with Camera/Light/Resize handling.
116
+ * **2D**: Pre-wired Phaser `Scene` class with lifecycle methods.
104
117
 
105
- - `fps`: First Person Shooter setup (WASD + Mouse Look + Gravity + Collisions).
106
- - `orbit`: Product/Model Viewer setup (ArcRotateCamera + Studio Lighting).
107
- - `platformer`: Third-person follow camera with a capsule character controller.
108
- - `iso`: Isometric orthographic view (RTS/Strategy style) with tile grid,
109
- - `gallery`: First-person interactive walkthrough with raycast-based highlighting.
118
+ ### `valence generate bridge <name>`
119
+ *Alias: `valence g bridge <name>`*
120
+ Generates a type-safe IPC communication channel:
121
+ * **Main Process**: Registers `ipcMain.handle`.
122
+ * **Preload**: Exposes `contextBridge` API.
123
+ * **Service**: Creates Angular service wrapper.
110
124
 
111
125
  ### `valence codegen assets`
126
+ Scans `src/assets` and generates typed constants in `core/asset-keys.ts` for IntelliSense.
112
127
 
113
- Scans your `src/assets` folder and generates a TypeScript file (`core/asset-keys.ts`) with typed constants for every file path.
128
+ ---
114
129
 
115
- - Usage: `scene.createTexture(AssetKeys.TEXTURES_GRASS_PNG)`
130
+ ## 🩺 Diagnostics
116
131
 
117
132
  ### `valence doctor`
133
+ Diagnoses your development environment (Node, NPM, Git).
118
134
 
119
- Diagnoses your development environment:
120
- - Checks Node.js & NPM versions.
121
- - Verifies Git installation.
122
- - Checks for global Angular CLI (optional).
135
+ ### `valence verify`
136
+ Performs deep health check of project structure and configuration.
@@ -35,12 +35,16 @@ valence start
35
35
  ## 🛠 Commands
36
36
 
37
37
  ### `valence new <name>`
38
- Scaffolds a new project with:
38
+ Scaffolds a new high-performance project. You will be prompted to select your engine:
39
+
40
+ * **3D (Babylon.js)**: Full 3D capabilities with Havok Physics, XR, and Inspector support.
41
+ * **2D (Phaser)**: Fast 2D game engine with configured scenes and arcade physics.
42
+
43
+ **Both environments include:**
39
44
  - **Angular**: Latest CLI, SCSS, Routing.
40
45
  - **Electron**: TypeScript Main/Preload processes, securely configured.
41
- - **Babylon.js**: Core dependencies pre-installed.
42
- - **Forge**: configured for building `.exe` / `.zip` / installers.
43
- - **Pro Template**: Includes a rotating wireframe plane, FPS counter, and real-time Camera Rotation (XYZ) tracker with a premium glassmorphic UI.
46
+ - **Forge**: Configured for building `.exe` / `.zip` / installers.
47
+ - **Valence UI**: Premium glassmorphic HUD with FPS and status tracking.
44
48
 
45
49
  ### `valence start`
46
50
  Runs the application in **Development Mode**:
@@ -55,6 +59,9 @@ Compiles the application for **Production**:
55
59
  - Optimizes assets.
56
60
  - Enforces relative paths (`baseHref="./"`) for Electron compatibility.
57
61
 
62
+ ### `valence test`
63
+ Runs the project's automated test suite (if configured).
64
+
58
65
  ### `valence package`
59
66
  Packages the application for distribution:
60
67
  - Runs `valence build`.
@@ -63,60 +70,67 @@ Packages the application for distribution:
63
70
 
64
71
  ### `valence publish`
65
72
  Automates the release pipeline:
66
- 1. Bumps project version (patch).
67
- 2. Updates `README.md` version badges.
68
- 3. Builds & Packages.
69
- 4. Generates `RELEASES_README.md` entry.
70
- 5. Publishes via Electron Forge (e.g., to GitHub Releases).
73
+ - Bumps project version (patch).
74
+ - Updates `README.md` version badges.
75
+ - Builds & Packages.
76
+ - Generates `RELEASES_README.md` entry.
77
+ - Publishes via Electron Forge.
71
78
 
72
- ### `valence generate scene <name>`
73
- *Alias: `valence g scene <name>`*
74
- Scaffolds a new **Babylon.js Scene component** in `src/app/scenes/<name>`:
75
- - Pre-wired `Engine` and `Scene` creation.
76
- - Includes Camera, Light, and Resize event handling.
77
- - Ready for 3D logic immediately.
79
+ ---
78
80
 
79
- ### `valence generate bridge <name>`
81
+ ## 🎮 Gameplay Services
80
82
 
81
- *Alias: `valence g bridge <name>`*
83
+ Valence can automatically inject core game systems into your project.
82
84
 
83
- Generates a type-safe IPC communication channel:
85
+ ### `valence add <feature>`
84
86
 
85
- - Main Process: Registers `ipcMain.handle` listener.
86
- - Preload: Exposes `contextBridge` API safe for Renderer.
87
- - Service: Creates an Angular service wrapper to call the API.
87
+ #### Core Systems
88
+ * **`input`**: Unified Action Mapping (Keyboard/Gamepad) via Angular Signals.
89
+ * **`audio`**: Channel-based audio manager (Master/Music/SFX) using Howler.js.
90
+ * **`storage`**: Secure, atomic file I/O for save games (Write-Temp-Rename pattern) via Electron IPC.
91
+ * **`settings`**: Centralized configuration manager (Audio/Graphics) persisted to storage.
92
+ * **`state`**: Strict Game State Machine (Boot, Menu, Gameplay, Paused) via Signals.
88
93
 
89
- ### `valence add <feature>`
94
+ #### 3D Features (Babylon.js)
95
+ * **`physics`**: Installs Havok engine (WASM) & initializes physics.
96
+ * **`inspector`**: Installs & binds Babylon Inspector to `Ctrl+I`.
97
+ * **`gui`**: Installs `lil-gui` debug panel.
98
+ * **`materials`**: Installs `@babylonjs/materials`.
99
+ * **`skybox`**: Creates environmental skybox.
100
+ * **`xr`**: Initializes WebXR (VR/AR) experience.
90
101
 
91
- Injects advanced capabilities into an existing project.
102
+ #### Universal Features
103
+ * **`tailwind`**: Configures TailwindCSS with Angular.
104
+ * **`multiplayer`**: Scaffolds Colyseus server & client.
105
+ * **`pipeline`**: Enables Asset Optimization Pipeline (sharp).
106
+ * **`native`**: Scaffolds Rust (Neon) native module.
92
107
 
93
- - `physics`: Installs Havok engine, configures WASM assets, and initializes physics in the global scene.
94
- - `inspector`: Installs `@babylonjs/inspector` and binds `Ctrl+I` to toggle the dedicated 3D debugger overlay.
95
- - `gui`: Installs `lil-gui` and creates a debug panel for tweaking parameters at runtime.
96
- - `materials`: Installs `@babylonjs/materials`, enabling Grid, Gradient, and other advanced materials.
97
- - `skybox`: Automatically creates a large skybox mesh to provide environmental context.
98
- - `xr`: Initializes WebXR default experience (Teleportation + Controller support) for VR/AR.
99
- - `tailwind`: Configures TailwindCSS with Angular (PostCSS, Config, Styles).
108
+ ---
100
109
 
101
- ### `valence template <type>`
110
+ ## 🎲 Generators
102
111
 
103
- Swaps the default 3D scene logic for a genre-specific starter.
112
+ ### `valence generate scene <name>`
113
+ *Alias: `valence g scene <name>`*
114
+ Scaffolds a new Scene component:
115
+ * **3D**: Pre-wired Babylon.js `Scene` with Camera/Light/Resize handling.
116
+ * **2D**: Pre-wired Phaser `Scene` class with lifecycle methods.
104
117
 
105
- - `fps`: First Person Shooter setup (WASD + Mouse Look + Gravity + Collisions).
106
- - `orbit`: Product/Model Viewer setup (ArcRotateCamera + Studio Lighting).
107
- - `platformer`: Third-person follow camera with a capsule character controller.
108
- - `iso`: Isometric orthographic view (RTS/Strategy style) with tile grid,
109
- - `gallery`: First-person interactive walkthrough with raycast-based highlighting.
118
+ ### `valence generate bridge <name>`
119
+ *Alias: `valence g bridge <name>`*
120
+ Generates a type-safe IPC communication channel:
121
+ * **Main Process**: Registers `ipcMain.handle`.
122
+ * **Preload**: Exposes `contextBridge` API.
123
+ * **Service**: Creates Angular service wrapper.
110
124
 
111
125
  ### `valence codegen assets`
126
+ Scans `src/assets` and generates typed constants in `core/asset-keys.ts` for IntelliSense.
112
127
 
113
- Scans your `src/assets` folder and generates a TypeScript file (`core/asset-keys.ts`) with typed constants for every file path.
128
+ ---
114
129
 
115
- - Usage: `scene.createTexture(AssetKeys.TEXTURES_GRASS_PNG)`
130
+ ## 🩺 Diagnostics
116
131
 
117
132
  ### `valence doctor`
133
+ Diagnoses your development environment (Node, NPM, Git).
118
134
 
119
- Diagnoses your development environment:
120
- - Checks Node.js & NPM versions.
121
- - Verifies Git installation.
122
- - Checks for global Angular CLI (optional).
135
+ ### `valence verify`
136
+ Performs deep health check of project structure and configuration.
package/dist/README.md CHANGED
@@ -35,12 +35,16 @@ valence start
35
35
  ## 🛠 Commands
36
36
 
37
37
  ### `valence new <name>`
38
- Scaffolds a new project with:
38
+ Scaffolds a new high-performance project. You will be prompted to select your engine:
39
+
40
+ * **3D (Babylon.js)**: Full 3D capabilities with Havok Physics, XR, and Inspector support.
41
+ * **2D (Phaser)**: Fast 2D game engine with configured scenes and arcade physics.
42
+
43
+ **Both environments include:**
39
44
  - **Angular**: Latest CLI, SCSS, Routing.
40
45
  - **Electron**: TypeScript Main/Preload processes, securely configured.
41
- - **Babylon.js**: Core dependencies pre-installed.
42
- - **Forge**: configured for building `.exe` / `.zip` / installers.
43
- - **Pro Template**: Includes a rotating wireframe plane, FPS counter, and real-time Camera Rotation (XYZ) tracker with a premium glassmorphic UI.
46
+ - **Forge**: Configured for building `.exe` / `.zip` / installers.
47
+ - **Valence UI**: Premium glassmorphic HUD with FPS and status tracking.
44
48
 
45
49
  ### `valence start`
46
50
  Runs the application in **Development Mode**:
@@ -55,6 +59,9 @@ Compiles the application for **Production**:
55
59
  - Optimizes assets.
56
60
  - Enforces relative paths (`baseHref="./"`) for Electron compatibility.
57
61
 
62
+ ### `valence test`
63
+ Runs the project's automated test suite (if configured).
64
+
58
65
  ### `valence package`
59
66
  Packages the application for distribution:
60
67
  - Runs `valence build`.
@@ -63,60 +70,67 @@ Packages the application for distribution:
63
70
 
64
71
  ### `valence publish`
65
72
  Automates the release pipeline:
66
- 1. Bumps project version (patch).
67
- 2. Updates `README.md` version badges.
68
- 3. Builds & Packages.
69
- 4. Generates `RELEASES_README.md` entry.
70
- 5. Publishes via Electron Forge (e.g., to GitHub Releases).
73
+ - Bumps project version (patch).
74
+ - Updates `README.md` version badges.
75
+ - Builds & Packages.
76
+ - Generates `RELEASES_README.md` entry.
77
+ - Publishes via Electron Forge.
71
78
 
72
- ### `valence generate scene <name>`
73
- *Alias: `valence g scene <name>`*
74
- Scaffolds a new **Babylon.js Scene component** in `src/app/scenes/<name>`:
75
- - Pre-wired `Engine` and `Scene` creation.
76
- - Includes Camera, Light, and Resize event handling.
77
- - Ready for 3D logic immediately.
79
+ ---
78
80
 
79
- ### `valence generate bridge <name>`
81
+ ## 🎮 Gameplay Services
80
82
 
81
- *Alias: `valence g bridge <name>`*
83
+ Valence can automatically inject core game systems into your project.
82
84
 
83
- Generates a type-safe IPC communication channel:
85
+ ### `valence add <feature>`
84
86
 
85
- - Main Process: Registers `ipcMain.handle` listener.
86
- - Preload: Exposes `contextBridge` API safe for Renderer.
87
- - Service: Creates an Angular service wrapper to call the API.
87
+ #### Core Systems
88
+ * **`input`**: Unified Action Mapping (Keyboard/Gamepad) via Angular Signals.
89
+ * **`audio`**: Channel-based audio manager (Master/Music/SFX) using Howler.js.
90
+ * **`storage`**: Secure, atomic file I/O for save games (Write-Temp-Rename pattern) via Electron IPC.
91
+ * **`settings`**: Centralized configuration manager (Audio/Graphics) persisted to storage.
92
+ * **`state`**: Strict Game State Machine (Boot, Menu, Gameplay, Paused) via Signals.
88
93
 
89
- ### `valence add <feature>`
94
+ #### 3D Features (Babylon.js)
95
+ * **`physics`**: Installs Havok engine (WASM) & initializes physics.
96
+ * **`inspector`**: Installs & binds Babylon Inspector to `Ctrl+I`.
97
+ * **`gui`**: Installs `lil-gui` debug panel.
98
+ * **`materials`**: Installs `@babylonjs/materials`.
99
+ * **`skybox`**: Creates environmental skybox.
100
+ * **`xr`**: Initializes WebXR (VR/AR) experience.
90
101
 
91
- Injects advanced capabilities into an existing project.
102
+ #### Universal Features
103
+ * **`tailwind`**: Configures TailwindCSS with Angular.
104
+ * **`multiplayer`**: Scaffolds Colyseus server & client.
105
+ * **`pipeline`**: Enables Asset Optimization Pipeline (sharp).
106
+ * **`native`**: Scaffolds Rust (Neon) native module.
92
107
 
93
- - `physics`: Installs Havok engine, configures WASM assets, and initializes physics in the global scene.
94
- - `inspector`: Installs `@babylonjs/inspector` and binds `Ctrl+I` to toggle the dedicated 3D debugger overlay.
95
- - `gui`: Installs `lil-gui` and creates a debug panel for tweaking parameters at runtime.
96
- - `materials`: Installs `@babylonjs/materials`, enabling Grid, Gradient, and other advanced materials.
97
- - `skybox`: Automatically creates a large skybox mesh to provide environmental context.
98
- - `xr`: Initializes WebXR default experience (Teleportation + Controller support) for VR/AR.
99
- - `tailwind`: Configures TailwindCSS with Angular (PostCSS, Config, Styles).
108
+ ---
100
109
 
101
- ### `valence template <type>`
110
+ ## 🎲 Generators
102
111
 
103
- Swaps the default 3D scene logic for a genre-specific starter.
112
+ ### `valence generate scene <name>`
113
+ *Alias: `valence g scene <name>`*
114
+ Scaffolds a new Scene component:
115
+ * **3D**: Pre-wired Babylon.js `Scene` with Camera/Light/Resize handling.
116
+ * **2D**: Pre-wired Phaser `Scene` class with lifecycle methods.
104
117
 
105
- - `fps`: First Person Shooter setup (WASD + Mouse Look + Gravity + Collisions).
106
- - `orbit`: Product/Model Viewer setup (ArcRotateCamera + Studio Lighting).
107
- - `platformer`: Third-person follow camera with a capsule character controller.
108
- - `iso`: Isometric orthographic view (RTS/Strategy style) with tile grid,
109
- - `gallery`: First-person interactive walkthrough with raycast-based highlighting.
118
+ ### `valence generate bridge <name>`
119
+ *Alias: `valence g bridge <name>`*
120
+ Generates a type-safe IPC communication channel:
121
+ * **Main Process**: Registers `ipcMain.handle`.
122
+ * **Preload**: Exposes `contextBridge` API.
123
+ * **Service**: Creates Angular service wrapper.
110
124
 
111
125
  ### `valence codegen assets`
126
+ Scans `src/assets` and generates typed constants in `core/asset-keys.ts` for IntelliSense.
112
127
 
113
- Scans your `src/assets` folder and generates a TypeScript file (`core/asset-keys.ts`) with typed constants for every file path.
128
+ ---
114
129
 
115
- - Usage: `scene.createTexture(AssetKeys.TEXTURES_GRASS_PNG)`
130
+ ## 🩺 Diagnostics
116
131
 
117
132
  ### `valence doctor`
133
+ Diagnoses your development environment (Node, NPM, Git).
118
134
 
119
- Diagnoses your development environment:
120
- - Checks Node.js & NPM versions.
121
- - Verifies Git installation.
122
- - Checks for global Angular CLI (optional).
135
+ ### `valence verify`
136
+ Performs deep health check of project structure and configuration.
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU,GAAU,SAAS,MAAM,kBAsB/C,CAAA"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,UAAU,GAAU,SAAS,MAAM,kBAmD/C,CAAA"}