@pix3/cli 1.6.0 → 1.6.2

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 (126) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +788 -754
  3. package/dist/index.js +208 -203
  4. package/dist/runtime-types.json +1 -1
  5. package/dist/smoke/prebuilt/{chunk-J2SJVMDO.mjs → chunk-7MZGPAUK.mjs} +1 -1
  6. package/dist/smoke/prebuilt/chunk-7WOFGLW3.mjs +239 -0
  7. package/dist/smoke/prebuilt/runtime.mjs +1 -1
  8. package/dist/smoke/prebuilt/smoke-worker.mjs +1 -1
  9. package/dist/smoke/prebuilt/tree-defaults.mjs +1 -1
  10. package/dist/validate/prebuilt/bundle-main.js +13 -13
  11. package/dist/validate/prebuilt/chunk-HKG6YI6Y.js +239 -0
  12. package/dist/validate/prebuilt/runtime.js +1 -1
  13. package/kit/files/.claude/skills/pix3-nodes/SKILL.md +210 -210
  14. package/kit/files/.claude/skills/pix3-nodes/reference.md +32 -24
  15. package/kit/files/.claude/skills/pix3-scene-format/SKILL.md +238 -235
  16. package/kit/files/.claude/skills/pix3-scene-format/reference.md +28 -28
  17. package/kit/files/.claude/skills/pix3-scripts/SKILL.md +285 -281
  18. package/kit/files/.claude/skills/pix3-scripts/reference.md +69 -52
  19. package/kit/files/.claude/skills/pix3-verify/SKILL.md +298 -256
  20. package/kit/files/.claude/skills/pix3-verify/reference.md +21 -21
  21. package/kit/files/AGENTS.md +203 -203
  22. package/kit/files/CLAUDE.md +1 -1
  23. package/kit/kit.json +2 -2
  24. package/package.json +54 -54
  25. package/templates/empty-2d/files/README.md +20 -20
  26. package/templates/empty-2d/files/scenes/main.pix3scene +68 -68
  27. package/templates/empty-2d/template.yaml +7 -7
  28. package/templates/empty-3d/files/README.md +20 -20
  29. package/templates/empty-3d/files/scenes/main.pix3scene +108 -108
  30. package/templates/empty-3d/template.yaml +7 -7
  31. package/templates/idea-blank/files/README.md +22 -22
  32. package/templates/idea-blank/files/scenes/main.pix3scene +37 -37
  33. package/templates/idea-blank/template.yaml +10 -10
  34. package/templates/minigame-2d/files/README.md +44 -44
  35. package/templates/minigame-2d/files/design/tests/reachability.json +1 -1
  36. package/templates/minigame-2d/files/design/tests/routines/mute-music.json +44 -44
  37. package/templates/minigame-2d/files/scenes/main.pix3scene +84 -84
  38. package/templates/minigame-2d/files/scenes/menu.pix3scene +118 -118
  39. package/templates/minigame-2d/files/scenes/ui/settings-window.pix3scene +138 -138
  40. package/templates/minigame-2d/files/scripts/GameFlow.ts +133 -133
  41. package/templates/minigame-2d/files/scripts/MenuFlow.ts +217 -217
  42. package/templates/minigame-2d/files/scripts/SettingsWindow.ts +198 -198
  43. package/templates/minigame-2d/template.yaml +10 -10
  44. package/templates/playable-2d/files/README.md +30 -30
  45. package/templates/playable-2d/files/design/recipe.md +83 -83
  46. package/templates/playable-2d/files/design/tests/reachability.json +4 -4
  47. package/templates/playable-2d/files/design/tests/routines/intro-to-cta.json +32 -32
  48. package/templates/playable-2d/files/scenes/main.pix3scene +111 -111
  49. package/templates/playable-2d/files/scenes/ui/end-screen.pix3scene +91 -91
  50. package/templates/playable-2d/files/scenes/ui/intro.pix3scene +65 -65
  51. package/templates/playable-2d/files/scripts/GameFlow.ts +256 -256
  52. package/templates/playable-2d/template.yaml +9 -9
  53. package/templates/playable-3d/files/README.md +32 -32
  54. package/templates/playable-3d/files/design/recipe.md +127 -127
  55. package/templates/playable-3d/files/design/tests/reachability.json +4 -4
  56. package/templates/playable-3d/files/design/tests/routines/intro-to-cta.json +32 -32
  57. package/templates/playable-3d/files/scenes/main.pix3scene +230 -230
  58. package/templates/playable-3d/files/scenes/ui/end-screen.pix3scene +91 -91
  59. package/templates/playable-3d/files/scenes/ui/intro.pix3scene +65 -65
  60. package/templates/playable-3d/files/scripts/GameFlow.ts +309 -309
  61. package/templates/playable-3d/files/scripts/GameRules.ts +290 -290
  62. package/templates/playable-3d/files/scripts/ScoreHud.ts +113 -113
  63. package/templates/playable-3d/template.yaml +9 -9
  64. package/templates/recipe-arena-2d/files/README.md +48 -48
  65. package/templates/recipe-arena-2d/files/design/recipe.md +127 -127
  66. package/templates/recipe-arena-2d/files/scenes/main.pix3scene +292 -292
  67. package/templates/recipe-arena-2d/files/scenes/menu.pix3scene +100 -100
  68. package/templates/recipe-arena-2d/files/scenes/prefabs/hazard.pix3scene +42 -42
  69. package/templates/recipe-arena-2d/files/scenes/prefabs/pickup.pix3scene +45 -45
  70. package/templates/recipe-arena-2d/files/scenes/ui/result.pix3scene +85 -85
  71. package/templates/recipe-arena-2d/files/scripts/GameRules.ts +368 -368
  72. package/templates/recipe-arena-2d/files/scripts/MenuFlow.ts +106 -106
  73. package/templates/recipe-arena-2d/files/scripts/PlayerController.ts +151 -151
  74. package/templates/recipe-arena-2d/files/scripts/ScoreHud.ts +94 -94
  75. package/templates/recipe-arena-2d/files/scripts/Spawner.ts +214 -214
  76. package/templates/recipe-arena-2d/files/scripts/TouchRules.ts +174 -174
  77. package/templates/recipe-arena-2d/template.yaml +10 -10
  78. package/templates/recipe-blank-2d/files/README.md +61 -61
  79. package/templates/recipe-blank-2d/files/design/recipe.md +148 -148
  80. package/templates/recipe-blank-2d/files/design/tests/reachability.json +4 -4
  81. package/templates/recipe-blank-2d/files/design/tests/routines/restart.json +27 -27
  82. package/templates/recipe-blank-2d/files/scenes/main.pix3scene +224 -224
  83. package/templates/recipe-blank-2d/files/scenes/ui/result.pix3scene +85 -85
  84. package/templates/recipe-blank-2d/files/scripts/GameRules.ts +350 -350
  85. package/templates/recipe-blank-2d/files/scripts/ScoreHud.ts +110 -110
  86. package/templates/recipe-blank-2d/template.yaml +10 -10
  87. package/templates/recipe-bouncer-2d/files/README.md +81 -81
  88. package/templates/recipe-bouncer-2d/files/design/recipe.md +146 -146
  89. package/templates/recipe-bouncer-2d/files/scenes/main.pix3scene +615 -615
  90. package/templates/recipe-bouncer-2d/files/scenes/menu.pix3scene +191 -191
  91. package/templates/recipe-bouncer-2d/files/scenes/ui/result.pix3scene +87 -87
  92. package/templates/recipe-bouncer-2d/files/scripts/BallBody.ts +298 -298
  93. package/templates/recipe-bouncer-2d/files/scripts/GameRules.ts +377 -377
  94. package/templates/recipe-bouncer-2d/files/scripts/MenuFlow.ts +109 -109
  95. package/templates/recipe-bouncer-2d/files/scripts/PaddleController.ts +112 -112
  96. package/templates/recipe-bouncer-2d/files/scripts/ScoreHud.ts +94 -94
  97. package/templates/recipe-bouncer-2d/files/scripts/TouchRules.ts +263 -263
  98. package/templates/recipe-bouncer-2d/files/scripts/ball-collision.ts +307 -307
  99. package/templates/recipe-bouncer-2d/template.yaml +10 -10
  100. package/templates/recipe-grid-3d/files/README.md +22 -22
  101. package/templates/recipe-grid-3d/files/design/recipe.md +110 -110
  102. package/templates/recipe-grid-3d/files/scenes/main.pix3scene +169 -169
  103. package/templates/recipe-grid-3d/files/scenes/menu.pix3scene +100 -100
  104. package/templates/recipe-grid-3d/files/scenes/ui/result.pix3scene +105 -105
  105. package/templates/recipe-grid-3d/files/scripts/GridBoard.ts +319 -319
  106. package/templates/recipe-grid-3d/files/scripts/GridRules.ts +278 -278
  107. package/templates/recipe-grid-3d/files/scripts/MenuFlow.ts +106 -106
  108. package/templates/recipe-grid-3d/files/scripts/ScoreHud.ts +94 -94
  109. package/templates/recipe-grid-3d/template.yaml +10 -10
  110. package/templates/recipe-tapper-2d/files/README.md +39 -39
  111. package/templates/recipe-tapper-2d/files/design/recipe.md +132 -132
  112. package/templates/recipe-tapper-2d/files/design/tests/reachability.json +4 -4
  113. package/templates/recipe-tapper-2d/files/design/tests/routines/terminal-retry.json +23 -23
  114. package/templates/recipe-tapper-2d/files/scenes/main.pix3scene +269 -269
  115. package/templates/recipe-tapper-2d/files/scenes/menu.pix3scene +100 -100
  116. package/templates/recipe-tapper-2d/files/scenes/prefabs/hazard.pix3scene +42 -42
  117. package/templates/recipe-tapper-2d/files/scenes/prefabs/target.pix3scene +45 -45
  118. package/templates/recipe-tapper-2d/files/scenes/ui/result.pix3scene +85 -85
  119. package/templates/recipe-tapper-2d/files/scripts/GameRules.ts +368 -368
  120. package/templates/recipe-tapper-2d/files/scripts/MenuFlow.ts +106 -106
  121. package/templates/recipe-tapper-2d/files/scripts/ScoreHud.ts +94 -94
  122. package/templates/recipe-tapper-2d/files/scripts/Spawner.ts +214 -214
  123. package/templates/recipe-tapper-2d/files/scripts/TouchRules.ts +192 -192
  124. package/templates/recipe-tapper-2d/template.yaml +10 -10
  125. package/dist/smoke/prebuilt/chunk-OJXQXIIQ.mjs +0 -239
  126. package/dist/validate/prebuilt/chunk-BS2OZM7U.js +0 -239
