@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.
- package/LICENSE +201 -201
- package/README.md +788 -754
- package/dist/index.js +208 -203
- package/dist/runtime-types.json +1 -1
- package/dist/smoke/prebuilt/{chunk-J2SJVMDO.mjs → chunk-7MZGPAUK.mjs} +1 -1
- package/dist/smoke/prebuilt/chunk-7WOFGLW3.mjs +239 -0
- package/dist/smoke/prebuilt/runtime.mjs +1 -1
- package/dist/smoke/prebuilt/smoke-worker.mjs +1 -1
- package/dist/smoke/prebuilt/tree-defaults.mjs +1 -1
- package/dist/validate/prebuilt/bundle-main.js +13 -13
- package/dist/validate/prebuilt/chunk-HKG6YI6Y.js +239 -0
- package/dist/validate/prebuilt/runtime.js +1 -1
- package/kit/files/.claude/skills/pix3-nodes/SKILL.md +210 -210
- package/kit/files/.claude/skills/pix3-nodes/reference.md +32 -24
- package/kit/files/.claude/skills/pix3-scene-format/SKILL.md +238 -235
- package/kit/files/.claude/skills/pix3-scene-format/reference.md +28 -28
- package/kit/files/.claude/skills/pix3-scripts/SKILL.md +285 -281
- package/kit/files/.claude/skills/pix3-scripts/reference.md +69 -52
- package/kit/files/.claude/skills/pix3-verify/SKILL.md +298 -256
- package/kit/files/.claude/skills/pix3-verify/reference.md +21 -21
- package/kit/files/AGENTS.md +203 -203
- package/kit/files/CLAUDE.md +1 -1
- package/kit/kit.json +2 -2
- package/package.json +54 -54
- package/templates/empty-2d/files/README.md +20 -20
- package/templates/empty-2d/files/scenes/main.pix3scene +68 -68
- package/templates/empty-2d/template.yaml +7 -7
- package/templates/empty-3d/files/README.md +20 -20
- package/templates/empty-3d/files/scenes/main.pix3scene +108 -108
- package/templates/empty-3d/template.yaml +7 -7
- package/templates/idea-blank/files/README.md +22 -22
- package/templates/idea-blank/files/scenes/main.pix3scene +37 -37
- package/templates/idea-blank/template.yaml +10 -10
- package/templates/minigame-2d/files/README.md +44 -44
- package/templates/minigame-2d/files/design/tests/reachability.json +1 -1
- package/templates/minigame-2d/files/design/tests/routines/mute-music.json +44 -44
- package/templates/minigame-2d/files/scenes/main.pix3scene +84 -84
- package/templates/minigame-2d/files/scenes/menu.pix3scene +118 -118
- package/templates/minigame-2d/files/scenes/ui/settings-window.pix3scene +138 -138
- package/templates/minigame-2d/files/scripts/GameFlow.ts +133 -133
- package/templates/minigame-2d/files/scripts/MenuFlow.ts +217 -217
- package/templates/minigame-2d/files/scripts/SettingsWindow.ts +198 -198
- package/templates/minigame-2d/template.yaml +10 -10
- package/templates/playable-2d/files/README.md +30 -30
- package/templates/playable-2d/files/design/recipe.md +83 -83
- package/templates/playable-2d/files/design/tests/reachability.json +4 -4
- package/templates/playable-2d/files/design/tests/routines/intro-to-cta.json +32 -32
- package/templates/playable-2d/files/scenes/main.pix3scene +111 -111
- package/templates/playable-2d/files/scenes/ui/end-screen.pix3scene +91 -91
- package/templates/playable-2d/files/scenes/ui/intro.pix3scene +65 -65
- package/templates/playable-2d/files/scripts/GameFlow.ts +256 -256
- package/templates/playable-2d/template.yaml +9 -9
- package/templates/playable-3d/files/README.md +32 -32
- package/templates/playable-3d/files/design/recipe.md +127 -127
- package/templates/playable-3d/files/design/tests/reachability.json +4 -4
- package/templates/playable-3d/files/design/tests/routines/intro-to-cta.json +32 -32
- package/templates/playable-3d/files/scenes/main.pix3scene +230 -230
- package/templates/playable-3d/files/scenes/ui/end-screen.pix3scene +91 -91
- package/templates/playable-3d/files/scenes/ui/intro.pix3scene +65 -65
- package/templates/playable-3d/files/scripts/GameFlow.ts +309 -309
- package/templates/playable-3d/files/scripts/GameRules.ts +290 -290
- package/templates/playable-3d/files/scripts/ScoreHud.ts +113 -113
- package/templates/playable-3d/template.yaml +9 -9
- package/templates/recipe-arena-2d/files/README.md +48 -48
- package/templates/recipe-arena-2d/files/design/recipe.md +127 -127
- package/templates/recipe-arena-2d/files/scenes/main.pix3scene +292 -292
- package/templates/recipe-arena-2d/files/scenes/menu.pix3scene +100 -100
- package/templates/recipe-arena-2d/files/scenes/prefabs/hazard.pix3scene +42 -42
- package/templates/recipe-arena-2d/files/scenes/prefabs/pickup.pix3scene +45 -45
- package/templates/recipe-arena-2d/files/scenes/ui/result.pix3scene +85 -85
- package/templates/recipe-arena-2d/files/scripts/GameRules.ts +368 -368
- package/templates/recipe-arena-2d/files/scripts/MenuFlow.ts +106 -106
- package/templates/recipe-arena-2d/files/scripts/PlayerController.ts +151 -151
- package/templates/recipe-arena-2d/files/scripts/ScoreHud.ts +94 -94
- package/templates/recipe-arena-2d/files/scripts/Spawner.ts +214 -214
- package/templates/recipe-arena-2d/files/scripts/TouchRules.ts +174 -174
- package/templates/recipe-arena-2d/template.yaml +10 -10
- package/templates/recipe-blank-2d/files/README.md +61 -61
- package/templates/recipe-blank-2d/files/design/recipe.md +148 -148
- package/templates/recipe-blank-2d/files/design/tests/reachability.json +4 -4
- package/templates/recipe-blank-2d/files/design/tests/routines/restart.json +27 -27
- package/templates/recipe-blank-2d/files/scenes/main.pix3scene +224 -224
- package/templates/recipe-blank-2d/files/scenes/ui/result.pix3scene +85 -85
- package/templates/recipe-blank-2d/files/scripts/GameRules.ts +350 -350
- package/templates/recipe-blank-2d/files/scripts/ScoreHud.ts +110 -110
- package/templates/recipe-blank-2d/template.yaml +10 -10
- package/templates/recipe-bouncer-2d/files/README.md +81 -81
- package/templates/recipe-bouncer-2d/files/design/recipe.md +146 -146
- package/templates/recipe-bouncer-2d/files/scenes/main.pix3scene +615 -615
- package/templates/recipe-bouncer-2d/files/scenes/menu.pix3scene +191 -191
- package/templates/recipe-bouncer-2d/files/scenes/ui/result.pix3scene +87 -87
- package/templates/recipe-bouncer-2d/files/scripts/BallBody.ts +298 -298
- package/templates/recipe-bouncer-2d/files/scripts/GameRules.ts +377 -377
- package/templates/recipe-bouncer-2d/files/scripts/MenuFlow.ts +109 -109
- package/templates/recipe-bouncer-2d/files/scripts/PaddleController.ts +112 -112
- package/templates/recipe-bouncer-2d/files/scripts/ScoreHud.ts +94 -94
- package/templates/recipe-bouncer-2d/files/scripts/TouchRules.ts +263 -263
- package/templates/recipe-bouncer-2d/files/scripts/ball-collision.ts +307 -307
- package/templates/recipe-bouncer-2d/template.yaml +10 -10
- package/templates/recipe-grid-3d/files/README.md +22 -22
- package/templates/recipe-grid-3d/files/design/recipe.md +110 -110
- package/templates/recipe-grid-3d/files/scenes/main.pix3scene +169 -169
- package/templates/recipe-grid-3d/files/scenes/menu.pix3scene +100 -100
- package/templates/recipe-grid-3d/files/scenes/ui/result.pix3scene +105 -105
- package/templates/recipe-grid-3d/files/scripts/GridBoard.ts +319 -319
- package/templates/recipe-grid-3d/files/scripts/GridRules.ts +278 -278
- package/templates/recipe-grid-3d/files/scripts/MenuFlow.ts +106 -106
- package/templates/recipe-grid-3d/files/scripts/ScoreHud.ts +94 -94
- package/templates/recipe-grid-3d/template.yaml +10 -10
- package/templates/recipe-tapper-2d/files/README.md +39 -39
- package/templates/recipe-tapper-2d/files/design/recipe.md +132 -132
- package/templates/recipe-tapper-2d/files/design/tests/reachability.json +4 -4
- package/templates/recipe-tapper-2d/files/design/tests/routines/terminal-retry.json +23 -23
- package/templates/recipe-tapper-2d/files/scenes/main.pix3scene +269 -269
- package/templates/recipe-tapper-2d/files/scenes/menu.pix3scene +100 -100
- package/templates/recipe-tapper-2d/files/scenes/prefabs/hazard.pix3scene +42 -42
- package/templates/recipe-tapper-2d/files/scenes/prefabs/target.pix3scene +45 -45
- package/templates/recipe-tapper-2d/files/scenes/ui/result.pix3scene +85 -85
- package/templates/recipe-tapper-2d/files/scripts/GameRules.ts +368 -368
- package/templates/recipe-tapper-2d/files/scripts/MenuFlow.ts +106 -106
- package/templates/recipe-tapper-2d/files/scripts/ScoreHud.ts +94 -94
- package/templates/recipe-tapper-2d/files/scripts/Spawner.ts +214 -214
- package/templates/recipe-tapper-2d/files/scripts/TouchRules.ts +192 -192
- package/templates/recipe-tapper-2d/template.yaml +10 -10
- package/dist/smoke/prebuilt/chunk-OJXQXIIQ.mjs +0 -239
- 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.
|
|
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.
|