@pix3/cli 1.6.0 → 1.6.3

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-CBFYKDS7.mjs} +1 -1
  6. package/dist/smoke/prebuilt/chunk-VJHJ5BCO.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-CFQFEI52.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 +39 -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 +43 -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
@@ -1,118 +1,118 @@
1
- # Pix3 Scene File (YAML)
2
- # Minigame 2D — the MENU scene. This is the project's ENTRY / export scene
3
- # (Project Settings → Default Export Scene Path): a full build and "Play Game (Entry Scene)"
4
- # boot here so you can debug the whole flow. PLAY transitions to the game scene
5
- # (main.pix3scene) via a fade; SETTINGS opens the settings-window prefab.
6
- # Wired by scripts/MenuFlow.ts.
7
- version: 1.0.0
8
- metadata:
9
- author: Pix3 Template
10
- description: Menu scene — entry point; PLAY transitions to the game
11
- root:
12
- - id: menu-root
13
- type: Group2D
14
- name: Menu Root
15
- properties:
16
- width: 1920
17
- height: 1080
18
- layout:
19
- enabled: true
20
- horizontalAlign: stretch
21
- verticalAlign: stretch
22
- components:
23
- - id: menu-flow
24
- type: user:MenuFlow
25
- enabled: true
26
- config:
27
- gameScene: res://scenes/main.pix3scene
28
- settingsNode: settings-window
29
- playButton: play-button
30
- settingsButton: settings-button
31
- children:
32
- - id: menu-background
33
- type: ColorRect2D
34
- name: Menu Background
35
- properties:
36
- width: 1920
37
- height: 1080
38
- color: "#16213e"
39
- transform:
40
- position: [0, 0]
41
- scale: [1, 1]
42
- rotation: 0
43
- layout:
44
- enabled: true
45
- horizontalAlign: stretch
46
- verticalAlign: stretch
47
- children: []
48
- - id: menu-title
49
- type: Label2D
50
- name: Menu Title
51
- properties:
52
- label: "{{PROJECT_NAME}}"
53
- labelFontSize: 96
54
- labelColor: "#ffcf33"
55
- labelAlign: center
56
- transform:
57
- position: [0, 250]
58
- scale: [1, 1]
59
- rotation: 0
60
- layout:
61
- enabled: true
62
- horizontalAlign: center
63
- verticalAlign: center
64
- children: []
65
- - id: play-button
66
- type: Button2D
67
- name: Play Button
68
- properties:
69
- width: 420
70
- height: 120
71
- label: "PLAY"
72
- labelFontSize: 48
73
- labelColor: "#1a1a2e"
74
- backgroundColor: "#ffcf33"
75
- hoverColor: "#ffe066"
76
- pressedColor: "#e6b800"
77
- buttonAction: play
78
- transform:
79
- position: [0, 0]
80
- scale: [1, 1]
81
- rotation: 0
82
- layout:
83
- enabled: true
84
- horizontalAlign: center
85
- verticalAlign: center
86
- children: []
87
- - id: settings-button
88
- type: Button2D
89
- name: Settings Button
90
- properties:
91
- width: 420
92
- height: 120
93
- label: "SETTINGS"
94
- labelFontSize: 48
95
- labelColor: "#ffffff"
96
- backgroundColor: "#3a3a5e"
97
- hoverColor: "#4a4a6e"
98
- pressedColor: "#2a2a4e"
99
- buttonAction: open-settings
100
- transform:
101
- position: [0, -170]
102
- scale: [1, 1]
103
- rotation: 0
104
- layout:
105
- enabled: true
106
- horizontalAlign: center
107
- verticalAlign: center
108
- children: []
109
- # Settings modal — authored in scenes/ui/settings-window.pix3scene so this
110
- # scene opens on the MENU, not on the modal. `visible: false` hides it in
111
- # the EDITOR only; `initiallyVisible` (in the overlay file) is what play
112
- # mode reads, and user:MenuFlow opens it at run time on SETTINGS. Tick the
113
- # eye to preview it over the menu.
114
- - id: settings-window
115
- name: Settings Window
116
- instance: res://scenes/ui/settings-window.pix3scene
117
- properties:
118
- visible: false
1
+ # Pix3 Scene File (YAML)
2
+ # Minigame 2D — the MENU scene. This is the project's ENTRY / export scene
3
+ # (Project Settings → Default Export Scene Path): a full build and "Play Game (Entry Scene)"
4
+ # boot here so you can debug the whole flow. PLAY transitions to the game scene
5
+ # (main.pix3scene) via a fade; SETTINGS opens the settings-window prefab.
6
+ # Wired by scripts/MenuFlow.ts.
7
+ version: 1.0.0
8
+ metadata:
9
+ author: Pix3 Template
10
+ description: Menu scene — entry point; PLAY transitions to the game
11
+ root:
12
+ - id: menu-root
13
+ type: Group2D
14
+ name: Menu Root
15
+ properties:
16
+ width: 1920
17
+ height: 1080
18
+ layout:
19
+ enabled: true
20
+ horizontalAlign: stretch
21
+ verticalAlign: stretch
22
+ components:
23
+ - id: menu-flow
24
+ type: user:MenuFlow
25
+ enabled: true
26
+ config:
27
+ gameScene: res://scenes/main.pix3scene
28
+ settingsNode: settings-window
29
+ playButton: play-button
30
+ settingsButton: settings-button
31
+ children:
32
+ - id: menu-background
33
+ type: ColorRect2D
34
+ name: Menu Background
35
+ properties:
36
+ width: 1920
37
+ height: 1080
38
+ color: "#16213e"
39
+ transform:
40
+ position: [0, 0]
41
+ scale: [1, 1]
42
+ rotation: 0
43
+ layout:
44
+ enabled: true
45
+ horizontalAlign: stretch
46
+ verticalAlign: stretch
47
+ children: []
48
+ - id: menu-title
49
+ type: Label2D
50
+ name: Menu Title
51
+ properties:
52
+ label: "{{PROJECT_NAME}}"
53
+ labelFontSize: 96
54
+ labelColor: "#ffcf33"
55
+ labelAlign: center
56
+ transform:
57
+ position: [0, 250]
58
+ scale: [1, 1]
59
+ rotation: 0
60
+ layout:
61
+ enabled: true
62
+ horizontalAlign: center
63
+ verticalAlign: center
64
+ children: []
65
+ - id: play-button
66
+ type: Button2D
67
+ name: Play Button
68
+ properties:
69
+ width: 420
70
+ height: 120
71
+ label: "PLAY"
72
+ labelFontSize: 48
73
+ labelColor: "#1a1a2e"
74
+ backgroundColor: "#ffcf33"
75
+ hoverColor: "#ffe066"
76
+ pressedColor: "#e6b800"
77
+ buttonAction: play
78
+ transform:
79
+ position: [0, 0]
80
+ scale: [1, 1]
81
+ rotation: 0
82
+ layout:
83
+ enabled: true
84
+ horizontalAlign: center
85
+ verticalAlign: center
86
+ children: []
87
+ - id: settings-button
88
+ type: Button2D
89
+ name: Settings Button
90
+ properties:
91
+ width: 420
92
+ height: 120
93
+ label: "SETTINGS"
94
+ labelFontSize: 48
95
+ labelColor: "#ffffff"
96
+ backgroundColor: "#3a3a5e"
97
+ hoverColor: "#4a4a6e"
98
+ pressedColor: "#2a2a4e"
99
+ buttonAction: open-settings
100
+ transform:
101
+ position: [0, -170]
102
+ scale: [1, 1]
103
+ rotation: 0
104
+ layout:
105
+ enabled: true
106
+ horizontalAlign: center
107
+ verticalAlign: center
108
+ children: []
109
+ # Settings modal — authored in scenes/ui/settings-window.pix3scene so this
110
+ # scene opens on the MENU, not on the modal. `visible: false` hides it in
111
+ # the EDITOR only; `initiallyVisible` (in the overlay file) is what play
112
+ # mode reads, and user:MenuFlow opens it at run time on SETTINGS. Tick the
113
+ # eye to preview it over the menu.
114
+ - id: settings-window
115
+ name: Settings Window
116
+ instance: res://scenes/ui/settings-window.pix3scene
117
+ properties:
118
+ visible: false
@@ -1,138 +1,138 @@
1
- # Pix3 Scene File (YAML)
2
- # Minigame 2D — the SETTINGS modal: a centered panel with Music/SFX checkboxes
3
- # (wired to the audio buses by user:SettingsWindow) and a CLOSE button. It lives
4
- # in its own file under scenes/ui/ so the menu scene opens clean. Host scenes
5
- # carry it as a one-line `instance:` reference marked `visible: false`, which
6
- # hides it in the EDITOR only; `initiallyVisible: false` on `settings-root`
7
- # below is what play mode reads, and `user:MenuFlow` shows it at run time.
8
- #
9
- # Edit it here, full-screen, in its own tab. To preview it composited over the
10
- # menu, tick the eye on `settings-window` in menu.pix3scene — just do not commit
11
- # that tick, or every iteration starts behind the settings modal again.
12
- #
13
- # Instance it from any scene:
14
- # - id: settings-window
15
- # instance: res://scenes/ui/settings-window.pix3scene
16
- # properties:
17
- # visible: false
18
- version: 1.0.0
19
- metadata:
20
- author: Pix3 Template
21
- description: Reusable settings window (music/SFX toggles)
22
- root:
23
- - id: settings-root
24
- type: Group2D
25
- name: Settings Window
26
- properties:
27
- width: 640
28
- height: 520
29
- initiallyVisible: false
30
- layout:
31
- enabled: true
32
- horizontalAlign: center
33
- verticalAlign: center
34
- components:
35
- - id: settings-behavior
36
- type: user:SettingsWindow
37
- enabled: true
38
- config:
39
- musicToggle: music-toggle
40
- sfxToggle: sfx-toggle
41
- closeButton: close-button
42
- children:
43
- - id: settings-panel
44
- type: ColorRect2D
45
- name: Panel
46
- properties:
47
- width: 640
48
- height: 520
49
- color: "#1a1a2e"
50
- opacity: 0.97
51
- transform:
52
- position: [0, 0]
53
- scale: [1, 1]
54
- rotation: 0
55
- children: []
56
- - id: settings-title
57
- type: Label2D
58
- name: Title
59
- properties:
60
- label: "SETTINGS"
61
- labelFontSize: 48
62
- labelColor: "#ffcf33"
63
- labelAlign: center
64
- transform:
65
- position: [0, 190]
66
- scale: [1, 1]
67
- rotation: 0
68
- children: []
69
- - id: music-label
70
- type: Label2D
71
- name: Music Label
72
- properties:
73
- label: "Music"
74
- labelFontSize: 36
75
- labelColor: "#ffffff"
76
- labelAlign: left
77
- transform:
78
- position: [-120, 70]
79
- scale: [1, 1]
80
- rotation: 0
81
- children: []
82
- - id: music-toggle
83
- type: Checkbox2D
84
- name: Music Toggle
85
- properties:
86
- size: 44
87
- checked: true
88
- checkedColor: "#ffcf33"
89
- uncheckedColor: "#555577"
90
- transform:
91
- position: [150, 70]
92
- scale: [1, 1]
93
- rotation: 0
94
- children: []
95
- - id: sfx-label
96
- type: Label2D
97
- name: SFX Label
98
- properties:
99
- label: "Sound FX"
100
- labelFontSize: 36
101
- labelColor: "#ffffff"
102
- labelAlign: left
103
- transform:
104
- position: [-120, -10]
105
- scale: [1, 1]
106
- rotation: 0
107
- children: []
108
- - id: sfx-toggle
109
- type: Checkbox2D
110
- name: SFX Toggle
111
- properties:
112
- size: 44
113
- checked: true
114
- checkedColor: "#ffcf33"
115
- uncheckedColor: "#555577"
116
- transform:
117
- position: [150, -10]
118
- scale: [1, 1]
119
- rotation: 0
120
- children: []
121
- - id: close-button
122
- type: Button2D
123
- name: Close Button
124
- properties:
125
- width: 280
126
- height: 88
127
- label: "CLOSE"
128
- labelFontSize: 36
129
- labelColor: "#1a1a2e"
130
- backgroundColor: "#ffcf33"
131
- hoverColor: "#ffe066"
132
- pressedColor: "#e6b800"
133
- buttonAction: close-settings
134
- transform:
135
- position: [0, -180]
136
- scale: [1, 1]
137
- rotation: 0
138
- children: []
1
+ # Pix3 Scene File (YAML)
2
+ # Minigame 2D — the SETTINGS modal: a centered panel with Music/SFX checkboxes
3
+ # (wired to the audio buses by user:SettingsWindow) and a CLOSE button. It lives
4
+ # in its own file under scenes/ui/ so the menu scene opens clean. Host scenes
5
+ # carry it as a one-line `instance:` reference marked `visible: false`, which
6
+ # hides it in the EDITOR only; `initiallyVisible: false` on `settings-root`
7
+ # below is what play mode reads, and `user:MenuFlow` shows it at run time.
8
+ #
9
+ # Edit it here, full-screen, in its own tab. To preview it composited over the
10
+ # menu, tick the eye on `settings-window` in menu.pix3scene — just do not commit
11
+ # that tick, or every iteration starts behind the settings modal again.
12
+ #
13
+ # Instance it from any scene:
14
+ # - id: settings-window
15
+ # instance: res://scenes/ui/settings-window.pix3scene
16
+ # properties:
17
+ # visible: false
18
+ version: 1.0.0
19
+ metadata:
20
+ author: Pix3 Template
21
+ description: Reusable settings window (music/SFX toggles)
22
+ root:
23
+ - id: settings-root
24
+ type: Group2D
25
+ name: Settings Window
26
+ properties:
27
+ width: 640
28
+ height: 520
29
+ initiallyVisible: false
30
+ layout:
31
+ enabled: true
32
+ horizontalAlign: center
33
+ verticalAlign: center
34
+ components:
35
+ - id: settings-behavior
36
+ type: user:SettingsWindow
37
+ enabled: true
38
+ config:
39
+ musicToggle: music-toggle
40
+ sfxToggle: sfx-toggle
41
+ closeButton: close-button
42
+ children:
43
+ - id: settings-panel
44
+ type: ColorRect2D
45
+ name: Panel
46
+ properties:
47
+ width: 640
48
+ height: 520
49
+ color: "#1a1a2e"
50
+ opacity: 0.97
51
+ transform:
52
+ position: [0, 0]
53
+ scale: [1, 1]
54
+ rotation: 0
55
+ children: []
56
+ - id: settings-title
57
+ type: Label2D
58
+ name: Title
59
+ properties:
60
+ label: "SETTINGS"
61
+ labelFontSize: 48
62
+ labelColor: "#ffcf33"
63
+ labelAlign: center
64
+ transform:
65
+ position: [0, 190]
66
+ scale: [1, 1]
67
+ rotation: 0
68
+ children: []
69
+ - id: music-label
70
+ type: Label2D
71
+ name: Music Label
72
+ properties:
73
+ label: "Music"
74
+ labelFontSize: 36
75
+ labelColor: "#ffffff"
76
+ labelAlign: left
77
+ transform:
78
+ position: [-120, 70]
79
+ scale: [1, 1]
80
+ rotation: 0
81
+ children: []
82
+ - id: music-toggle
83
+ type: Checkbox2D
84
+ name: Music Toggle
85
+ properties:
86
+ size: 44
87
+ checked: true
88
+ checkedColor: "#ffcf33"
89
+ uncheckedColor: "#555577"
90
+ transform:
91
+ position: [150, 70]
92
+ scale: [1, 1]
93
+ rotation: 0
94
+ children: []
95
+ - id: sfx-label
96
+ type: Label2D
97
+ name: SFX Label
98
+ properties:
99
+ label: "Sound FX"
100
+ labelFontSize: 36
101
+ labelColor: "#ffffff"
102
+ labelAlign: left
103
+ transform:
104
+ position: [-120, -10]
105
+ scale: [1, 1]
106
+ rotation: 0
107
+ children: []
108
+ - id: sfx-toggle
109
+ type: Checkbox2D
110
+ name: SFX Toggle
111
+ properties:
112
+ size: 44
113
+ checked: true
114
+ checkedColor: "#ffcf33"
115
+ uncheckedColor: "#555577"
116
+ transform:
117
+ position: [150, -10]
118
+ scale: [1, 1]
119
+ rotation: 0
120
+ children: []
121
+ - id: close-button
122
+ type: Button2D
123
+ name: Close Button
124
+ properties:
125
+ width: 280
126
+ height: 88
127
+ label: "CLOSE"
128
+ labelFontSize: 36
129
+ labelColor: "#1a1a2e"
130
+ backgroundColor: "#ffcf33"
131
+ hoverColor: "#ffe066"
132
+ pressedColor: "#e6b800"
133
+ buttonAction: close-settings
134
+ transform:
135
+ position: [0, -180]
136
+ scale: [1, 1]
137
+ rotation: 0
138
+ children: []