@vgai/engine 0.3.0 → 0.4.0-canary.20260715.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/package.json +8 -2
  2. package/schemas/engine-api.json +124 -0
  3. package/schemas/engine-api.md +53 -0
  4. package/schemas/engine-capabilities.json +124 -0
  5. package/schemas/inputmap.schema.json +314 -0
  6. package/schemas/mat.schema.json +286 -0
  7. package/schemas/prefab.schema.json +10148 -0
  8. package/schemas/scn2d.schema.json +475 -0
  9. package/schemas/vgai-game.schema.json +383 -0
  10. package/schemas/vscn.schema.json +11007 -0
  11. package/src/adapter/{world-kind.ts → adapter-surface.ts} +6 -6
  12. package/src/adapter/authoring.ts +67 -0
  13. package/src/adapter/game-adapter.ts +8 -8
  14. package/src/adapter/host-context.ts +2 -4
  15. package/src/adapter/index.ts +3 -1
  16. package/src/adapter/system-adapter.ts +73 -0
  17. package/src/adapter/vgai-scene-game-adapter.ts +239 -180
  18. package/src/animation/xstate-animation-binding.ts +300 -262
  19. package/src/animation/xstate-animation-meta.ts +50 -13
  20. package/src/character/cloth-sim.ts +533 -0
  21. package/src/character/spring-chain.ts +307 -0
  22. package/src/core/game-loop.ts +41 -3
  23. package/src/core/seeded-random.ts +161 -0
  24. package/src/core/system-runner.ts +20 -3
  25. package/src/core/types.ts +37 -0
  26. package/src/data/data-asset.ts +1 -1
  27. package/src/dev/performance-profiler.ts +213 -0
  28. package/src/dev/webgl-gpu-timer.ts +53 -0
  29. package/src/ecs/component-manager.ts +45 -12
  30. package/src/ecs/game-component.ts +95 -11
  31. package/src/humanoid/bake.operation.ts +326 -0
  32. package/src/humanoid/body.ts +663 -0
  33. package/src/humanoid/clips.ts +149 -0
  34. package/src/humanoid/compose.ts +209 -0
  35. package/src/humanoid/generate.ts +189 -0
  36. package/src/humanoid/index.ts +36 -0
  37. package/src/humanoid/schema.ts +108 -0
  38. package/src/humanoid/skeleton.ts +345 -0
  39. package/src/index.ts +5 -5
  40. package/src/input/input-manager.ts +701 -22
  41. package/src/input/input-types.ts +5 -2
  42. package/src/manifest/index.ts +5 -5
  43. package/src/manifest/load.ts +125 -72
  44. package/src/manifest/schema.ts +362 -255
  45. package/src/react/game-state.tsx +135 -32
  46. package/src/react/root-adapter.tsx +49 -0
  47. package/src/react/unmanaged-root-detector.ts +66 -0
  48. package/src/react/use-data.ts +12 -2
  49. package/src/runtime/create-runtime.ts +100 -282
  50. package/src/runtime/debug-bridge.ts +483 -0
  51. package/src/runtime/debug-registry.ts +856 -0
  52. package/src/runtime/game.ts +342 -93
  53. package/src/runtime/gameplay-rng-trap.ts +134 -0
  54. package/src/runtime/input-router.ts +7 -7
  55. package/src/runtime/mount-game.ts +40 -38
  56. package/src/runtime/mount-manifest.ts +169 -37
  57. package/src/runtime/render-control.ts +13 -13
  58. package/src/runtime/render-seed.ts +1 -1
  59. package/src/runtime/state-bridge.ts +24 -10
  60. package/src/runtime/types.ts +110 -28
  61. package/src/scene/asset-registry.ts +22 -0
  62. package/src/scene/component-registry.ts +14 -3
  63. package/src/scene/defaults.ts +1 -0
  64. package/src/scene/light-camera-factory.ts +11 -3
  65. package/src/scene/scene-apply.ts +55 -4
  66. package/src/scene/scene-loader.ts +10 -27
  67. package/src/scene/scene-types.ts +0 -1
  68. package/src/scene/schema/index.ts +0 -34
  69. package/src/scene/schema/light.ts +16 -1
  70. package/src/scene/schema/material.ts +96 -91
  71. package/src/scene/schema/scene-file.ts +1 -7
  72. package/src/scene/user-data.ts +14 -1
  73. package/src/setup/setup-renderer.ts +1 -1
  74. package/src/tools/define-tool.ts +50 -11
  75. package/src/world2d/authoring-2d.ts +17 -1
  76. package/src/world2d/collision-2d.ts +1 -1
  77. package/src/world2d/pixi-game-adapter.ts +19 -17
  78. package/src/world2d/scene2d-loader.ts +1 -0
  79. package/src/world2d/types.ts +8 -2
  80. package/dist/adapter/authoring.d.ts +0 -404
  81. package/dist/adapter/authoring.d.ts.map +0 -1
  82. package/dist/adapter/authoring.js +0 -22
  83. package/dist/adapter/colyseus-networking-adapter.d.ts +0 -43
  84. package/dist/adapter/colyseus-networking-adapter.d.ts.map +0 -1
  85. package/dist/adapter/colyseus-networking-adapter.js +0 -38
  86. package/dist/adapter/first-party-systems.d.ts +0 -38
  87. package/dist/adapter/first-party-systems.d.ts.map +0 -1
  88. package/dist/adapter/first-party-systems.js +0 -77
  89. package/dist/adapter/game-adapter.d.ts +0 -133
  90. package/dist/adapter/game-adapter.d.ts.map +0 -1
  91. package/dist/adapter/game-adapter.js +0 -10
  92. package/dist/adapter/host-context.d.ts +0 -73
  93. package/dist/adapter/host-context.d.ts.map +0 -1
  94. package/dist/adapter/host-context.js +0 -16
  95. package/dist/adapter/index.d.ts +0 -22
  96. package/dist/adapter/index.d.ts.map +0 -1
  97. package/dist/adapter/index.js +0 -15
  98. package/dist/adapter/ingest/game-contract.d.ts +0 -53
  99. package/dist/adapter/ingest/game-contract.d.ts.map +0 -1
  100. package/dist/adapter/ingest/game-contract.js +0 -30
  101. package/dist/adapter/ingest/overlay-applier.d.ts +0 -118
  102. package/dist/adapter/ingest/overlay-applier.d.ts.map +0 -1
  103. package/dist/adapter/ingest/overlay-applier.js +0 -132
  104. package/dist/adapter/ingest/overlay-apply.d.ts +0 -60
  105. package/dist/adapter/ingest/overlay-apply.d.ts.map +0 -1
  106. package/dist/adapter/ingest/overlay-apply.js +0 -101
  107. package/dist/adapter/ingest/overlay-file.d.ts +0 -79
  108. package/dist/adapter/ingest/overlay-file.d.ts.map +0 -1
  109. package/dist/adapter/ingest/overlay-file.js +0 -66
  110. package/dist/adapter/ingest/overlay-report.d.ts +0 -113
  111. package/dist/adapter/ingest/overlay-report.d.ts.map +0 -1
  112. package/dist/adapter/ingest/overlay-report.js +0 -103
  113. package/dist/adapter/ingest/scene-capture.d.ts +0 -97
  114. package/dist/adapter/ingest/scene-capture.d.ts.map +0 -1
  115. package/dist/adapter/ingest/scene-capture.js +0 -248
  116. package/dist/adapter/ingest/upstream-pin.d.ts +0 -47
  117. package/dist/adapter/ingest/upstream-pin.d.ts.map +0 -1
  118. package/dist/adapter/ingest/upstream-pin.js +0 -50
  119. package/dist/adapter/loop-gate-report.d.ts +0 -34
  120. package/dist/adapter/loop-gate-report.d.ts.map +0 -1
  121. package/dist/adapter/loop-gate-report.js +0 -37
  122. package/dist/adapter/rapier-physics-adapter.d.ts +0 -12
  123. package/dist/adapter/rapier-physics-adapter.d.ts.map +0 -1
  124. package/dist/adapter/rapier-physics-adapter.js +0 -46
  125. package/dist/adapter/system-adapter.d.ts +0 -133
  126. package/dist/adapter/system-adapter.d.ts.map +0 -1
  127. package/dist/adapter/system-adapter.js +0 -13
  128. package/dist/adapter/transform.d.ts +0 -18
  129. package/dist/adapter/transform.d.ts.map +0 -1
  130. package/dist/adapter/transform.js +0 -1
  131. package/dist/adapter/vgai-scene-game-adapter.d.ts +0 -116
  132. package/dist/adapter/vgai-scene-game-adapter.d.ts.map +0 -1
  133. package/dist/adapter/vgai-scene-game-adapter.js +0 -714
  134. package/dist/adapter/world-kind.d.ts +0 -30
  135. package/dist/adapter/world-kind.d.ts.map +0 -1
  136. package/dist/adapter/world-kind.js +0 -18
  137. package/dist/ai/navigation.d.ts +0 -64
  138. package/dist/ai/navigation.d.ts.map +0 -1
  139. package/dist/ai/navigation.js +0 -133
  140. package/dist/animation/anim-graph-types.d.ts +0 -25
  141. package/dist/animation/anim-graph-types.d.ts.map +0 -1
  142. package/dist/animation/anim-graph-types.js +0 -1
  143. package/dist/animation/animation-clock.d.ts +0 -213
  144. package/dist/animation/animation-clock.d.ts.map +0 -1
  145. package/dist/animation/animation-clock.js +0 -301
  146. package/dist/animation/blend-node.d.ts +0 -22
  147. package/dist/animation/blend-node.d.ts.map +0 -1
  148. package/dist/animation/blend-node.js +0 -97
  149. package/dist/animation/camera-ownership.d.ts +0 -250
  150. package/dist/animation/camera-ownership.d.ts.map +0 -1
  151. package/dist/animation/camera-ownership.js +0 -169
  152. package/dist/animation/cinematic-cues.d.ts +0 -200
  153. package/dist/animation/cinematic-cues.d.ts.map +0 -1
  154. package/dist/animation/cinematic-cues.js +0 -213
  155. package/dist/animation/clip-map.d.ts +0 -12
  156. package/dist/animation/clip-map.d.ts.map +0 -1
  157. package/dist/animation/clip-map.js +0 -37
  158. package/dist/animation/gsap-registration.d.ts +0 -119
  159. package/dist/animation/gsap-registration.d.ts.map +0 -1
  160. package/dist/animation/gsap-registration.js +0 -92
  161. package/dist/animation/theatre-clock-binding.d.ts +0 -89
  162. package/dist/animation/theatre-clock-binding.d.ts.map +0 -1
  163. package/dist/animation/theatre-clock-binding.js +0 -29
  164. package/dist/animation/theatre-director.d.ts +0 -242
  165. package/dist/animation/theatre-director.d.ts.map +0 -1
  166. package/dist/animation/theatre-director.js +0 -235
  167. package/dist/animation/theatre-object-binding.d.ts +0 -305
  168. package/dist/animation/theatre-object-binding.d.ts.map +0 -1
  169. package/dist/animation/theatre-object-binding.js +0 -351
  170. package/dist/animation/xstate-animation-binding.d.ts +0 -111
  171. package/dist/animation/xstate-animation-binding.d.ts.map +0 -1
  172. package/dist/animation/xstate-animation-binding.js +0 -307
  173. package/dist/animation/xstate-animation-meta.d.ts +0 -228
  174. package/dist/animation/xstate-animation-meta.d.ts.map +0 -1
  175. package/dist/animation/xstate-animation-meta.js +0 -221
  176. package/dist/assets.d.ts +0 -26
  177. package/dist/assets.d.ts.map +0 -1
  178. package/dist/assets.js +0 -55
  179. package/dist/audio/index.d.ts +0 -4
  180. package/dist/audio/index.d.ts.map +0 -1
  181. package/dist/audio/index.js +0 -24
  182. package/dist/audio/tone-clock-binding.d.ts +0 -75
  183. package/dist/audio/tone-clock-binding.d.ts.map +0 -1
  184. package/dist/audio/tone-clock-binding.js +0 -29
  185. package/dist/audio/tone-context.d.ts +0 -114
  186. package/dist/audio/tone-context.d.ts.map +0 -1
  187. package/dist/audio/tone-context.js +0 -39
  188. package/dist/audio/tone-offline-render.d.ts +0 -90
  189. package/dist/audio/tone-offline-render.d.ts.map +0 -1
  190. package/dist/audio/tone-offline-render.js +0 -56
  191. package/dist/audio/wav-encode.d.ts +0 -38
  192. package/dist/audio/wav-encode.d.ts.map +0 -1
  193. package/dist/audio/wav-encode.js +0 -97
  194. package/dist/core/game-loop.d.ts +0 -21
  195. package/dist/core/game-loop.d.ts.map +0 -1
  196. package/dist/core/game-loop.js +0 -130
  197. package/dist/core/system-runner.d.ts +0 -120
  198. package/dist/core/system-runner.d.ts.map +0 -1
  199. package/dist/core/system-runner.js +0 -286
  200. package/dist/core/types.d.ts +0 -58
  201. package/dist/core/types.d.ts.map +0 -1
  202. package/dist/core/types.js +0 -25
  203. package/dist/data/data-asset.d.ts +0 -101
  204. package/dist/data/data-asset.d.ts.map +0 -1
  205. package/dist/data/data-asset.js +0 -122
  206. package/dist/data/data-check-core.d.ts +0 -110
  207. package/dist/data/data-check-core.d.ts.map +0 -1
  208. package/dist/data/data-check-core.js +0 -178
  209. package/dist/data/data-ref.d.ts +0 -79
  210. package/dist/data/data-ref.d.ts.map +0 -1
  211. package/dist/data/data-ref.js +0 -130
  212. package/dist/data/vite-plugin-data.d.ts +0 -79
  213. package/dist/data/vite-plugin-data.d.ts.map +0 -1
  214. package/dist/data/vite-plugin-data.js +0 -217
  215. package/dist/dev/console-bridge.d.ts +0 -22
  216. package/dist/dev/console-bridge.d.ts.map +0 -1
  217. package/dist/dev/console-bridge.js +0 -71
  218. package/dist/dev/debug-draw.d.ts +0 -24
  219. package/dist/dev/debug-draw.d.ts.map +0 -1
  220. package/dist/dev/debug-draw.js +0 -73
  221. package/dist/dev/logger.d.ts +0 -30
  222. package/dist/dev/logger.d.ts.map +0 -1
  223. package/dist/dev/logger.js +0 -90
  224. package/dist/ecs/component-manager.d.ts +0 -189
  225. package/dist/ecs/component-manager.d.ts.map +0 -1
  226. package/dist/ecs/component-manager.js +0 -676
  227. package/dist/ecs/game-component.d.ts +0 -97
  228. package/dist/ecs/game-component.d.ts.map +0 -1
  229. package/dist/ecs/game-component.js +0 -80
  230. package/dist/ecs/hmr-swap-report.d.ts +0 -53
  231. package/dist/ecs/hmr-swap-report.d.ts.map +0 -1
  232. package/dist/ecs/hmr-swap-report.js +0 -55
  233. package/dist/index.d.ts +0 -37
  234. package/dist/index.d.ts.map +0 -1
  235. package/dist/index.js +0 -30
  236. package/dist/input/input-manager.d.ts +0 -596
  237. package/dist/input/input-manager.d.ts.map +0 -1
  238. package/dist/input/input-manager.js +0 -1564
  239. package/dist/input/input-types.d.ts +0 -171
  240. package/dist/input/input-types.d.ts.map +0 -1
  241. package/dist/input/input-types.js +0 -1
  242. package/dist/input/prompt-labels.d.ts +0 -21
  243. package/dist/input/prompt-labels.d.ts.map +0 -1
  244. package/dist/input/prompt-labels.js +0 -121
  245. package/dist/input/rebind-controller.d.ts +0 -59
  246. package/dist/input/rebind-controller.d.ts.map +0 -1
  247. package/dist/input/rebind-controller.js +0 -85
  248. package/dist/input/schema.d.ts +0 -16
  249. package/dist/input/schema.d.ts.map +0 -1
  250. package/dist/input/schema.js +0 -228
  251. package/dist/loader.d.ts +0 -43
  252. package/dist/loader.d.ts.map +0 -1
  253. package/dist/loader.js +0 -59
  254. package/dist/manifest/index.d.ts +0 -5
  255. package/dist/manifest/index.d.ts.map +0 -1
  256. package/dist/manifest/index.js +0 -8
  257. package/dist/manifest/load-file.d.ts +0 -4
  258. package/dist/manifest/load-file.d.ts.map +0 -1
  259. package/dist/manifest/load-file.js +0 -14
  260. package/dist/manifest/load.d.ts +0 -117
  261. package/dist/manifest/load.d.ts.map +0 -1
  262. package/dist/manifest/load.js +0 -255
  263. package/dist/manifest/schema.d.ts +0 -173
  264. package/dist/manifest/schema.d.ts.map +0 -1
  265. package/dist/manifest/schema.js +0 -302
  266. package/dist/physics/collision-system.d.ts +0 -41
  267. package/dist/physics/collision-system.d.ts.map +0 -1
  268. package/dist/physics/collision-system.js +0 -64
  269. package/dist/physics/physics-registry.d.ts +0 -45
  270. package/dist/physics/physics-registry.d.ts.map +0 -1
  271. package/dist/physics/physics-registry.js +0 -65
  272. package/dist/physics/transform-writer.d.ts +0 -16
  273. package/dist/physics/transform-writer.d.ts.map +0 -1
  274. package/dist/physics/transform-writer.js +0 -38
  275. package/dist/physics/trigger-dispatch.d.ts +0 -24
  276. package/dist/physics/trigger-dispatch.d.ts.map +0 -1
  277. package/dist/physics/trigger-dispatch.js +0 -80
  278. package/dist/react/game-state.d.ts +0 -105
  279. package/dist/react/game-state.d.ts.map +0 -1
  280. package/dist/react/game-state.js +0 -144
  281. package/dist/react/use-data.d.ts +0 -60
  282. package/dist/react/use-data.d.ts.map +0 -1
  283. package/dist/react/use-data.js +0 -96
  284. package/dist/react/use-selection.d.ts +0 -75
  285. package/dist/react/use-selection.d.ts.map +0 -1
  286. package/dist/react/use-selection.js +0 -90
  287. package/dist/render/auto-batcher.d.ts +0 -34
  288. package/dist/render/auto-batcher.d.ts.map +0 -1
  289. package/dist/render/auto-batcher.js +0 -140
  290. package/dist/render/render-batch-system.d.ts +0 -33
  291. package/dist/render/render-batch-system.d.ts.map +0 -1
  292. package/dist/render/render-batch-system.js +0 -230
  293. package/dist/render/render-features.d.ts +0 -47
  294. package/dist/render/render-features.d.ts.map +0 -1
  295. package/dist/render/render-features.js +0 -105
  296. package/dist/render/render-settings.d.ts +0 -36
  297. package/dist/render/render-settings.d.ts.map +0 -1
  298. package/dist/render/render-settings.js +0 -51
  299. package/dist/runtime/create-runtime.d.ts +0 -280
  300. package/dist/runtime/create-runtime.d.ts.map +0 -1
  301. package/dist/runtime/create-runtime.js +0 -795
  302. package/dist/runtime/frame-selector-cache.d.ts +0 -41
  303. package/dist/runtime/frame-selector-cache.d.ts.map +0 -1
  304. package/dist/runtime/frame-selector-cache.js +0 -65
  305. package/dist/runtime/game.d.ts +0 -433
  306. package/dist/runtime/game.d.ts.map +0 -1
  307. package/dist/runtime/game.js +0 -569
  308. package/dist/runtime/input-router.d.ts +0 -78
  309. package/dist/runtime/input-router.d.ts.map +0 -1
  310. package/dist/runtime/input-router.js +0 -171
  311. package/dist/runtime/mount-game.d.ts +0 -129
  312. package/dist/runtime/mount-game.d.ts.map +0 -1
  313. package/dist/runtime/mount-game.js +0 -152
  314. package/dist/runtime/mount-manifest.d.ts +0 -119
  315. package/dist/runtime/mount-manifest.d.ts.map +0 -1
  316. package/dist/runtime/mount-manifest.js +0 -204
  317. package/dist/runtime/render-audio-control.d.ts +0 -110
  318. package/dist/runtime/render-audio-control.d.ts.map +0 -1
  319. package/dist/runtime/render-audio-control.js +0 -111
  320. package/dist/runtime/render-control.d.ts +0 -291
  321. package/dist/runtime/render-control.d.ts.map +0 -1
  322. package/dist/runtime/render-control.js +0 -264
  323. package/dist/runtime/render-seed.d.ts +0 -57
  324. package/dist/runtime/render-seed.d.ts.map +0 -1
  325. package/dist/runtime/render-seed.js +0 -74
  326. package/dist/runtime/scene-ui-bridge.d.ts +0 -69
  327. package/dist/runtime/scene-ui-bridge.d.ts.map +0 -1
  328. package/dist/runtime/scene-ui-bridge.js +0 -23
  329. package/dist/runtime/scene-ui-data.d.ts +0 -13
  330. package/dist/runtime/scene-ui-data.d.ts.map +0 -1
  331. package/dist/runtime/scene-ui-data.js +0 -92
  332. package/dist/runtime/state-bridge.d.ts +0 -47
  333. package/dist/runtime/state-bridge.d.ts.map +0 -1
  334. package/dist/runtime/state-bridge.js +0 -53
  335. package/dist/runtime/types.d.ts +0 -179
  336. package/dist/runtime/types.d.ts.map +0 -1
  337. package/dist/runtime/types.js +0 -1
  338. package/dist/scene/asset-loaders.d.ts +0 -79
  339. package/dist/scene/asset-loaders.d.ts.map +0 -1
  340. package/dist/scene/asset-loaders.js +0 -141
  341. package/dist/scene/asset-paths.d.ts +0 -11
  342. package/dist/scene/asset-paths.d.ts.map +0 -1
  343. package/dist/scene/asset-paths.js +0 -108
  344. package/dist/scene/asset-ref-check.d.ts +0 -88
  345. package/dist/scene/asset-ref-check.d.ts.map +0 -1
  346. package/dist/scene/asset-ref-check.js +0 -214
  347. package/dist/scene/asset-registry.d.ts +0 -30
  348. package/dist/scene/asset-registry.d.ts.map +0 -1
  349. package/dist/scene/asset-registry.js +0 -50
  350. package/dist/scene/collider-dimensions.d.ts +0 -63
  351. package/dist/scene/collider-dimensions.d.ts.map +0 -1
  352. package/dist/scene/collider-dimensions.js +0 -98
  353. package/dist/scene/component-registry.d.ts +0 -17
  354. package/dist/scene/component-registry.d.ts.map +0 -1
  355. package/dist/scene/component-registry.js +0 -28
  356. package/dist/scene/defaults.d.ts +0 -252
  357. package/dist/scene/defaults.d.ts.map +0 -1
  358. package/dist/scene/defaults.js +0 -151
  359. package/dist/scene/geometries/index.d.ts +0 -8
  360. package/dist/scene/geometries/index.d.ts.map +0 -1
  361. package/dist/scene/geometries/index.js +0 -7
  362. package/dist/scene/geometries/terrain.d.ts +0 -2
  363. package/dist/scene/geometries/terrain.d.ts.map +0 -1
  364. package/dist/scene/geometries/terrain.js +0 -37
  365. package/dist/scene/geometry-registry.d.ts +0 -24
  366. package/dist/scene/geometry-registry.d.ts.map +0 -1
  367. package/dist/scene/geometry-registry.js +0 -20
  368. package/dist/scene/instance-registry.d.ts +0 -36
  369. package/dist/scene/instance-registry.d.ts.map +0 -1
  370. package/dist/scene/instance-registry.js +0 -55
  371. package/dist/scene/instancers/grid.d.ts +0 -2
  372. package/dist/scene/instancers/grid.d.ts.map +0 -1
  373. package/dist/scene/instancers/grid.js +0 -36
  374. package/dist/scene/instancers/index.d.ts +0 -8
  375. package/dist/scene/instancers/index.d.ts.map +0 -1
  376. package/dist/scene/instancers/index.js +0 -7
  377. package/dist/scene/light-camera-factory.d.ts +0 -23
  378. package/dist/scene/light-camera-factory.d.ts.map +0 -1
  379. package/dist/scene/light-camera-factory.js +0 -68
  380. package/dist/scene/material-factory.d.ts +0 -17
  381. package/dist/scene/material-factory.d.ts.map +0 -1
  382. package/dist/scene/material-factory.js +0 -197
  383. package/dist/scene/material-registry.d.ts +0 -40
  384. package/dist/scene/material-registry.d.ts.map +0 -1
  385. package/dist/scene/material-registry.js +0 -44
  386. package/dist/scene/materials/index.d.ts +0 -8
  387. package/dist/scene/materials/index.d.ts.map +0 -1
  388. package/dist/scene/materials/index.js +0 -7
  389. package/dist/scene/materials/water.d.ts +0 -2
  390. package/dist/scene/materials/water.d.ts.map +0 -1
  391. package/dist/scene/materials/water.js +0 -54
  392. package/dist/scene/parse.d.ts +0 -23
  393. package/dist/scene/parse.d.ts.map +0 -1
  394. package/dist/scene/parse.js +0 -179
  395. package/dist/scene/particles-factory.d.ts +0 -33
  396. package/dist/scene/particles-factory.d.ts.map +0 -1
  397. package/dist/scene/particles-factory.js +0 -282
  398. package/dist/scene/scene-apply.d.ts +0 -109
  399. package/dist/scene/scene-apply.d.ts.map +0 -1
  400. package/dist/scene/scene-apply.js +0 -326
  401. package/dist/scene/scene-diff-schema.d.ts +0 -285
  402. package/dist/scene/scene-diff-schema.d.ts.map +0 -1
  403. package/dist/scene/scene-diff-schema.js +0 -92
  404. package/dist/scene/scene-diff-types.d.ts +0 -40
  405. package/dist/scene/scene-diff-types.d.ts.map +0 -1
  406. package/dist/scene/scene-diff-types.js +0 -14
  407. package/dist/scene/scene-loader.d.ts +0 -177
  408. package/dist/scene/scene-loader.d.ts.map +0 -1
  409. package/dist/scene/scene-loader.js +0 -1213
  410. package/dist/scene/scene-query.d.ts +0 -11
  411. package/dist/scene/scene-query.d.ts.map +0 -1
  412. package/dist/scene/scene-query.js +0 -63
  413. package/dist/scene/scene-types.d.ts +0 -10
  414. package/dist/scene/scene-types.d.ts.map +0 -1
  415. package/dist/scene/scene-types.js +0 -8
  416. package/dist/scene/scene-version.d.ts +0 -26
  417. package/dist/scene/scene-version.d.ts.map +0 -1
  418. package/dist/scene/scene-version.js +0 -34
  419. package/dist/scene/schema/animation.d.ts +0 -8
  420. package/dist/scene/schema/animation.d.ts.map +0 -1
  421. package/dist/scene/schema/animation.js +0 -42
  422. package/dist/scene/schema/audio.d.ts +0 -13
  423. package/dist/scene/schema/audio.d.ts.map +0 -1
  424. package/dist/scene/schema/audio.js +0 -22
  425. package/dist/scene/schema/camera.d.ts +0 -28
  426. package/dist/scene/schema/camera.d.ts.map +0 -1
  427. package/dist/scene/schema/camera.js +0 -17
  428. package/dist/scene/schema/collider.d.ts +0 -40
  429. package/dist/scene/schema/collider.d.ts.map +0 -1
  430. package/dist/scene/schema/collider.js +0 -55
  431. package/dist/scene/schema/entity-ref.d.ts +0 -31
  432. package/dist/scene/schema/entity-ref.d.ts.map +0 -1
  433. package/dist/scene/schema/entity-ref.js +0 -61
  434. package/dist/scene/schema/entity.d.ts +0 -1036
  435. package/dist/scene/schema/entity.d.ts.map +0 -1
  436. package/dist/scene/schema/entity.js +0 -153
  437. package/dist/scene/schema/environment.d.ts +0 -425
  438. package/dist/scene/schema/environment.d.ts.map +0 -1
  439. package/dist/scene/schema/environment.js +0 -357
  440. package/dist/scene/schema/index.d.ts +0 -39
  441. package/dist/scene/schema/index.d.ts.map +0 -1
  442. package/dist/scene/schema/index.js +0 -20
  443. package/dist/scene/schema/instances.d.ts +0 -14
  444. package/dist/scene/schema/instances.d.ts.map +0 -1
  445. package/dist/scene/schema/instances.js +0 -28
  446. package/dist/scene/schema/joint.d.ts +0 -23
  447. package/dist/scene/schema/joint.d.ts.map +0 -1
  448. package/dist/scene/schema/joint.js +0 -23
  449. package/dist/scene/schema/light.d.ts +0 -38
  450. package/dist/scene/schema/light.d.ts.map +0 -1
  451. package/dist/scene/schema/light.js +0 -26
  452. package/dist/scene/schema/material.d.ts +0 -199
  453. package/dist/scene/schema/material.d.ts.map +0 -1
  454. package/dist/scene/schema/material.js +0 -99
  455. package/dist/scene/schema/mesh.d.ts +0 -48
  456. package/dist/scene/schema/mesh.d.ts.map +0 -1
  457. package/dist/scene/schema/mesh.js +0 -82
  458. package/dist/scene/schema/particles.d.ts +0 -2178
  459. package/dist/scene/schema/particles.d.ts.map +0 -1
  460. package/dist/scene/schema/particles.js +0 -321
  461. package/dist/scene/schema/physics.d.ts +0 -56
  462. package/dist/scene/schema/physics.d.ts.map +0 -1
  463. package/dist/scene/schema/physics.js +0 -37
  464. package/dist/scene/schema/scene-file.d.ts +0 -304
  465. package/dist/scene/schema/scene-file.d.ts.map +0 -1
  466. package/dist/scene/schema/scene-file.js +0 -262
  467. package/dist/scene/schema/shadow.d.ts +0 -28
  468. package/dist/scene/schema/shadow.d.ts.map +0 -1
  469. package/dist/scene/schema/shadow.js +0 -20
  470. package/dist/scene/schema/spline.d.ts +0 -25
  471. package/dist/scene/schema/spline.d.ts.map +0 -1
  472. package/dist/scene/schema/spline.js +0 -15
  473. package/dist/scene/schema/tuples.d.ts +0 -12
  474. package/dist/scene/schema/tuples.d.ts.map +0 -1
  475. package/dist/scene/schema/tuples.js +0 -14
  476. package/dist/scene/schema/ui.d.ts +0 -880
  477. package/dist/scene/schema/ui.d.ts.map +0 -1
  478. package/dist/scene/schema/ui.js +0 -506
  479. package/dist/scene/user-data.d.ts +0 -171
  480. package/dist/scene/user-data.d.ts.map +0 -1
  481. package/dist/scene/user-data.js +0 -137
  482. package/dist/setup/setup-audio.d.ts +0 -20
  483. package/dist/setup/setup-audio.d.ts.map +0 -1
  484. package/dist/setup/setup-audio.js +0 -41
  485. package/dist/setup/setup-particles.d.ts +0 -17
  486. package/dist/setup/setup-particles.d.ts.map +0 -1
  487. package/dist/setup/setup-particles.js +0 -16
  488. package/dist/setup/setup-physics.d.ts +0 -25
  489. package/dist/setup/setup-physics.d.ts.map +0 -1
  490. package/dist/setup/setup-physics.js +0 -51
  491. package/dist/setup/setup-renderer.d.ts +0 -69
  492. package/dist/setup/setup-renderer.d.ts.map +0 -1
  493. package/dist/setup/setup-renderer.js +0 -363
  494. package/dist/tools/define-tool.d.ts +0 -105
  495. package/dist/tools/define-tool.d.ts.map +0 -1
  496. package/dist/tools/define-tool.js +0 -82
  497. package/dist/world2d/authoring-2d.d.ts +0 -76
  498. package/dist/world2d/authoring-2d.d.ts.map +0 -1
  499. package/dist/world2d/authoring-2d.js +0 -176
  500. package/dist/world2d/capture-to-scene2d.d.ts +0 -5
  501. package/dist/world2d/capture-to-scene2d.d.ts.map +0 -1
  502. package/dist/world2d/capture-to-scene2d.js +0 -49
  503. package/dist/world2d/collision-2d.d.ts +0 -52
  504. package/dist/world2d/collision-2d.d.ts.map +0 -1
  505. package/dist/world2d/collision-2d.js +0 -70
  506. package/dist/world2d/components-2d.d.ts +0 -47
  507. package/dist/world2d/components-2d.d.ts.map +0 -1
  508. package/dist/world2d/components-2d.js +0 -77
  509. package/dist/world2d/index.d.ts +0 -34
  510. package/dist/world2d/index.d.ts.map +0 -1
  511. package/dist/world2d/index.js +0 -32
  512. package/dist/world2d/ingest-iframe-2d.d.ts +0 -82
  513. package/dist/world2d/ingest-iframe-2d.d.ts.map +0 -1
  514. package/dist/world2d/ingest-iframe-2d.js +0 -166
  515. package/dist/world2d/ingest2d.d.ts +0 -97
  516. package/dist/world2d/ingest2d.d.ts.map +0 -1
  517. package/dist/world2d/ingest2d.js +0 -40
  518. package/dist/world2d/physics2d-registry.d.ts +0 -24
  519. package/dist/world2d/physics2d-registry.d.ts.map +0 -1
  520. package/dist/world2d/physics2d-registry.js +0 -38
  521. package/dist/world2d/pixi-game-adapter.d.ts +0 -107
  522. package/dist/world2d/pixi-game-adapter.d.ts.map +0 -1
  523. package/dist/world2d/pixi-game-adapter.js +0 -211
  524. package/dist/world2d/pixi-surface.d.ts +0 -39
  525. package/dist/world2d/pixi-surface.d.ts.map +0 -1
  526. package/dist/world2d/pixi-surface.js +0 -47
  527. package/dist/world2d/scene-capture-2d.d.ts +0 -43
  528. package/dist/world2d/scene-capture-2d.d.ts.map +0 -1
  529. package/dist/world2d/scene-capture-2d.js +0 -92
  530. package/dist/world2d/scene2d-loader.d.ts +0 -27
  531. package/dist/world2d/scene2d-loader.d.ts.map +0 -1
  532. package/dist/world2d/scene2d-loader.js +0 -274
  533. package/dist/world2d/schema/entity2d.d.ts +0 -102
  534. package/dist/world2d/schema/entity2d.d.ts.map +0 -1
  535. package/dist/world2d/schema/entity2d.js +0 -119
  536. package/dist/world2d/schema/physics2d.d.ts +0 -46
  537. package/dist/world2d/schema/physics2d.d.ts.map +0 -1
  538. package/dist/world2d/schema/physics2d.js +0 -45
  539. package/dist/world2d/schema/sprite.d.ts +0 -42
  540. package/dist/world2d/schema/sprite.d.ts.map +0 -1
  541. package/dist/world2d/schema/sprite.js +0 -63
  542. package/dist/world2d/schema/tilemap.d.ts +0 -15
  543. package/dist/world2d/schema/tilemap.d.ts.map +0 -1
  544. package/dist/world2d/schema/tilemap.js +0 -19
  545. package/dist/world2d/schema/tuples2d.d.ts +0 -20
  546. package/dist/world2d/schema/tuples2d.d.ts.map +0 -1
  547. package/dist/world2d/schema/tuples2d.js +0 -19
  548. package/dist/world2d/system-adapters-2d.d.ts +0 -16
  549. package/dist/world2d/system-adapters-2d.d.ts.map +0 -1
  550. package/dist/world2d/system-adapters-2d.js +0 -37
  551. package/dist/world2d/transform-writer-2d.d.ts +0 -16
  552. package/dist/world2d/transform-writer-2d.d.ts.map +0 -1
  553. package/dist/world2d/transform-writer-2d.js +0 -22
  554. package/dist/world2d/types.d.ts +0 -53
  555. package/dist/world2d/types.d.ts.map +0 -1
  556. package/dist/world2d/types.js +0 -1
  557. package/src/runtime/scene-ui-bridge.ts +0 -86
  558. package/src/runtime/scene-ui-data.ts +0 -119
  559. package/src/scene/schema/ui.ts +0 -602