package/package.json CHANGED
@@ -1,54 +1,54 @@
1
- {
2
- "name": "@pix3/cli",
3
- "version": "1.6.0",
4
- "description": "Pix3 command line: create a project from a recipe, and link your own coding agent (Claude Code, Codex, ...) to an open Pix3 editor window over a loopback MCP channel.",
5
- "type": "module",
6
- "repository": {
7
- "type": "git",
8
- "url": "git+https://github.com/pix3dev/pix3.git",
9
- "directory": "packages/pix3-cli"
10
- },
11
- "bin": {
12
- "pix3": "dist/index.js"
13
- },
14
- "main": "dist/index.js",
15
- "files": [
16
- "dist",
17
- "templates",
18
- "kit",
19
- "README.md",
20
- "LICENSE"
21
- ],
22
- "engines": {
23
- "node": ">=24.15.0 <25"
24
- },
25
- "scripts": {
26
- "start": "node src/index.ts",
27
- "build": "tsc -p tsconfig.build.json && node scripts/build-bin.mjs && node scripts/build-validate.mjs && node scripts/build-smoke.mjs",
28
- "copy-templates": "node scripts/copy-templates.mjs",
29
- "prepack": "npm run copy-templates && npm run build && npm run build-runtime-types && npm run build-kit",
30
- "postpack": "node scripts/copy-templates.mjs --clean",
31
- "type-check": "tsc --noEmit && tsc --noEmit -p tsconfig.build.json",
32
- "build-kit": "node scripts/build-kit.mjs",
33
- "build-runtime-types": "node scripts/build-runtime-types.mjs"
34
- },
35
- "keywords": [
36
- "pix3",
37
- "cli",
38
- "mcp",
39
- "game-engine",
40
- "agent"
41
- ],
42
- "license": "Apache-2.0",
43
- "optionalDependencies": {
44
- "esbuild": "^0.27.3"
45
- },
46
- "devDependencies": {
47
- "@modelcontextprotocol/sdk": "^1.29.0",
48
- "@types/node": "^24.5.2",
49
- "@types/ws": "^8.18.1",
50
- "typescript": "~5.8.3",
51
- "ws": "^8.18.0",
52
- "yaml": "^2.6.0"
53
- }
54
- }
1
+ {
2
+ "name": "@pix3/cli",
3
+ "version": "1.6.2",
4
+ "description": "Pix3 command line: create a project from a recipe, and link your own coding agent (Claude Code, Codex, ...) to an open Pix3 editor window over a loopback MCP channel.",
5
+ "type": "module",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/pix3dev/pix3.git",
9
+ "directory": "packages/pix3-cli"
10
+ },
11
+ "bin": {
12
+ "pix3": "dist/index.js"
13
+ },
14
+ "main": "dist/index.js",
15
+ "files": [
16
+ "dist",
17
+ "templates",
18
+ "kit",
19
+ "README.md",
20
+ "LICENSE"
21
+ ],
22
+ "engines": {
23
+ "node": ">=24.15.0 <25"
24
+ },
25
+ "scripts": {
26
+ "start": "node src/index.ts",
27
+ "build": "tsc -p tsconfig.build.json && node scripts/build-bin.mjs && node scripts/build-validate.mjs && node scripts/build-smoke.mjs",
28
+ "copy-templates": "node scripts/copy-templates.mjs",
29
+ "prepack": "npm run copy-templates && npm run build && npm run build-runtime-types && npm run build-kit",
30
+ "postpack": "node scripts/copy-templates.mjs --clean",
31
+ "type-check": "tsc --noEmit && tsc --noEmit -p tsconfig.build.json",
32
+ "build-kit": "node scripts/build-kit.mjs",
33
+ "build-runtime-types": "node scripts/build-runtime-types.mjs"
34
+ },
35
+ "keywords": [
36
+ "pix3",
37
+ "cli",
38
+ "mcp",
39
+ "game-engine",
40
+ "agent"
41
+ ],
42
+ "license": "Apache-2.0",
43
+ "optionalDependencies": {
44
+ "esbuild": "^0.27.3"
45
+ },
46
+ "devDependencies": {
47
+ "@modelcontextprotocol/sdk": "^1.29.0",
48
+ "@types/node": "^24.5.2",
49
+ "@types/ws": "^8.18.1",
50
+ "typescript": "~5.8.3",
51
+ "ws": "^8.18.0",
52
+ "yaml": "^2.6.0"
53
+ }
54
+ }
@@ -1,20 +1,20 @@
1
- # {{PROJECT_NAME}}
2
-
3
- A Pix3 project created from the **Empty 2D** template.
4
-
5
- ## Project structure
6
-
7
- - `design/` — game design document and reference images
8
- - `scenes/` — scene files (`.pix3scene`, YAML)
9
- - `sprites/` — images and textures
10
- - `scripts/` — game scripts (`export class X extends Script`, used as `user:X`)
11
- - `audio/` — music and sound effects
12
- - `AGENTS.md` — rules and pointers for AI agents working on this project
13
-
14
- New asset-type folders (models, fonts, …) are created as you add those assets.
15
-
16
- ## Getting started
17
-
18
- 1. Open the project folder in the Pix3 editor.
19
- 2. `scenes/main.pix3scene` is the startup scene — press Play to run it.
20
- 3. Drop your GDD and reference art into `design/`, then ask an AI agent to build the game.
1
+ # {{PROJECT_NAME}}
2
+
3
+ A Pix3 project created from the **Empty 2D** template.
4
+
5
+ ## Project structure
6
+
7
+ - `design/` — game design document and reference images
8
+ - `scenes/` — scene files (`.pix3scene`, YAML)
9
+ - `sprites/` — images and textures
10
+ - `scripts/` — game scripts (`export class X extends Script`, used as `user:X`)
11
+ - `audio/` — music and sound effects
12
+ - `AGENTS.md` — rules and pointers for AI agents working on this project
13
+
14
+ New asset-type folders (models, fonts, …) are created as you add those assets.
15
+
16
+ ## Getting started
17
+
18
+ 1. Open the project folder in the Pix3 editor.
19
+ 2. `scenes/main.pix3scene` is the startup scene — press Play to run it.
20
+ 3. Drop your GDD and reference art into `design/`, then ask an AI agent to build the game.
@@ -1,68 +1,68 @@
1
- # Pix3 Scene File (YAML)
2
- # Empty 2D starter: a Full HD canvas with a background, a centered label and the
3
- # project logo. All content lives on the 2D layer.
4
- version: 1.0.0
5
- metadata:
6
- author: Pix3 Template
7
- description: Empty 2D starter scene
8
- root:
9
- - id: game-root
10
- type: Group2D
11
- name: Game Root
12
- properties:
13
- width: 1920
14
- height: 1080
15
- layout:
16
- enabled: true
17
- horizontalAlign: stretch
18
- verticalAlign: stretch
19
- children:
20
- - id: background
21
- type: ColorRect2D
22
- name: Background
23
- properties:
24
- width: 1920
25
- height: 1080
26
- color: "#1a1a2e"
27
- transform:
28
- position: [0, 0]
29
- scale: [1, 1]
30
- rotation: 0
31
- layout:
32
- enabled: true
33
- horizontalAlign: stretch
34
- verticalAlign: stretch
35
- children: []
36
- - id: title-label
37
- type: Label2D
38
- name: Title Label
39
- properties:
40
- label: "{{PROJECT_NAME}}"
41
- labelFontSize: 72
42
- labelColor: "#ffffff"
43
- labelAlign: center
44
- transform:
45
- position: [0, 60]
46
- scale: [1, 1]
47
- rotation: 0
48
- layout:
49
- enabled: true
50
- horizontalAlign: center
51
- verticalAlign: center
52
- children: []
53
- - id: logo-sprite
54
- type: Sprite2D
55
- name: Logo Sprite
56
- properties:
57
- texture: { type: 'texture', url: 'res://sprites/pix3-logo.png' }
58
- width: 242
59
- height: 96
60
- transform:
61
- position: [0, -80]
62
- scale: [1, 1]
63
- rotation: 0
64
- layout:
65
- enabled: true
66
- horizontalAlign: center
67
- verticalAlign: center
68
- children: []
1
+ # Pix3 Scene File (YAML)
2
+ # Empty 2D starter: a Full HD canvas with a background, a centered label and the
3
+ # project logo. All content lives on the 2D layer.
4
+ version: 1.0.0
5
+ metadata:
6
+ author: Pix3 Template
7
+ description: Empty 2D starter scene
8
+ root:
9
+ - id: game-root
10
+ type: Group2D
11
+ name: Game Root
12
+ properties:
13
+ width: 1920
14
+ height: 1080
15
+ layout:
16
+ enabled: true
17
+ horizontalAlign: stretch
18
+ verticalAlign: stretch
19
+ children:
20
+ - id: background
21
+ type: ColorRect2D
22
+ name: Background
23
+ properties:
24
+ width: 1920
25
+ height: 1080
26
+ color: "#1a1a2e"
27
+ transform:
28
+ position: [0, 0]
29
+ scale: [1, 1]
30
+ rotation: 0
31
+ layout:
32
+ enabled: true
33
+ horizontalAlign: stretch
34
+ verticalAlign: stretch
35
+ children: []
36
+ - id: title-label
37
+ type: Label2D
38
+ name: Title Label
39
+ properties:
40
+ label: "{{PROJECT_NAME}}"
41
+ labelFontSize: 72
42
+ labelColor: "#ffffff"
43
+ labelAlign: center
44
+ transform:
45
+ position: [0, 60]
46
+ scale: [1, 1]
47
+ rotation: 0
48
+ layout:
49
+ enabled: true
50
+ horizontalAlign: center
51
+ verticalAlign: center
52
+ children: []
53
+ - id: logo-sprite
54
+ type: Sprite2D
55
+ name: Logo Sprite
56
+ properties:
57
+ texture: { type: 'texture', url: 'res://sprites/pix3-logo.png' }
58
+ width: 242
59
+ height: 96
60
+ transform:
61
+ position: [0, -80]
62
+ scale: [1, 1]
63
+ rotation: 0
64
+ layout:
65
+ enabled: true
66
+ horizontalAlign: center
67
+ verticalAlign: center
68
+ children: []
@@ -1,7 +1,7 @@
1
- id: empty-2d
2
- title: Empty 2D
3
- description: Minimal 2D starter — background, centered label and logo on a Full HD canvas.
4
- projectType: 2d
5
- targetPlatform: universal
6
- viewport: { width: 1920, height: 1080 }
7
- order: 20
1
+ id: empty-2d
2
+ title: Empty 2D
3
+ description: Minimal 2D starter — background, centered label and logo on a Full HD canvas.
4
+ projectType: 2d
5
+ targetPlatform: universal
6
+ viewport: { width: 1920, height: 1080 }
7
+ order: 20
@@ -1,20 +1,20 @@
1
- # {{PROJECT_NAME}}
2
-
3
- A Pix3 project created from the **Empty 3D** template.
4
-
5
- ## Project structure
6
-
7
- - `design/` — game design document and reference images
8
- - `scenes/` — scene files (`.pix3scene`, YAML)
9
- - `sprites/` — images and textures
10
- - `scripts/` — game scripts (`export class X extends Script`, used as `user:X`)
11
- - `audio/` — music and sound effects
12
- - `AGENTS.md` — rules and pointers for AI agents working on this project
13
-
14
- New asset-type folders (`models/` for GLB/GLTF, fonts, …) are created as you add those assets.
15
-
16
- ## Getting started
17
-
18
- 1. Open the project folder in the Pix3 editor.
19
- 2. `scenes/main.pix3scene` is the startup scene — press Play to run it.
20
- 3. Drop your GDD and reference art into `design/`, then ask an AI agent to build the game.
1
+ # {{PROJECT_NAME}}
2
+
3
+ A Pix3 project created from the **Empty 3D** template.
4
+
5
+ ## Project structure
6
+
7
+ - `design/` — game design document and reference images
8
+ - `scenes/` — scene files (`.pix3scene`, YAML)
9
+ - `sprites/` — images and textures
10
+ - `scripts/` — game scripts (`export class X extends Script`, used as `user:X`)
11
+ - `audio/` — music and sound effects
12
+ - `AGENTS.md` — rules and pointers for AI agents working on this project
13
+
14
+ New asset-type folders (`models/` for GLB/GLTF, fonts, …) are created as you add those assets.
15
+
16
+ ## Getting started
17
+
18
+ 1. Open the project folder in the Pix3 editor.
19
+ 2. `scenes/main.pix3scene` is the startup scene — press Play to run it.
20
+ 3. Drop your GDD and reference art into `design/`, then ask an AI agent to build the game.
@@ -1,108 +1,108 @@
1
- # Pix3 Scene File (YAML)
2
- # Empty 3D starter: environment root with a box mesh, key light, ambient fill,
3
- # a perspective camera, and a 2D UI layer with the project logo.
4
- version: 1.0.0
5
- metadata:
6
- author: Pix3 Template
7
- description: Empty 3D starter scene
8
- root:
9
- - id: game-root
10
- type: Node3D
11
- name: Game Root
12
- properties:
13
- transform:
14
- position: [0, 0, 0]
15
- rotationEuler: [0, 0, 0]
16
- scale: [1, 1, 1]
17
- children:
18
- - id: main-camera
19
- type: Camera3D
20
- name: Main Camera
21
- properties:
22
- projection: perspective
23
- fov: 60
24
- near: 0.1
25
- far: 1000
26
- transform:
27
- position: [0, 2, 6]
28
- rotationEuler: [-10, 0, 0]
29
- scale: [1, 1, 1]
30
- children: []
31
- - id: key-light
32
- type: DirectionalLightNode
33
- name: Key Light
34
- properties:
35
- intensity: 1.2
36
- color: "#ffffff"
37
- transform:
38
- position: [5, 8, 3]
39
- rotationEuler: [-45, 35, 0]
40
- scale: [1, 1, 1]
41
- children: []
42
- - id: ambient-light
43
- type: AmbientLightNode
44
- name: Ambient Light
45
- properties:
46
- intensity: 0.5
47
- color: "#ffffff"
48
- transform:
49
- position: [0, 0, 0]
50
- rotationEuler: [0, 0, 0]
51
- scale: [1, 1, 1]
52
- children: []
53
- - id: ground
54
- type: GeometryMesh
55
- name: Ground
56
- properties:
57
- geometry: box
58
- size: [12, 0.2, 12]
59
- material:
60
- type: standard
61
- color: "#2a2a3e"
62
- transform:
63
- position: [0, -0.1, 0]
64
- rotationEuler: [0, 0, 0]
65
- scale: [1, 1, 1]
66
- children: []
67
- - id: demo-box
68
- type: GeometryMesh
69
- name: Demo Box
70
- properties:
71
- geometry: box
72
- size: [1, 1, 1]
73
- material:
74
- type: standard
75
- color: "#ffcf33"
76
- transform:
77
- position: [0, 0.5, 0]
78
- rotationEuler: [0, 45, 0]
79
- scale: [1, 1, 1]
80
- children: []
81
-
82
- - id: hud-root
83
- type: Group2D
84
- name: HUD Root
85
- properties:
86
- width: 1920
87
- height: 1080
88
- layout:
89
- enabled: true
90
- horizontalAlign: stretch
91
- verticalAlign: stretch
92
- children:
93
- - id: logo-sprite
94
- type: Sprite2D
95
- name: Logo Sprite
96
- properties:
97
- texture: { type: 'texture', url: 'res://sprites/pix3-logo.png' }
98
- width: 121
99
- height: 48
100
- transform:
101
- position: [0, -460]
102
- scale: [1, 1]
103
- rotation: 0
104
- layout:
105
- enabled: true
106
- horizontalAlign: center
107
- verticalAlign: bottom
108
- children: []
1
+ # Pix3 Scene File (YAML)
2
+ # Empty 3D starter: environment root with a box mesh, key light, ambient fill,
3
+ # a perspective camera, and a 2D UI layer with the project logo.
4
+ version: 1.0.0
5
+ metadata:
6
+ author: Pix3 Template
7
+ description: Empty 3D starter scene
8
+ root:
9
+ - id: game-root
10
+ type: Node3D
11
+ name: Game Root
12
+ properties:
13
+ transform:
14
+ position: [0, 0, 0]
15
+ rotationEuler: [0, 0, 0]
16
+ scale: [1, 1, 1]
17
+ children:
18
+ - id: main-camera
19
+ type: Camera3D
20
+ name: Main Camera
21
+ properties:
22
+ projection: perspective
23
+ fov: 60
24
+ near: 0.1
25
+ far: 1000
26
+ transform:
27
+ position: [0, 2, 6]
28
+ rotationEuler: [-10, 0, 0]
29
+ scale: [1, 1, 1]
30
+ children: []
31
+ - id: key-light
32
+ type: DirectionalLightNode
33
+ name: Key Light
34
+ properties:
35
+ intensity: 1.2
36
+ color: "#ffffff"
37
+ transform:
38
+ position: [5, 8, 3]
39
+ rotationEuler: [-45, 35, 0]
40
+ scale: [1, 1, 1]
41
+ children: []
42
+ - id: ambient-light
43
+ type: AmbientLightNode
44
+ name: Ambient Light
45
+ properties:
46
+ intensity: 0.5
47
+ color: "#ffffff"
48
+ transform:
49
+ position: [0, 0, 0]
50
+ rotationEuler: [0, 0, 0]
51
+ scale: [1, 1, 1]
52
+ children: []
53
+ - id: ground
54
+ type: GeometryMesh
55
+ name: Ground
56
+ properties:
57
+ geometry: box
58
+ size: [12, 0.2, 12]
59
+ material:
60
+ type: standard
61
+ color: "#2a2a3e"
62
+ transform:
63
+ position: [0, -0.1, 0]
64
+ rotationEuler: [0, 0, 0]
65
+ scale: [1, 1, 1]
66
+ children: []
67
+ - id: demo-box
68
+ type: GeometryMesh
69
+ name: Demo Box
70
+ properties:
71
+ geometry: box
72
+ size: [1, 1, 1]
73
+ material:
74
+ type: standard
75
+ color: "#ffcf33"
76
+ transform:
77
+ position: [0, 0.5, 0]
78
+ rotationEuler: [0, 45, 0]
79
+ scale: [1, 1, 1]
80
+ children: []
81
+
82
+ - id: hud-root
83
+ type: Group2D
84
+ name: HUD Root
85
+ properties:
86
+ width: 1920
87
+ height: 1080
88
+ layout:
89
+ enabled: true
90
+ horizontalAlign: stretch
91
+ verticalAlign: stretch
92
+ children:
93
+ - id: logo-sprite
94
+ type: Sprite2D
95
+ name: Logo Sprite
96
+ properties:
97
+ texture: { type: 'texture', url: 'res://sprites/pix3-logo.png' }
98
+ width: 121
99
+ height: 48
100
+ transform:
101
+ position: [0, -460]
102
+ scale: [1, 1]
103
+ rotation: 0
104
+ layout:
105
+ enabled: true
106
+ horizontalAlign: center
107
+ verticalAlign: bottom
108
+ children: []
@@ -1,7 +1,7 @@
1
- id: empty-3d
2
- title: Empty 3D
3
- description: Minimal 3D starter — camera, lighting, ground and a demo box, plus a 2D UI layer.
4
- projectType: 3d
5
- targetPlatform: universal
6
- viewport: { width: 1920, height: 1080 }
7
- order: 10
1
+ id: empty-3d
2
+ title: Empty 3D
3
+ description: Minimal 3D starter — camera, lighting, ground and a demo box, plus a 2D UI layer.
4
+ projectType: 3d
5
+ targetPlatform: universal
6
+ viewport: { width: 1920, height: 1080 }
7
+ order: 10
@@ -1,22 +1,22 @@
1
- # {{PROJECT_NAME}}
2
-
3
- A Pix3 project that is still at the **idea stage**: a design document and its references, and no
4
- game yet. The genre skeleton — scenes, scripts, a playable loop — is expanded into this same project
5
- when you press **Start prototype**, so nothing here is thrown away.
6
-
7
- ## Project structure
8
-
9
- - `design/gdd.md` — the design document. This is the idea; everything agreed on lands here.
10
- - `design/decisions.md` — settled forks, one line each, so nothing is decided twice.
11
- - `design/source/` — documents you attached, kept verbatim for reading by section.
12
- - `references/` — reference and moodboard images, with roles in `references/index.json`.
13
- - `scenes/main.pix3scene` — an empty Full HD canvas, a placeholder until the recipe arrives.
14
- - `AGENTS.md` — rules and pointers for AI agents working on this project.
15
-
16
- Sprite, script and audio folders appear when the prototype needs them.
17
-
18
- ## Getting started
19
-
20
- 1. Talk the idea through in the chat next to the document — the document is the record.
21
- 2. Ask for moodboards when you reach the look; the candidates land in `references/`.
22
- 3. Press **Start prototype** when the idea is worth building.
1
+ # {{PROJECT_NAME}}
2
+
3
+ A Pix3 project that is still at the **idea stage**: a design document and its references, and no
4
+ game yet. The genre skeleton — scenes, scripts, a playable loop — is expanded into this same project
5
+ when you press **Start prototype**, so nothing here is thrown away.
6
+
7
+ ## Project structure
8
+
9
+ - `design/gdd.md` — the design document. This is the idea; everything agreed on lands here.
10
+ - `design/decisions.md` — settled forks, one line each, so nothing is decided twice.
11
+ - `design/source/` — documents you attached, kept verbatim for reading by section.
12
+ - `references/` — reference and moodboard images, with roles in `references/index.json`.
13
+ - `scenes/main.pix3scene` — an empty Full HD canvas, a placeholder until the recipe arrives.
14
+ - `AGENTS.md` — rules and pointers for AI agents working on this project.
15
+
16
+ Sprite, script and audio folders appear when the prototype needs them.
17
+
18
+ ## Getting started
19
+
20
+ 1. Talk the idea through in the chat next to the document — the document is the record.
21
+ 2. Ask for moodboards when you reach the look; the candidates land in `references/`.
22
+ 3. Press **Start prototype** when the idea is worth building.