@@ -1,880 +0,0 @@
1
- import { z } from 'zod';
2
- /**
3
- * A declarative binding to the game's reactive data source. The runtime resolves
4
- * `source` (a dotted path, e.g. "player.health") against the UIDataSource the
5
- * game provides; `mode` controls write-back for input controls (two-way / MVVM).
6
- */
7
- export declare const UIBindingSchema: z.ZodObject<{
8
- source: z.ZodString;
9
- mode: z.ZodOptional<z.ZodEnum<{
10
- "one-way": "one-way";
11
- "two-way": "two-way";
12
- }>>;
13
- transform: z.ZodOptional<z.ZodString>;
14
- fallback: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
15
- }, z.core.$strip>;
16
- export type UIBinding = z.infer<typeof UIBindingSchema>;
17
- export declare const UILayoutSchema: z.ZodObject<{
18
- position: z.ZodOptional<z.ZodEnum<{
19
- flow: "flow";
20
- absolute: "absolute";
21
- }>>;
22
- anchor: z.ZodOptional<z.ZodObject<{
23
- left: z.ZodNumber;
24
- top: z.ZodNumber;
25
- right: z.ZodNumber;
26
- bottom: z.ZodNumber;
27
- }, z.core.$strip>>;
28
- offset: z.ZodOptional<z.ZodObject<{
29
- left: z.ZodNumber;
30
- top: z.ZodNumber;
31
- right: z.ZodNumber;
32
- bottom: z.ZodNumber;
33
- }, z.core.$strip>>;
34
- pivot: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
35
- width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
36
- height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
37
- minWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
38
- maxWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
39
- minHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
40
- maxHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
41
- aspectRatio: z.ZodOptional<z.ZodNumber>;
42
- direction: z.ZodOptional<z.ZodEnum<{
43
- column: "column";
44
- row: "row";
45
- "row-reverse": "row-reverse";
46
- "column-reverse": "column-reverse";
47
- }>>;
48
- justify: z.ZodOptional<z.ZodEnum<{
49
- start: "start";
50
- center: "center";
51
- end: "end";
52
- "space-between": "space-between";
53
- "space-around": "space-around";
54
- "space-evenly": "space-evenly";
55
- }>>;
56
- align: z.ZodOptional<z.ZodEnum<{
57
- start: "start";
58
- center: "center";
59
- end: "end";
60
- stretch: "stretch";
61
- baseline: "baseline";
62
- }>>;
63
- wrap: z.ZodOptional<z.ZodBoolean>;
64
- gap: z.ZodOptional<z.ZodNumber>;
65
- columns: z.ZodOptional<z.ZodNumber>;
66
- grow: z.ZodOptional<z.ZodNumber>;
67
- shrink: z.ZodOptional<z.ZodNumber>;
68
- basis: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
69
- alignSelf: z.ZodOptional<z.ZodEnum<{
70
- auto: "auto";
71
- start: "start";
72
- center: "center";
73
- end: "end";
74
- stretch: "stretch";
75
- baseline: "baseline";
76
- }>>;
77
- padding: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
78
- margin: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
79
- zIndex: z.ZodOptional<z.ZodNumber>;
80
- overflow: z.ZodOptional<z.ZodEnum<{
81
- auto: "auto";
82
- visible: "visible";
83
- hidden: "hidden";
84
- scroll: "scroll";
85
- }>>;
86
- }, z.core.$strip>;
87
- export type UILayout = z.infer<typeof UILayoutSchema>;
88
- /**
89
- * A flat style bag. Values are literal CSS-ish values OR theme-token refs
90
- * ("$accent"). Kept open (record) for forward-compat, with the common authored
91
- * properties documented. Numbers are treated as px where a length is expected.
92
- */
93
- export declare const UIStyleSchema: z.ZodObject<{
94
- backgroundColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
95
- backgroundImage: z.ZodOptional<z.ZodString>;
96
- backgroundSize: z.ZodOptional<z.ZodString>;
97
- color: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
98
- fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
99
- fontFamily: z.ZodOptional<z.ZodString>;
100
- fontWeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
101
- fontStyle: z.ZodOptional<z.ZodString>;
102
- textAlign: z.ZodOptional<z.ZodEnum<{
103
- center: "center";
104
- left: "left";
105
- right: "right";
106
- justify: "justify";
107
- }>>;
108
- lineHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
109
- letterSpacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
110
- opacity: z.ZodOptional<z.ZodNumber>;
111
- borderRadius: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
112
- borderWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
113
- borderColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
114
- borderStyle: z.ZodOptional<z.ZodEnum<{
115
- none: "none";
116
- solid: "solid";
117
- dashed: "dashed";
118
- dotted: "dotted";
119
- }>>;
120
- boxShadow: z.ZodOptional<z.ZodString>;
121
- sliceInset: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
122
- cursor: z.ZodOptional<z.ZodString>;
123
- transition: z.ZodOptional<z.ZodString>;
124
- }, z.core.$strip>;
125
- export type UIStyle = z.infer<typeof UIStyleSchema>;
126
- /** Per-state style overrides (F3): normal is the base style; these layer on top. */
127
- export declare const UIStateStylesSchema: z.ZodObject<{
128
- hover: z.ZodOptional<z.ZodObject<{
129
- backgroundColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
130
- backgroundImage: z.ZodOptional<z.ZodString>;
131
- backgroundSize: z.ZodOptional<z.ZodString>;
132
- color: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
133
- fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
134
- fontFamily: z.ZodOptional<z.ZodString>;
135
- fontWeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
136
- fontStyle: z.ZodOptional<z.ZodString>;
137
- textAlign: z.ZodOptional<z.ZodEnum<{
138
- center: "center";
139
- left: "left";
140
- right: "right";
141
- justify: "justify";
142
- }>>;
143
- lineHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
144
- letterSpacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
145
- opacity: z.ZodOptional<z.ZodNumber>;
146
- borderRadius: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
147
- borderWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
148
- borderColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
149
- borderStyle: z.ZodOptional<z.ZodEnum<{
150
- none: "none";
151
- solid: "solid";
152
- dashed: "dashed";
153
- dotted: "dotted";
154
- }>>;
155
- boxShadow: z.ZodOptional<z.ZodString>;
156
- sliceInset: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
157
- cursor: z.ZodOptional<z.ZodString>;
158
- transition: z.ZodOptional<z.ZodString>;
159
- }, z.core.$strip>>;
160
- pressed: z.ZodOptional<z.ZodObject<{
161
- backgroundColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
162
- backgroundImage: z.ZodOptional<z.ZodString>;
163
- backgroundSize: z.ZodOptional<z.ZodString>;
164
- color: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
165
- fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
166
- fontFamily: z.ZodOptional<z.ZodString>;
167
- fontWeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
168
- fontStyle: z.ZodOptional<z.ZodString>;
169
- textAlign: z.ZodOptional<z.ZodEnum<{
170
- center: "center";
171
- left: "left";
172
- right: "right";
173
- justify: "justify";
174
- }>>;
175
- lineHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
176
- letterSpacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
177
- opacity: z.ZodOptional<z.ZodNumber>;
178
- borderRadius: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
179
- borderWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
180
- borderColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
181
- borderStyle: z.ZodOptional<z.ZodEnum<{
182
- none: "none";
183
- solid: "solid";
184
- dashed: "dashed";
185
- dotted: "dotted";
186
- }>>;
187
- boxShadow: z.ZodOptional<z.ZodString>;
188
- sliceInset: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
189
- cursor: z.ZodOptional<z.ZodString>;
190
- transition: z.ZodOptional<z.ZodString>;
191
- }, z.core.$strip>>;
192
- disabled: z.ZodOptional<z.ZodObject<{
193
- backgroundColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
194
- backgroundImage: z.ZodOptional<z.ZodString>;
195
- backgroundSize: z.ZodOptional<z.ZodString>;
196
- color: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
197
- fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
198
- fontFamily: z.ZodOptional<z.ZodString>;
199
- fontWeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
200
- fontStyle: z.ZodOptional<z.ZodString>;
201
- textAlign: z.ZodOptional<z.ZodEnum<{
202
- center: "center";
203
- left: "left";
204
- right: "right";
205
- justify: "justify";
206
- }>>;
207
- lineHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
208
- letterSpacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
209
- opacity: z.ZodOptional<z.ZodNumber>;
210
- borderRadius: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
211
- borderWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
212
- borderColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
213
- borderStyle: z.ZodOptional<z.ZodEnum<{
214
- none: "none";
215
- solid: "solid";
216
- dashed: "dashed";
217
- dotted: "dotted";
218
- }>>;
219
- boxShadow: z.ZodOptional<z.ZodString>;
220
- sliceInset: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
221
- cursor: z.ZodOptional<z.ZodString>;
222
- transition: z.ZodOptional<z.ZodString>;
223
- }, z.core.$strip>>;
224
- focus: z.ZodOptional<z.ZodObject<{
225
- backgroundColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
226
- backgroundImage: z.ZodOptional<z.ZodString>;
227
- backgroundSize: z.ZodOptional<z.ZodString>;
228
- color: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
229
- fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
230
- fontFamily: z.ZodOptional<z.ZodString>;
231
- fontWeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
232
- fontStyle: z.ZodOptional<z.ZodString>;
233
- textAlign: z.ZodOptional<z.ZodEnum<{
234
- center: "center";
235
- left: "left";
236
- right: "right";
237
- justify: "justify";
238
- }>>;
239
- lineHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
240
- letterSpacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
241
- opacity: z.ZodOptional<z.ZodNumber>;
242
- borderRadius: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
243
- borderWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
244
- borderColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
245
- borderStyle: z.ZodOptional<z.ZodEnum<{
246
- none: "none";
247
- solid: "solid";
248
- dashed: "dashed";
249
- dotted: "dotted";
250
- }>>;
251
- boxShadow: z.ZodOptional<z.ZodString>;
252
- sliceInset: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
253
- cursor: z.ZodOptional<z.ZodString>;
254
- transition: z.ZodOptional<z.ZodString>;
255
- }, z.core.$strip>>;
256
- }, z.core.$strip>;
257
- /**
258
- * A reusable theme/style resource (F1). `tokens` is a flat map of token name ->
259
- * value referenced by style props as "$name". `variants` are named style
260
- * variations of a base look (F4 / Godot type variations). Authored inline on a
261
- * UI root OR as a standalone `.uitheme.json` referenced by `themeRef`.
262
- */
263
- export declare const UIThemeSchema: z.ZodObject<{
264
- name: z.ZodString;
265
- tokens: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
266
- variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
267
- backgroundColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
268
- backgroundImage: z.ZodOptional<z.ZodString>;
269
- backgroundSize: z.ZodOptional<z.ZodString>;
270
- color: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
271
- fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
272
- fontFamily: z.ZodOptional<z.ZodString>;
273
- fontWeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
274
- fontStyle: z.ZodOptional<z.ZodString>;
275
- textAlign: z.ZodOptional<z.ZodEnum<{
276
- center: "center";
277
- left: "left";
278
- right: "right";
279
- justify: "justify";
280
- }>>;
281
- lineHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
282
- letterSpacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
283
- opacity: z.ZodOptional<z.ZodNumber>;
284
- borderRadius: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
285
- borderWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
286
- borderColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
287
- borderStyle: z.ZodOptional<z.ZodEnum<{
288
- none: "none";
289
- solid: "solid";
290
- dashed: "dashed";
291
- dotted: "dotted";
292
- }>>;
293
- boxShadow: z.ZodOptional<z.ZodString>;
294
- sliceInset: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
295
- cursor: z.ZodOptional<z.ZodString>;
296
- transition: z.ZodOptional<z.ZodString>;
297
- }, z.core.$strip>>>;
298
- }, z.core.$strip>;
299
- export type UITheme = z.infer<typeof UIThemeSchema>;
300
- /** Standalone theme asset file (.uitheme.json) — the chosen theme file boundary. */
301
- export declare const UIThemeFileSchema: z.ZodObject<{
302
- version: z.ZodNumber;
303
- theme: z.ZodObject<{
304
- name: z.ZodString;
305
- tokens: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
306
- variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
307
- backgroundColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
308
- backgroundImage: z.ZodOptional<z.ZodString>;
309
- backgroundSize: z.ZodOptional<z.ZodString>;
310
- color: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
311
- fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
312
- fontFamily: z.ZodOptional<z.ZodString>;
313
- fontWeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
314
- fontStyle: z.ZodOptional<z.ZodString>;
315
- textAlign: z.ZodOptional<z.ZodEnum<{
316
- center: "center";
317
- left: "left";
318
- right: "right";
319
- justify: "justify";
320
- }>>;
321
- lineHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
322
- letterSpacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
323
- opacity: z.ZodOptional<z.ZodNumber>;
324
- borderRadius: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
325
- borderWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
326
- borderColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
327
- borderStyle: z.ZodOptional<z.ZodEnum<{
328
- none: "none";
329
- solid: "solid";
330
- dashed: "dashed";
331
- dotted: "dotted";
332
- }>>;
333
- boxShadow: z.ZodOptional<z.ZodString>;
334
- sliceInset: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
335
- cursor: z.ZodOptional<z.ZodString>;
336
- transition: z.ZodOptional<z.ZodString>;
337
- }, z.core.$strip>>>;
338
- }, z.core.$strip>;
339
- }, z.core.$strip>;
340
- export type UIThemeFile = z.infer<typeof UIThemeFileSchema>;
341
- /**
342
- * Node kinds. Containers (canvas/box/grid/stack/scroll/panel/tab/center/wrap/
343
- * aspect/sizebox) arrange children; controls (text/richtext/button/image/input/
344
- * toggle/slider/dropdown/progress) are leaves; `component` references a reusable
345
- * React component or a saved UI prefab.
346
- */
347
- export declare const UINodeKindSchema: z.ZodEnum<{
348
- input: "input";
349
- toggle: "toggle";
350
- box: "box";
351
- grid: "grid";
352
- center: "center";
353
- wrap: "wrap";
354
- scroll: "scroll";
355
- canvas: "canvas";
356
- stack: "stack";
357
- panel: "panel";
358
- aspect: "aspect";
359
- sizebox: "sizebox";
360
- tab: "tab";
361
- text: "text";
362
- richtext: "richtext";
363
- button: "button";
364
- image: "image";
365
- slider: "slider";
366
- dropdown: "dropdown";
367
- progress: "progress";
368
- component: "component";
369
- }>;
370
- export type UINodeKind = z.infer<typeof UINodeKindSchema>;
371
- /** Easing applied to the segment LEAVING a keyframe toward the next. */
372
- export declare const UIEasingSchema: z.ZodEnum<{
373
- linear: "linear";
374
- "ease-in": "ease-in";
375
- "ease-out": "ease-out";
376
- "ease-in-out": "ease-in-out";
377
- step: "step";
378
- }>;
379
- export type UIEasing = z.infer<typeof UIEasingSchema>;
380
- /**
381
- * The animatable properties. Curated so each maps to a GPU-friendly CSS output
382
- * (transform/opacity/color/size) — animating these does not reflow per frame.
383
- */
384
- export declare const UIAnimatablePropertySchema: z.ZodEnum<{
385
- color: "color";
386
- width: "width";
387
- height: "height";
388
- scale: "scale";
389
- opacity: "opacity";
390
- backgroundColor: "backgroundColor";
391
- translateX: "translateX";
392
- translateY: "translateY";
393
- rotate: "rotate";
394
- }>;
395
- export type UIAnimatableProperty = z.infer<typeof UIAnimatablePropertySchema>;
396
- /** A single keyframe: a value at a time (seconds), with the easing leaving it. */
397
- export declare const UIKeyframeSchema: z.ZodObject<{
398
- time: z.ZodNumber;
399
- value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
400
- easing: z.ZodOptional<z.ZodEnum<{
401
- linear: "linear";
402
- "ease-in": "ease-in";
403
- "ease-out": "ease-out";
404
- "ease-in-out": "ease-in-out";
405
- step: "step";
406
- }>>;
407
- }, z.core.$strip>;
408
- export type UIKeyframe = z.infer<typeof UIKeyframeSchema>;
409
- /** A track animates ONE property via an ordered list of keyframes (S1). */
410
- export declare const UITrackSchema: z.ZodObject<{
411
- property: z.ZodEnum<{
412
- color: "color";
413
- width: "width";
414
- height: "height";
415
- scale: "scale";
416
- opacity: "opacity";
417
- backgroundColor: "backgroundColor";
418
- translateX: "translateX";
419
- translateY: "translateY";
420
- rotate: "rotate";
421
- }>;
422
- keyframes: z.ZodArray<z.ZodObject<{
423
- time: z.ZodNumber;
424
- value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
425
- easing: z.ZodOptional<z.ZodEnum<{
426
- linear: "linear";
427
- "ease-in": "ease-in";
428
- "ease-out": "ease-out";
429
- "ease-in-out": "ease-in-out";
430
- step: "step";
431
- }>>;
432
- }, z.core.$strip>>;
433
- }, z.core.$strip>;
434
- export type UITrack = z.infer<typeof UITrackSchema>;
435
- /** A named animation clip: multiple tracks (multi-property), duration, loop (S1). */
436
- declare const UIAnimationBase: z.ZodObject<{
437
- name: z.ZodString;
438
- duration: z.ZodNumber;
439
- loop: z.ZodOptional<z.ZodBoolean>;
440
- autoplay: z.ZodOptional<z.ZodBoolean>;
441
- playOnEvent: z.ZodOptional<z.ZodString>;
442
- tracks: z.ZodArray<z.ZodObject<{
443
- property: z.ZodEnum<{
444
- color: "color";
445
- width: "width";
446
- height: "height";
447
- scale: "scale";
448
- opacity: "opacity";
449
- backgroundColor: "backgroundColor";
450
- translateX: "translateX";
451
- translateY: "translateY";
452
- rotate: "rotate";
453
- }>;
454
- keyframes: z.ZodArray<z.ZodObject<{
455
- time: z.ZodNumber;
456
- value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
457
- easing: z.ZodOptional<z.ZodEnum<{
458
- linear: "linear";
459
- "ease-in": "ease-in";
460
- "ease-out": "ease-out";
461
- "ease-in-out": "ease-in-out";
462
- step: "step";
463
- }>>;
464
- }, z.core.$strip>>;
465
- }, z.core.$strip>>;
466
- }, z.core.$strip>;
467
- export declare const UIAnimationSchema: z.ZodObject<{
468
- name: z.ZodString;
469
- duration: z.ZodNumber;
470
- loop: z.ZodOptional<z.ZodBoolean>;
471
- autoplay: z.ZodOptional<z.ZodBoolean>;
472
- playOnEvent: z.ZodOptional<z.ZodString>;
473
- tracks: z.ZodArray<z.ZodObject<{
474
- property: z.ZodEnum<{
475
- color: "color";
476
- width: "width";
477
- height: "height";
478
- scale: "scale";
479
- opacity: "opacity";
480
- backgroundColor: "backgroundColor";
481
- translateX: "translateX";
482
- translateY: "translateY";
483
- rotate: "rotate";
484
- }>;
485
- keyframes: z.ZodArray<z.ZodObject<{
486
- time: z.ZodNumber;
487
- value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
488
- easing: z.ZodOptional<z.ZodEnum<{
489
- linear: "linear";
490
- "ease-in": "ease-in";
491
- "ease-out": "ease-out";
492
- "ease-in-out": "ease-in-out";
493
- step: "step";
494
- }>>;
495
- }, z.core.$strip>>;
496
- }, z.core.$strip>>;
497
- }, z.core.$strip>;
498
- export type UIAnimation = z.infer<typeof UIAnimationBase>;
499
- /**
500
- * Recursive UI node. Typed via z.lazy like SceneEntity. `children` nest the tree.
501
- */
502
- export type UINode = z.infer<typeof UINodeBase> & {
503
- children?: UINode[] | undefined;
504
- };
505
- declare const UINodeBase: z.ZodObject<{
506
- id: z.ZodOptional<z.ZodString>;
507
- name: z.ZodString;
508
- kind: z.ZodEnum<{
509
- input: "input";
510
- toggle: "toggle";
511
- box: "box";
512
- grid: "grid";
513
- center: "center";
514
- wrap: "wrap";
515
- scroll: "scroll";
516
- canvas: "canvas";
517
- stack: "stack";
518
- panel: "panel";
519
- aspect: "aspect";
520
- sizebox: "sizebox";
521
- tab: "tab";
522
- text: "text";
523
- richtext: "richtext";
524
- button: "button";
525
- image: "image";
526
- slider: "slider";
527
- dropdown: "dropdown";
528
- progress: "progress";
529
- component: "component";
530
- }>;
531
- visible: z.ZodOptional<z.ZodBoolean>;
532
- locked: z.ZodOptional<z.ZodBoolean>;
533
- tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
534
- layout: z.ZodOptional<z.ZodObject<{
535
- position: z.ZodOptional<z.ZodEnum<{
536
- flow: "flow";
537
- absolute: "absolute";
538
- }>>;
539
- anchor: z.ZodOptional<z.ZodObject<{
540
- left: z.ZodNumber;
541
- top: z.ZodNumber;
542
- right: z.ZodNumber;
543
- bottom: z.ZodNumber;
544
- }, z.core.$strip>>;
545
- offset: z.ZodOptional<z.ZodObject<{
546
- left: z.ZodNumber;
547
- top: z.ZodNumber;
548
- right: z.ZodNumber;
549
- bottom: z.ZodNumber;
550
- }, z.core.$strip>>;
551
- pivot: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
552
- width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
553
- height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
554
- minWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
555
- maxWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
556
- minHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
557
- maxHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
558
- aspectRatio: z.ZodOptional<z.ZodNumber>;
559
- direction: z.ZodOptional<z.ZodEnum<{
560
- column: "column";
561
- row: "row";
562
- "row-reverse": "row-reverse";
563
- "column-reverse": "column-reverse";
564
- }>>;
565
- justify: z.ZodOptional<z.ZodEnum<{
566
- start: "start";
567
- center: "center";
568
- end: "end";
569
- "space-between": "space-between";
570
- "space-around": "space-around";
571
- "space-evenly": "space-evenly";
572
- }>>;
573
- align: z.ZodOptional<z.ZodEnum<{
574
- start: "start";
575
- center: "center";
576
- end: "end";
577
- stretch: "stretch";
578
- baseline: "baseline";
579
- }>>;
580
- wrap: z.ZodOptional<z.ZodBoolean>;
581
- gap: z.ZodOptional<z.ZodNumber>;
582
- columns: z.ZodOptional<z.ZodNumber>;
583
- grow: z.ZodOptional<z.ZodNumber>;
584
- shrink: z.ZodOptional<z.ZodNumber>;
585
- basis: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
586
- alignSelf: z.ZodOptional<z.ZodEnum<{
587
- auto: "auto";
588
- start: "start";
589
- center: "center";
590
- end: "end";
591
- stretch: "stretch";
592
- baseline: "baseline";
593
- }>>;
594
- padding: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
595
- margin: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
596
- zIndex: z.ZodOptional<z.ZodNumber>;
597
- overflow: z.ZodOptional<z.ZodEnum<{
598
- auto: "auto";
599
- visible: "visible";
600
- hidden: "hidden";
601
- scroll: "scroll";
602
- }>>;
603
- }, z.core.$strip>>;
604
- style: z.ZodOptional<z.ZodObject<{
605
- backgroundColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
606
- backgroundImage: z.ZodOptional<z.ZodString>;
607
- backgroundSize: z.ZodOptional<z.ZodString>;
608
- color: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
609
- fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
610
- fontFamily: z.ZodOptional<z.ZodString>;
611
- fontWeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
612
- fontStyle: z.ZodOptional<z.ZodString>;
613
- textAlign: z.ZodOptional<z.ZodEnum<{
614
- center: "center";
615
- left: "left";
616
- right: "right";
617
- justify: "justify";
618
- }>>;
619
- lineHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
620
- letterSpacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
621
- opacity: z.ZodOptional<z.ZodNumber>;
622
- borderRadius: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
623
- borderWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
624
- borderColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
625
- borderStyle: z.ZodOptional<z.ZodEnum<{
626
- none: "none";
627
- solid: "solid";
628
- dashed: "dashed";
629
- dotted: "dotted";
630
- }>>;
631
- boxShadow: z.ZodOptional<z.ZodString>;
632
- sliceInset: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
633
- cursor: z.ZodOptional<z.ZodString>;
634
- transition: z.ZodOptional<z.ZodString>;
635
- }, z.core.$strip>>;
636
- states: z.ZodOptional<z.ZodObject<{
637
- hover: z.ZodOptional<z.ZodObject<{
638
- backgroundColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
639
- backgroundImage: z.ZodOptional<z.ZodString>;
640
- backgroundSize: z.ZodOptional<z.ZodString>;
641
- color: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
642
- fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
643
- fontFamily: z.ZodOptional<z.ZodString>;
644
- fontWeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
645
- fontStyle: z.ZodOptional<z.ZodString>;
646
- textAlign: z.ZodOptional<z.ZodEnum<{
647
- center: "center";
648
- left: "left";
649
- right: "right";
650
- justify: "justify";
651
- }>>;
652
- lineHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
653
- letterSpacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
654
- opacity: z.ZodOptional<z.ZodNumber>;
655
- borderRadius: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
656
- borderWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
657
- borderColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
658
- borderStyle: z.ZodOptional<z.ZodEnum<{
659
- none: "none";
660
- solid: "solid";
661
- dashed: "dashed";
662
- dotted: "dotted";
663
- }>>;
664
- boxShadow: z.ZodOptional<z.ZodString>;
665
- sliceInset: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
666
- cursor: z.ZodOptional<z.ZodString>;
667
- transition: z.ZodOptional<z.ZodString>;
668
- }, z.core.$strip>>;
669
- pressed: z.ZodOptional<z.ZodObject<{
670
- backgroundColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
671
- backgroundImage: z.ZodOptional<z.ZodString>;
672
- backgroundSize: z.ZodOptional<z.ZodString>;
673
- color: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
674
- fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
675
- fontFamily: z.ZodOptional<z.ZodString>;
676
- fontWeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
677
- fontStyle: z.ZodOptional<z.ZodString>;
678
- textAlign: z.ZodOptional<z.ZodEnum<{
679
- center: "center";
680
- left: "left";
681
- right: "right";
682
- justify: "justify";
683
- }>>;
684
- lineHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
685
- letterSpacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
686
- opacity: z.ZodOptional<z.ZodNumber>;
687
- borderRadius: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
688
- borderWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
689
- borderColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
690
- borderStyle: z.ZodOptional<z.ZodEnum<{
691
- none: "none";
692
- solid: "solid";
693
- dashed: "dashed";
694
- dotted: "dotted";
695
- }>>;
696
- boxShadow: z.ZodOptional<z.ZodString>;
697
- sliceInset: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
698
- cursor: z.ZodOptional<z.ZodString>;
699
- transition: z.ZodOptional<z.ZodString>;
700
- }, z.core.$strip>>;
701
- disabled: z.ZodOptional<z.ZodObject<{
702
- backgroundColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
703
- backgroundImage: z.ZodOptional<z.ZodString>;
704
- backgroundSize: z.ZodOptional<z.ZodString>;
705
- color: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
706
- fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
707
- fontFamily: z.ZodOptional<z.ZodString>;
708
- fontWeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
709
- fontStyle: z.ZodOptional<z.ZodString>;
710
- textAlign: z.ZodOptional<z.ZodEnum<{
711
- center: "center";
712
- left: "left";
713
- right: "right";
714
- justify: "justify";
715
- }>>;
716
- lineHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
717
- letterSpacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
718
- opacity: z.ZodOptional<z.ZodNumber>;
719
- borderRadius: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
720
- borderWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
721
- borderColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
722
- borderStyle: z.ZodOptional<z.ZodEnum<{
723
- none: "none";
724
- solid: "solid";
725
- dashed: "dashed";
726
- dotted: "dotted";
727
- }>>;
728
- boxShadow: z.ZodOptional<z.ZodString>;
729
- sliceInset: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
730
- cursor: z.ZodOptional<z.ZodString>;
731
- transition: z.ZodOptional<z.ZodString>;
732
- }, z.core.$strip>>;
733
- focus: z.ZodOptional<z.ZodObject<{
734
- backgroundColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
735
- backgroundImage: z.ZodOptional<z.ZodString>;
736
- backgroundSize: z.ZodOptional<z.ZodString>;
737
- color: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
738
- fontSize: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
739
- fontFamily: z.ZodOptional<z.ZodString>;
740
- fontWeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
741
- fontStyle: z.ZodOptional<z.ZodString>;
742
- textAlign: z.ZodOptional<z.ZodEnum<{
743
- center: "center";
744
- left: "left";
745
- right: "right";
746
- justify: "justify";
747
- }>>;
748
- lineHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
749
- letterSpacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
750
- opacity: z.ZodOptional<z.ZodNumber>;
751
- borderRadius: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
752
- borderWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
753
- borderColor: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
754
- borderStyle: z.ZodOptional<z.ZodEnum<{
755
- none: "none";
756
- solid: "solid";
757
- dashed: "dashed";
758
- dotted: "dotted";
759
- }>>;
760
- boxShadow: z.ZodOptional<z.ZodString>;
761
- sliceInset: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
762
- cursor: z.ZodOptional<z.ZodString>;
763
- transition: z.ZodOptional<z.ZodString>;
764
- }, z.core.$strip>>;
765
- }, z.core.$strip>>;
766
- variant: z.ZodOptional<z.ZodString>;
767
- props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodNumber>, z.ZodObject<{
768
- $bind: z.ZodObject<{
769
- source: z.ZodString;
770
- mode: z.ZodOptional<z.ZodEnum<{
771
- "one-way": "one-way";
772
- "two-way": "two-way";
773
- }>>;
774
- transform: z.ZodOptional<z.ZodString>;
775
- fallback: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
776
- }, z.core.$strip>;
777
- }, z.core.$strip>]>>>;
778
- bindings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
779
- source: z.ZodString;
780
- mode: z.ZodOptional<z.ZodEnum<{
781
- "one-way": "one-way";
782
- "two-way": "two-way";
783
- }>>;
784
- transform: z.ZodOptional<z.ZodString>;
785
- fallback: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
786
- }, z.core.$strip>>>;
787
- events: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
788
- component: z.ZodOptional<z.ZodString>;
789
- repeat: z.ZodOptional<z.ZodObject<{
790
- items: z.ZodObject<{
791
- source: z.ZodString;
792
- mode: z.ZodOptional<z.ZodEnum<{
793
- "one-way": "one-way";
794
- "two-way": "two-way";
795
- }>>;
796
- transform: z.ZodOptional<z.ZodString>;
797
- fallback: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
798
- }, z.core.$strip>;
799
- as: z.ZodString;
800
- keyPath: z.ZodOptional<z.ZodString>;
801
- }, z.core.$strip>>;
802
- animations: z.ZodOptional<z.ZodArray<z.ZodObject<{
803
- name: z.ZodString;
804
- duration: z.ZodNumber;
805
- loop: z.ZodOptional<z.ZodBoolean>;
806
- autoplay: z.ZodOptional<z.ZodBoolean>;
807
- playOnEvent: z.ZodOptional<z.ZodString>;
808
- tracks: z.ZodArray<z.ZodObject<{
809
- property: z.ZodEnum<{
810
- color: "color";
811
- width: "width";
812
- height: "height";
813
- scale: "scale";
814
- opacity: "opacity";
815
- backgroundColor: "backgroundColor";
816
- translateX: "translateX";
817
- translateY: "translateY";
818
- rotate: "rotate";
819
- }>;
820
- keyframes: z.ZodArray<z.ZodObject<{
821
- time: z.ZodNumber;
822
- value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
823
- easing: z.ZodOptional<z.ZodEnum<{
824
- linear: "linear";
825
- "ease-in": "ease-in";
826
- "ease-out": "ease-out";
827
- "ease-in-out": "ease-in-out";
828
- step: "step";
829
- }>>;
830
- }, z.core.$strip>>;
831
- }, z.core.$strip>>;
832
- }, z.core.$strip>>>;
833
- }, z.core.$strip>;
834
- export declare const UINodeSchema: z.ZodType<UINode>;
835
- /** Responsive scaling config for a UI root (I1/I2). */
836
- declare const UIScalingSchema: z.ZodObject<{
837
- referenceWidth: z.ZodNumber;
838
- referenceHeight: z.ZodNumber;
839
- mode: z.ZodOptional<z.ZodEnum<{
840
- "scale-with-size": "scale-with-size";
841
- "constant-pixel": "constant-pixel";
842
- "constant-physical": "constant-physical";
843
- }>>;
844
- aspect: z.ZodOptional<z.ZodEnum<{
845
- expand: "expand";
846
- keep: "keep";
847
- "keep-width": "keep-width";
848
- "keep-height": "keep-height";
849
- }>>;
850
- match: z.ZodOptional<z.ZodNumber>;
851
- }, z.core.$strip>;
852
- /**
853
- * A UI root — a canvas placed screen-space or screen-tracked to a 3D entity (A3).
854
- * Carries the responsive scaling config and an optional inline theme / theme ref.
855
- */
856
- export declare const UIRootSchema: z.ZodType<UIRoot>;
857
- export type UIRoot = z.infer<typeof UINodeBase> & {
858
- kind: 'canvas';
859
- space?: 'screen' | 'world-tracked' | undefined;
860
- trackEntity?: string | undefined;
861
- scaling?: z.infer<typeof UIScalingSchema> | undefined;
862
- theme?: UITheme | undefined;
863
- themeRef?: string | undefined;
864
- locale?: string | undefined;
865
- children?: UINode[] | undefined;
866
- };
867
- /**
868
- * A saved reusable UI prefab/component (H1). Mirrors PrefabFile but for a UI
869
- * subtree, with declared exposed props/slots (H3).
870
- */
871
- export declare const UIPrefabFileSchema: z.ZodObject<{
872
- version: z.ZodNumber;
873
- name: z.ZodString;
874
- root: z.ZodType<UINode, unknown, z.core.$ZodTypeInternals<UINode, unknown>>;
875
- exposedProps: z.ZodOptional<z.ZodArray<z.ZodString>>;
876
- slots: z.ZodOptional<z.ZodArray<z.ZodString>>;
877
- }, z.core.$strip>;
878
- export type UIPrefabFile = z.infer<typeof UIPrefabFileSchema>;
879
- export {};
880
- //# sourceMappingURL=ui.d.ts.map