@aura3d/engine 1.4.3 → 1.4.5

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 (161) hide show
  1. package/README.md +34 -22
  2. package/dist/aura3d-cli/asset-core-types.d.ts +43 -0
  3. package/dist/aura3d-cli/asset-core-types.d.ts.map +1 -1
  4. package/dist/aura3d-cli/cli-help.d.ts.map +1 -1
  5. package/dist/aura3d-cli/cli-help.js +7 -1
  6. package/dist/aura3d-cli/cli-help.js.map +1 -1
  7. package/dist/aura3d-cli/cli-options.d.ts +3 -1
  8. package/dist/aura3d-cli/cli-options.d.ts.map +1 -1
  9. package/dist/aura3d-cli/cli-options.js +23 -0
  10. package/dist/aura3d-cli/cli-options.js.map +1 -1
  11. package/dist/aura3d-cli/cli.js +40 -3
  12. package/dist/aura3d-cli/cli.js.map +1 -1
  13. package/dist/aura3d-cli/index.d.ts +4 -2
  14. package/dist/aura3d-cli/index.d.ts.map +1 -1
  15. package/dist/aura3d-cli/index.js +384 -8
  16. package/dist/aura3d-cli/index.js.map +1 -1
  17. package/dist/create-aura3d/index.d.ts +4 -0
  18. package/dist/create-aura3d/index.d.ts.map +1 -1
  19. package/dist/create-aura3d/index.js +3 -1
  20. package/dist/create-aura3d/index.js.map +1 -1
  21. package/dist/create-aura3d/showcase-spec-artifacts.d.ts +5 -0
  22. package/dist/create-aura3d/showcase-spec-artifacts.d.ts.map +1 -1
  23. package/dist/create-aura3d/showcase-spec-artifacts.js +11 -2
  24. package/dist/create-aura3d/showcase-spec-artifacts.js.map +1 -1
  25. package/dist/create-aura3d/showcase-spec-asset-pair-composition.d.ts +116 -0
  26. package/dist/create-aura3d/showcase-spec-asset-pair-composition.d.ts.map +1 -0
  27. package/dist/create-aura3d/showcase-spec-asset-pair-composition.js +336 -0
  28. package/dist/create-aura3d/showcase-spec-asset-pair-composition.js.map +1 -0
  29. package/dist/create-aura3d/showcase-spec-compiler.d.ts.map +1 -1
  30. package/dist/create-aura3d/showcase-spec-compiler.js +149 -10
  31. package/dist/create-aura3d/showcase-spec-compiler.js.map +1 -1
  32. package/dist/create-aura3d/showcase-spec-composition-evidence.d.ts +14 -0
  33. package/dist/create-aura3d/showcase-spec-composition-evidence.d.ts.map +1 -0
  34. package/dist/create-aura3d/showcase-spec-composition-evidence.js +123 -0
  35. package/dist/create-aura3d/showcase-spec-composition-evidence.js.map +1 -0
  36. package/dist/create-aura3d/showcase-spec-evidence.js +50 -1
  37. package/dist/create-aura3d/showcase-spec-evidence.js.map +1 -1
  38. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts +4 -2
  39. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts.map +1 -1
  40. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js +260 -30
  41. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js.map +1 -1
  42. package/dist/create-aura3d/showcase-spec-game-geometry-probe.d.ts +20 -0
  43. package/dist/create-aura3d/showcase-spec-game-geometry-probe.d.ts.map +1 -0
  44. package/dist/create-aura3d/showcase-spec-game-geometry-probe.js +16 -0
  45. package/dist/create-aura3d/showcase-spec-game-geometry-probe.js.map +1 -0
  46. package/dist/create-aura3d/showcase-spec-game-replacement-evidence.js +7 -3
  47. package/dist/create-aura3d/showcase-spec-game-replacement-evidence.js.map +1 -1
  48. package/dist/create-aura3d/showcase-spec-game-scene-scale.d.ts +10 -0
  49. package/dist/create-aura3d/showcase-spec-game-scene-scale.d.ts.map +1 -0
  50. package/dist/create-aura3d/showcase-spec-game-scene-scale.js +71 -0
  51. package/dist/create-aura3d/showcase-spec-game-scene-scale.js.map +1 -0
  52. package/dist/create-aura3d/showcase-spec-game-template-evidence.d.ts +10 -0
  53. package/dist/create-aura3d/showcase-spec-game-template-evidence.d.ts.map +1 -1
  54. package/dist/create-aura3d/showcase-spec-game-template-evidence.js +50 -7
  55. package/dist/create-aura3d/showcase-spec-game-template-evidence.js.map +1 -1
  56. package/dist/create-aura3d/showcase-spec-gameplay-evidence.js +4 -3
  57. package/dist/create-aura3d/showcase-spec-gameplay-evidence.js.map +1 -1
  58. package/dist/create-aura3d/showcase-spec-parser.d.ts.map +1 -1
  59. package/dist/create-aura3d/showcase-spec-parser.js +3 -0
  60. package/dist/create-aura3d/showcase-spec-parser.js.map +1 -1
  61. package/dist/create-aura3d/showcase-spec-platformer-artifacts.d.ts +1 -0
  62. package/dist/create-aura3d/showcase-spec-platformer-artifacts.d.ts.map +1 -1
  63. package/dist/create-aura3d/showcase-spec-platformer-artifacts.js +188 -56
  64. package/dist/create-aura3d/showcase-spec-platformer-artifacts.js.map +1 -1
  65. package/dist/create-aura3d/showcase-spec-racing-artifacts.d.ts +1 -0
  66. package/dist/create-aura3d/showcase-spec-racing-artifacts.d.ts.map +1 -1
  67. package/dist/create-aura3d/showcase-spec-racing-artifacts.js +208 -31
  68. package/dist/create-aura3d/showcase-spec-racing-artifacts.js.map +1 -1
  69. package/dist/create-aura3d/showcase-spec-replacement-candidates.js +2 -1
  70. package/dist/create-aura3d/showcase-spec-replacement-candidates.js.map +1 -1
  71. package/dist/create-aura3d/showcase-spec-types.d.ts +22 -0
  72. package/dist/create-aura3d/showcase-spec-types.d.ts.map +1 -1
  73. package/dist/engine/agent-api/GameGenreKits.d.ts +44 -0
  74. package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
  75. package/dist/engine/agent-api/GameGenreKits.js +126 -28
  76. package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
  77. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts +26 -0
  78. package/dist/engine/agent-api/GameSceneGeometryBindings.d.ts.map +1 -1
  79. package/dist/engine/agent-api/GameSceneGeometryBindings.js +11 -1
  80. package/dist/engine/agent-api/GameSceneGeometryBindings.js.map +1 -1
  81. package/dist/engine/agent-api/index.d.ts +8 -6
  82. package/dist/engine/agent-api/index.d.ts.map +1 -1
  83. package/dist/engine/agent-api/index.js +71 -3
  84. package/dist/engine/agent-api/index.js.map +1 -1
  85. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  86. package/package.json +23 -22
  87. package/templates/cinematic-scene/package.json +1 -1
  88. package/templates/mini-game/package.json +1 -1
  89. package/templates/product-viewer/package.json +1 -1
  90. package/dist/animation/Retargeting.d.ts +0 -12
  91. package/dist/animation/Retargeting.d.ts.map +0 -1
  92. package/dist/animation/Retargeting.js +0 -19
  93. package/dist/animation/Retargeting.js.map +0 -1
  94. package/dist/aura3d-cli/cartoon-asset-profiles.d.ts +0 -15
  95. package/dist/aura3d-cli/cartoon-asset-profiles.d.ts.map +0 -1
  96. package/dist/aura3d-cli/cartoon-asset-profiles.js +0 -46
  97. package/dist/aura3d-cli/cartoon-asset-profiles.js.map +0 -1
  98. package/dist/editor-runtime/CartoonSceneEditor.d.ts +0 -111
  99. package/dist/editor-runtime/CartoonSceneEditor.d.ts.map +0 -1
  100. package/dist/editor-runtime/CartoonSceneEditor.js +0 -285
  101. package/dist/editor-runtime/CartoonSceneEditor.js.map +0 -1
  102. package/dist/engine/agent-api/CartoonAssetManifest.d.ts +0 -50
  103. package/dist/engine/agent-api/CartoonAssetManifest.d.ts.map +0 -1
  104. package/dist/engine/agent-api/CartoonAssetManifest.js +0 -65
  105. package/dist/engine/agent-api/CartoonAssetManifest.js.map +0 -1
  106. package/dist/engine/agent-api/CartoonDirector.d.ts +0 -120
  107. package/dist/engine/agent-api/CartoonDirector.d.ts.map +0 -1
  108. package/dist/engine/agent-api/CartoonDirector.js +0 -432
  109. package/dist/engine/agent-api/CartoonDirector.js.map +0 -1
  110. package/dist/engine/agent-api/CartoonEpisodePackage.d.ts +0 -51
  111. package/dist/engine/agent-api/CartoonEpisodePackage.d.ts.map +0 -1
  112. package/dist/engine/agent-api/CartoonEpisodePackage.js +0 -79
  113. package/dist/engine/agent-api/CartoonEpisodePackage.js.map +0 -1
  114. package/dist/engine/agent-api/CartoonMotionQuality.d.ts +0 -83
  115. package/dist/engine/agent-api/CartoonMotionQuality.d.ts.map +0 -1
  116. package/dist/engine/agent-api/CartoonMotionQuality.js +0 -128
  117. package/dist/engine/agent-api/CartoonMotionQuality.js.map +0 -1
  118. package/dist/engine/agent-api/CartoonPerformance.d.ts +0 -150
  119. package/dist/engine/agent-api/CartoonPerformance.d.ts.map +0 -1
  120. package/dist/engine/agent-api/CartoonPerformance.js +0 -345
  121. package/dist/engine/agent-api/CartoonPerformance.js.map +0 -1
  122. package/dist/engine/agent-api/CartoonRenderQueue.d.ts +0 -143
  123. package/dist/engine/agent-api/CartoonRenderQueue.d.ts.map +0 -1
  124. package/dist/engine/agent-api/CartoonRenderQueue.js +0 -410
  125. package/dist/engine/agent-api/CartoonRenderQueue.js.map +0 -1
  126. package/dist/engine/agent-api/CartoonRouteProof.d.ts +0 -112
  127. package/dist/engine/agent-api/CartoonRouteProof.d.ts.map +0 -1
  128. package/dist/engine/agent-api/CartoonRouteProof.js +0 -127
  129. package/dist/engine/agent-api/CartoonRouteProof.js.map +0 -1
  130. package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts +0 -19
  131. package/dist/rendering/cartoon/CartoonMaterialStyle.d.ts.map +0 -1
  132. package/dist/rendering/cartoon/CartoonMaterialStyle.js +0 -13
  133. package/dist/rendering/cartoon/CartoonMaterialStyle.js.map +0 -1
  134. package/dist/rendering/cartoon/CartoonRenderPreset.d.ts +0 -36
  135. package/dist/rendering/cartoon/CartoonRenderPreset.d.ts.map +0 -1
  136. package/dist/rendering/cartoon/CartoonRenderPreset.js +0 -23
  137. package/dist/rendering/cartoon/CartoonRenderPreset.js.map +0 -1
  138. package/dist/rendering/cartoon/CartoonToonMaterial.d.ts +0 -130
  139. package/dist/rendering/cartoon/CartoonToonMaterial.d.ts.map +0 -1
  140. package/dist/rendering/cartoon/CartoonToonMaterial.js +0 -303
  141. package/dist/rendering/cartoon/CartoonToonMaterial.js.map +0 -1
  142. package/dist/rendering/cartoon/CartoonVisualQuality.d.ts +0 -28
  143. package/dist/rendering/cartoon/CartoonVisualQuality.d.ts.map +0 -1
  144. package/dist/rendering/cartoon/CartoonVisualQuality.js +0 -39
  145. package/dist/rendering/cartoon/CartoonVisualQuality.js.map +0 -1
  146. package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts +0 -79
  147. package/dist/rendering/cartoon/applyCartoonRenderPreset.d.ts.map +0 -1
  148. package/dist/rendering/cartoon/applyCartoonRenderPreset.js +0 -88
  149. package/dist/rendering/cartoon/applyCartoonRenderPreset.js.map +0 -1
  150. package/dist/rendering/cartoon/index.d.ts +0 -6
  151. package/dist/rendering/cartoon/index.d.ts.map +0 -1
  152. package/dist/rendering/cartoon/index.js +0 -6
  153. package/dist/rendering/cartoon/index.js.map +0 -1
  154. package/dist/scripting/CartoonNodeCategories.d.ts +0 -3
  155. package/dist/scripting/CartoonNodeCategories.d.ts.map +0 -1
  156. package/dist/scripting/CartoonNodeCategories.js +0 -9
  157. package/dist/scripting/CartoonNodeCategories.js.map +0 -1
  158. package/dist/scripting/CartoonVisualNodes.d.ts +0 -3
  159. package/dist/scripting/CartoonVisualNodes.d.ts.map +0 -1
  160. package/dist/scripting/CartoonVisualNodes.js +0 -41
  161. package/dist/scripting/CartoonVisualNodes.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"product-viewer-runtime.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/product-viewer-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACrB,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC;CAC7C;AAED,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAClD,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC;AACjD,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;AAE1E,eAAO,MAAM,OAAO;;;sBAW8k1X,CAAC;;;;;;CAXjk1X,CAAC;AAEnC,eAAO,MAAM,SAAS;oCACC,YAAY,CAAC,OAAO,CAAC,YAAW,oBAAoB,KAAQ,qBAAqB;CAG9F,CAAC;AAEX,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,GAAE,oBAAyB,GAAG,qBAAqB,CAErH"}
1
+ {"version":3,"file":"product-viewer-runtime.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/product-viewer-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACrB,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC;CAC7C;AAED,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAClD,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC;AACjD,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;AAE1E,eAAO,MAAM,OAAO;;;sBAW8h7X,CAAC;;;;;;CAXjh7X,CAAC;AAEnC,eAAO,MAAM,SAAS;oCACC,YAAY,CAAC,OAAO,CAAC,YAAW,oBAAoB,KAAQ,qBAAqB;CAG9F,CAAC;AAEX,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,GAAE,oBAAyB,GAAG,qBAAqB,CAErH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aura3d/engine",
3
- "version": "1.4.3",
3
+ "version": "1.4.5",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "files": [
@@ -118,27 +118,27 @@
118
118
  "typescript": "^5.8.3",
119
119
  "vite": "^7.3.2",
120
120
  "vitest": "^3.1.3",
121
- "@aura3d/animation": "1.4.3",
122
- "@aura3d/apps": "1.4.3",
123
- "@aura3d/audio": "1.4.3",
124
- "@aura3d/core": "1.4.3",
125
- "@aura3d/cli": "1.4.3",
126
- "@aura3d/assets": "1.4.3",
127
- "@aura3d/debug": "1.4.3",
128
- "@aura3d/ecs": "1.4.3",
129
- "@aura3d/editor": "1.4.3",
130
- "@aura3d/editor-runtime": "1.4.3",
131
- "@aura3d/engine-runtime": "1.4.3",
132
- "@aura3d/input": "1.4.3",
133
- "@aura3d/math": "1.4.3",
134
- "@aura3d/physics": "1.4.3",
135
- "@aura3d/product-studio": "1.4.3",
136
- "@aura3d/rendering": "1.4.3",
137
- "@aura3d/scene": "1.4.3",
138
- "@aura3d/workflows": "1.4.3",
139
- "@aura3d/scripting": "1.4.3",
140
- "create-aura3d": "1.4.3",
141
- "@aura3d/react": "1.4.3"
121
+ "@aura3d/animation": "1.4.5",
122
+ "@aura3d/apps": "1.4.5",
123
+ "@aura3d/assets": "1.4.5",
124
+ "@aura3d/cli": "1.4.5",
125
+ "@aura3d/audio": "1.4.5",
126
+ "@aura3d/core": "1.4.5",
127
+ "@aura3d/debug": "1.4.5",
128
+ "@aura3d/ecs": "1.4.5",
129
+ "@aura3d/editor": "1.4.5",
130
+ "@aura3d/editor-runtime": "1.4.5",
131
+ "@aura3d/engine-runtime": "1.4.5",
132
+ "@aura3d/input": "1.4.5",
133
+ "@aura3d/physics": "1.4.5",
134
+ "@aura3d/math": "1.4.5",
135
+ "@aura3d/react": "1.4.5",
136
+ "@aura3d/product-studio": "1.4.5",
137
+ "@aura3d/rendering": "1.4.5",
138
+ "@aura3d/scripting": "1.4.5",
139
+ "create-aura3d": "1.4.5",
140
+ "@aura3d/workflows": "1.4.5",
141
+ "@aura3d/scene": "1.4.5"
142
142
  },
143
143
  "dependencies": {
144
144
  "@loaders.gl/core": "4.4.1",
@@ -453,6 +453,7 @@
453
453
  "verify:package-install-smoke": "node --experimental-strip-types tools/package-install-smoke/index.ts",
454
454
  "verify:package-install-smoke:fresh": "node --experimental-strip-types tools/package-install-smoke/index.ts --fresh-pack",
455
455
  "verify:package-provenance": "node --experimental-strip-types tools/package-provenance/index.ts",
456
+ "verify:npm-release": "pnpm typecheck:raw && pnpm build:raw && pnpm test:packages && pnpm test:packages:dist && pnpm verify:exports && pnpm verify:imports && pnpm verify:size && pnpm verify:package-install-smoke:fresh && node tools/release/publish-all.mjs --dry-run",
456
457
  "verify:static-demo-server-smoke": "node --experimental-strip-types tools/static-demo-server-smoke/index.ts",
457
458
  "verify:public-demo-deployment": "tsx --tsconfig tsconfig.base.json tools/public-demo-deployment-smoke/index.ts",
458
459
  "preflight:external-parity-production-readiness": "pnpm build:external-demos && pnpm verify:static-demo-server-smoke && pnpm audit:external-parity-production-readiness",
@@ -11,7 +11,7 @@
11
11
  "test": "playwright test tests/route-health.spec.ts tests/screenshot.spec.ts --workers=1"
12
12
  },
13
13
  "dependencies": {
14
- "@aura3d/engine": "1.0.0"
14
+ "@aura3d/engine": "1.4.5"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@playwright/test": "^1.52.0",
@@ -11,7 +11,7 @@
11
11
  "test": "playwright test tests/route-health.spec.ts tests/playable.spec.ts tests/screenshot.spec.ts --workers=1"
12
12
  },
13
13
  "dependencies": {
14
- "@aura3d/engine": "1.0.0"
14
+ "@aura3d/engine": "1.4.5"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@playwright/test": "^1.52.0",
@@ -11,7 +11,7 @@
11
11
  "test": "playwright test tests/route-health.spec.ts tests/screenshot.spec.ts --workers=1"
12
12
  },
13
13
  "dependencies": {
14
- "@aura3d/engine": "1.0.0"
14
+ "@aura3d/engine": "1.4.5"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@playwright/test": "^1.52.0",
@@ -1,12 +0,0 @@
1
- import { Matrix4 } from "@aura3d/math";
2
- export interface RetargetBoneMap {
3
- readonly source: string;
4
- readonly target: string;
5
- readonly scale?: number;
6
- }
7
- export interface RetargetPoseInput {
8
- readonly sourcePose: ReadonlyMap<string, Matrix4>;
9
- readonly boneMap: readonly RetargetBoneMap[];
10
- }
11
- export declare function retargetPose(input: RetargetPoseInput): Map<string, Matrix4>;
12
- //# sourceMappingURL=Retargeting.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Retargeting.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/Retargeting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;CAC9C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAe3E"}
@@ -1,19 +0,0 @@
1
- import { Matrix4 } from "../math/index.js";
2
- export function retargetPose(input) {
3
- const output = new Map();
4
- for (const mapping of input.boneMap) {
5
- const source = input.sourcePose.get(mapping.source);
6
- if (!source)
7
- continue;
8
- const elements = [...source.elements];
9
- const scale = mapping.scale ?? 1;
10
- if (scale !== 1) {
11
- elements[12] *= scale;
12
- elements[13] *= scale;
13
- elements[14] *= scale;
14
- }
15
- output.set(mapping.target, new Matrix4(elements));
16
- }
17
- return output;
18
- }
19
- //# sourceMappingURL=Retargeting.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Retargeting.js","sourceRoot":"","sources":["../../../../packages/animation/src/Retargeting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAavC,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC1C,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;YACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;YACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,OAAO,CAAC,QAA0C,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,15 +0,0 @@
1
- import type { CartoonAssetProfile } from "@aura3d/asset-index";
2
- export type AuraCliCartoonAssetProfile = CartoonAssetProfile;
3
- export interface AuraCliCartoonAssetProfileDefinition {
4
- readonly id: AuraCliCartoonAssetProfile;
5
- readonly label: string;
6
- readonly category: "character" | "prop" | "set" | "environment";
7
- readonly requiredMetadata: readonly string[];
8
- readonly optionalMetadata: readonly string[];
9
- readonly episodeRequiredMetadata: readonly string[];
10
- readonly rejectionReasons: readonly string[];
11
- readonly resolveHints: readonly string[];
12
- }
13
- export declare const cartoonCliAssetProfiles: readonly AuraCliCartoonAssetProfileDefinition[];
14
- export declare function getCartoonAssetProfileDefinition(profile: AuraCliCartoonAssetProfile): AuraCliCartoonAssetProfileDefinition | undefined;
15
- //# sourceMappingURL=cartoon-asset-profiles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cartoon-asset-profiles.d.ts","sourceRoot":"","sources":["../../../../packages/aura3d-cli/src/cartoon-asset-profiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,MAAM,0BAA0B,GAAG,mBAAmB,CAAC;AAE7D,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,EAAE,EAAE,0BAA0B,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC;IAChE,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,uBAAuB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpD,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,eAAO,MAAM,uBAAuB,EAAE,SAAS,oCAAoC,EAyClF,CAAC;AAEF,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,0BAA0B,GAClC,oCAAoC,GAAG,SAAS,CAElD"}
@@ -1,46 +0,0 @@
1
- export const cartoonCliAssetProfiles = [
2
- {
3
- id: "cartoon-character",
4
- label: "Cartoon character",
5
- category: "character",
6
- requiredMetadata: ["verified redistributable license", "GLB model", "cartoon/stylized metadata", "rigged humanoid or skinned character evidence", "embedded animation clips", "checksum"],
7
- optionalMetadata: ["facial morphs", "mouth bones", "emotion clips", "texture summary", "bounds"],
8
- episodeRequiredMetadata: ["distinct character hash", "source provenance", "bounds", "readable materials", "animation clips or segmented-rig metadata", "mouth/blendshape/viseme or primitive mouth-card fallback"],
9
- rejectionReasons: ["static asset", "non-character metadata", "missing rig evidence", "missing animation readiness", "missing mouth/viseme readiness", "unverified license", "missing provenance", "IP-risk metadata", "photoreal scan metadata", "oversized browser payload"],
10
- resolveHints: ["Use --profile cartoon-character for animated humanoid or expressive mascot searches.", "Run assets validate-cartoon --episode after resolve to confirm two-character cast, lip-sync, scale, license, and provenance readiness."],
11
- },
12
- {
13
- id: "cartoon-prop",
14
- label: "Cartoon prop",
15
- category: "prop",
16
- requiredMetadata: ["verified redistributable license", "GLB model", "cartoon/stylized metadata", "prop-like category metadata", "checksum"],
17
- optionalMetadata: ["bounds", "texture summary", "collision bounds", "triangle budget"],
18
- episodeRequiredMetadata: ["source provenance", "readable materials", "browser-sized payload"],
19
- rejectionReasons: ["unverified license", "IP-risk metadata", "photoreal scan metadata", "oversized browser payload", "non-prop metadata"],
20
- resolveHints: ["Use --profile cartoon-prop for furniture, vehicles, nature props, tools, toys, and set dressing."],
21
- },
22
- {
23
- id: "cartoon-set",
24
- label: "Cartoon set",
25
- category: "set",
26
- requiredMetadata: ["verified redistributable license", "GLB model", "cartoon/stylized metadata", "set/location metadata", "checksum"],
27
- optionalMetadata: ["environment-scale bounds", "walkable floor hints", "collision bounds", "thumbnail"],
28
- episodeRequiredMetadata: ["source provenance", "bounds >= 1.5m", "readable materials", "walkable/framing scale", "browser-sized payload"],
29
- rejectionReasons: ["unverified license", "missing provenance", "IP-risk metadata", "photoreal scan metadata", "too small for a set", "missing bounds/materials", "oversized browser payload"],
30
- resolveHints: ["Use --profile cartoon-set for rooms, parks, schools, streets, stages, and episode locations.", "Run assets validate-cartoon --episode to prove one set plus two distinct ready characters before rendering."],
31
- },
32
- {
33
- id: "cartoon-environment",
34
- label: "Cartoon environment",
35
- category: "environment",
36
- requiredMetadata: ["verified redistributable license", "GLB backdrop/world model", "cartoon/stylized metadata", "environment/backdrop metadata", "checksum"],
37
- optionalMetadata: ["large-scale bounds", "skybox/backdrop hints", "thumbnail", "lighting notes"],
38
- episodeRequiredMetadata: ["source provenance", "large-scale bounds", "browser-sized payload"],
39
- rejectionReasons: ["unverified license", "IP-risk metadata", "photoreal scan metadata", "non-environment metadata", "oversized browser payload"],
40
- resolveHints: ["Use --profile cartoon-environment for skyboxes, backdrops, worlds, terrains, horizons, and large scenic layers."],
41
- },
42
- ];
43
- export function getCartoonAssetProfileDefinition(profile) {
44
- return cartoonCliAssetProfiles.find((candidate) => candidate.id === profile);
45
- }
46
- //# sourceMappingURL=cartoon-asset-profiles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cartoon-asset-profiles.js","sourceRoot":"","sources":["../../../../packages/aura3d-cli/src/cartoon-asset-profiles.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,uBAAuB,GAAoD;IACtF;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,WAAW;QACrB,gBAAgB,EAAE,CAAC,kCAAkC,EAAE,WAAW,EAAE,2BAA2B,EAAE,+CAA+C,EAAE,0BAA0B,EAAE,UAAU,CAAC;QACzL,gBAAgB,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,CAAC;QAChG,uBAAuB,EAAE,CAAC,yBAAyB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,2CAA2C,EAAE,0DAA0D,CAAC;QAClN,gBAAgB,EAAE,CAAC,cAAc,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,2BAA2B,CAAC;QAC7Q,YAAY,EAAE,CAAC,sFAAsF,EAAE,wIAAwI,CAAC;KACjP;IACD;QACE,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,cAAc;QACrB,QAAQ,EAAE,MAAM;QAChB,gBAAgB,EAAE,CAAC,kCAAkC,EAAE,WAAW,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,UAAU,CAAC;QAC3I,gBAAgB,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;QACtF,uBAAuB,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,uBAAuB,CAAC;QAC7F,gBAAgB,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,mBAAmB,CAAC;QACzI,YAAY,EAAE,CAAC,kGAAkG,CAAC;KACnH;IACD;QACE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,KAAK;QACf,gBAAgB,EAAE,CAAC,kCAAkC,EAAE,WAAW,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,UAAU,CAAC;QACrI,gBAAgB,EAAE,CAAC,0BAA0B,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,WAAW,CAAC;QACvG,uBAAuB,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,uBAAuB,CAAC;QACzI,gBAAgB,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,2BAA2B,CAAC;QAC7L,YAAY,EAAE,CAAC,8FAA8F,EAAE,6GAA6G,CAAC;KAC9N;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,qBAAqB;QAC5B,QAAQ,EAAE,aAAa;QACvB,gBAAgB,EAAE,CAAC,kCAAkC,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,+BAA+B,EAAE,UAAU,CAAC;QAC5J,gBAAgB,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,EAAE,WAAW,EAAE,gBAAgB,CAAC;QAChG,uBAAuB,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,uBAAuB,CAAC;QAC7F,gBAAgB,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,2BAA2B,CAAC;QAChJ,YAAY,EAAE,CAAC,iHAAiH,CAAC;KAClI;CACF,CAAC;AAEF,MAAM,UAAU,gCAAgC,CAC9C,OAAmC;IAEnC,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;AAC/E,CAAC"}
@@ -1,111 +0,0 @@
1
- import { EditorRuntime } from "./EditorRuntime";
2
- import type { EpisodeReviewPanelSnapshot } from "./EpisodeReviewPanel";
3
- import type { HierarchyLikeNode } from "./HierarchyModel";
4
- import type { RenderQueuePanelSnapshot } from "./RenderQueuePanel";
5
- import { AssetDropZone, type AssetDropPlacement, type CartoonAssetCategory, type CartoonEditorAssetReference } from "./AssetDropZone";
6
- export interface CartoonSceneTransform {
7
- position: {
8
- x: number;
9
- y: number;
10
- z: number;
11
- };
12
- rotation: {
13
- x: number;
14
- y: number;
15
- z: number;
16
- w: number;
17
- };
18
- scale: {
19
- x: number;
20
- y: number;
21
- z: number;
22
- };
23
- }
24
- export interface CartoonSceneNode extends HierarchyLikeNode {
25
- readonly id: string;
26
- name: string;
27
- kind: CartoonAssetCategory;
28
- visible: boolean;
29
- asset?: CartoonEditorAssetReference;
30
- transform: CartoonSceneTransform;
31
- animationClips: string[];
32
- material?: string;
33
- readonly children: CartoonSceneNode[];
34
- }
35
- export interface CartoonSceneEditorSnapshot {
36
- readonly nodeCount: number;
37
- readonly selectedIds: readonly (string | number)[];
38
- readonly placedAssetCount: number;
39
- readonly cameraPreviewId: string | null;
40
- readonly hierarchy: ReturnType<EditorRuntime["flattenHierarchy"]>;
41
- readonly evidence: {
42
- readonly assetPlacement: boolean;
43
- readonly transformGizmos: true;
44
- readonly propertyInspector: true;
45
- readonly sceneSaveLoad: true;
46
- readonly episodeState: boolean;
47
- };
48
- readonly episode: CartoonSceneEpisodeSnapshot;
49
- }
50
- export interface CartoonSceneEditorOptions {
51
- readonly runtime?: EditorRuntime;
52
- readonly root?: CartoonSceneNode;
53
- readonly episode?: Partial<CartoonSceneEpisodeState>;
54
- }
55
- export interface CartoonSceneEpisodeState {
56
- readonly shots: readonly string[];
57
- readonly assets: readonly string[];
58
- readonly captions: readonly string[];
59
- readonly visemes: readonly string[];
60
- readonly renderState?: RenderQueuePanelSnapshot;
61
- readonly reviewState?: EpisodeReviewPanelSnapshot;
62
- }
63
- export interface CartoonSceneEpisodeSnapshot extends CartoonSceneEpisodeState {
64
- readonly shotCount: number;
65
- readonly assetCount: number;
66
- readonly captionCount: number;
67
- readonly visemeCount: number;
68
- readonly hasRenderState: boolean;
69
- readonly hasReviewState: boolean;
70
- }
71
- export declare class CartoonSceneEditor {
72
- readonly runtime: EditorRuntime;
73
- readonly root: CartoonSceneNode;
74
- readonly dropZone: AssetDropZone<CartoonSceneNode>;
75
- private cameraPreviewIdInternal;
76
- private episodeState;
77
- constructor(options?: CartoonSceneEditorOptions);
78
- placeAsset(asset: CartoonEditorAssetReference, placement?: AssetDropPlacement): Promise<CartoonSceneNode>;
79
- addEmptyNode(config: {
80
- readonly id?: string;
81
- readonly name: string;
82
- readonly kind?: CartoonAssetCategory;
83
- readonly parentId?: string;
84
- }): Promise<CartoonSceneNode>;
85
- removeNode(id: string): Promise<void>;
86
- setTransform(id: string, transform: Partial<CartoonSceneTransform>): Promise<void>;
87
- selectNode(id: string): void;
88
- setCameraPreview(id: string | null): void;
89
- setEpisodeState(state: Partial<CartoonSceneEpisodeState>): CartoonSceneEpisodeSnapshot;
90
- serializeScene(): CartoonSceneNode;
91
- loadScene(root: CartoonSceneNode): void;
92
- flattenHierarchy(): ReturnType<EditorRuntime["flattenHierarchy"]>;
93
- inspectSelected(): readonly ReturnType<EditorRuntime["inspect"]>[number][];
94
- snapshot(): CartoonSceneEditorSnapshot;
95
- private episodeSnapshot;
96
- private createNodeFromAsset;
97
- private addNode;
98
- private requireNode;
99
- }
100
- export declare function createCartoonSceneNode(config: {
101
- readonly id: string;
102
- readonly name: string;
103
- readonly kind: CartoonAssetCategory;
104
- readonly asset?: CartoonEditorAssetReference;
105
- readonly transform?: CartoonSceneTransform;
106
- readonly visible?: boolean;
107
- readonly animationClips?: readonly string[];
108
- readonly material?: string;
109
- readonly children?: readonly CartoonSceneNode[];
110
- }): CartoonSceneNode;
111
- //# sourceMappingURL=CartoonSceneEditor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CartoonSceneEditor.d.ts","sourceRoot":"","sources":["../../../../packages/editor-runtime/src/CartoonSceneEditor.ts"],"names":[],"mappings":"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"}
@@ -1,285 +0,0 @@
1
- import { EditorRuntime } from "./EditorRuntime.js";
2
- import { AssetDropZone } from "./AssetDropZone.js";
3
- export class CartoonSceneEditor {
4
- runtime;
5
- root;
6
- dropZone;
7
- cameraPreviewIdInternal = null;
8
- episodeState;
9
- constructor(options = {}) {
10
- this.runtime = options.runtime ?? new EditorRuntime();
11
- this.root = options.root ?? createCartoonSceneNode({ id: "scene-root", name: "Scene", kind: "set" });
12
- this.episodeState = normalizeEpisodeState(options.episode ?? {});
13
- this.dropZone = new AssetDropZone({
14
- history: this.runtime.history,
15
- createNode: (asset, placement) => this.createNodeFromAsset(asset, placement),
16
- addNode: (node, placement) => this.addNode(node, placement.targetId),
17
- removeNode: (node) => this.removeNode(node.id)
18
- });
19
- }
20
- async placeAsset(asset, placement = {}) {
21
- const result = await this.dropZone.dropAsset(asset, placement);
22
- this.runtime.select([result.node.id]);
23
- return result.node;
24
- }
25
- async addEmptyNode(config) {
26
- const node = createCartoonSceneNode({
27
- id: config.id ?? stableNodeId(config.name),
28
- name: config.name,
29
- kind: config.kind ?? "prop"
30
- });
31
- await this.runtime.history.execute(new AddCartoonNodeCommand(this.root, node, config.parentId));
32
- return node;
33
- }
34
- async removeNode(id) {
35
- if (id === this.root.id)
36
- throw new Error("Cannot remove the root cartoon scene node.");
37
- const parent = findParent(this.root, id);
38
- const node = findNode(this.root, id);
39
- if (!parent || !node)
40
- throw new Error(`Cartoon scene node does not exist: ${id}`);
41
- await this.runtime.history.execute(new RemoveCartoonNodeCommand(parent, node));
42
- this.runtime.pruneSelection((selectionId) => selectionId !== id);
43
- }
44
- async setTransform(id, transform) {
45
- const node = this.requireNode(id);
46
- await this.runtime.history.execute(new SetCartoonTransformCommand(node, mergeTransform(node.transform, transform)));
47
- }
48
- selectNode(id) {
49
- this.requireNode(id);
50
- this.runtime.select([id]);
51
- }
52
- setCameraPreview(id) {
53
- if (id !== null) {
54
- const node = this.requireNode(id);
55
- if (node.kind !== "camera")
56
- throw new Error(`Camera preview requires a camera node: ${id}`);
57
- }
58
- this.cameraPreviewIdInternal = id;
59
- }
60
- setEpisodeState(state) {
61
- this.episodeState = normalizeEpisodeState({ ...this.episodeState, ...state });
62
- return this.episodeSnapshot();
63
- }
64
- serializeScene() {
65
- return cloneNode(this.root);
66
- }
67
- loadScene(root) {
68
- this.root.children.splice(0, this.root.children.length, ...root.children.map(cloneNode));
69
- this.root.name = root.name;
70
- this.root.visible = root.visible;
71
- this.runtime.clearSelection();
72
- }
73
- flattenHierarchy() {
74
- return this.runtime.flattenHierarchy(this.root);
75
- }
76
- inspectSelected() {
77
- const selected = this.runtime.currentSelection()[0];
78
- if (selected === undefined)
79
- return [];
80
- return this.runtime.inspect(this.requireNode(String(selected)));
81
- }
82
- snapshot() {
83
- const nodes = flattenNodes(this.root);
84
- return {
85
- nodeCount: nodes.length,
86
- selectedIds: this.runtime.currentSelection(),
87
- placedAssetCount: nodes.filter((node) => node.asset).length,
88
- cameraPreviewId: this.cameraPreviewIdInternal,
89
- hierarchy: this.flattenHierarchy(),
90
- evidence: {
91
- assetPlacement: nodes.some((node) => node.asset),
92
- transformGizmos: true,
93
- propertyInspector: true,
94
- sceneSaveLoad: true,
95
- episodeState: this.episodeState.shots.length > 0
96
- || this.episodeState.captions.length > 0
97
- || this.episodeState.visemes.length > 0
98
- || Boolean(this.episodeState.renderState)
99
- || Boolean(this.episodeState.reviewState)
100
- },
101
- episode: this.episodeSnapshot()
102
- };
103
- }
104
- episodeSnapshot() {
105
- return {
106
- ...this.episodeState,
107
- shotCount: this.episodeState.shots.length,
108
- assetCount: this.episodeState.assets.length,
109
- captionCount: this.episodeState.captions.length,
110
- visemeCount: this.episodeState.visemes.length,
111
- hasRenderState: Boolean(this.episodeState.renderState),
112
- hasReviewState: Boolean(this.episodeState.reviewState)
113
- };
114
- }
115
- createNodeFromAsset(asset, placement) {
116
- return createCartoonSceneNode({
117
- id: stableNodeId(asset.id),
118
- name: asset.name,
119
- kind: asset.category ?? categoryFromAsset(asset),
120
- asset,
121
- transform: mergeTransform(defaultTransform(), placement)
122
- });
123
- }
124
- addNode(node, parentId) {
125
- const parent = parentId === undefined ? this.root : this.requireNode(String(parentId));
126
- parent.children.push(node);
127
- }
128
- requireNode(id) {
129
- const node = findNode(this.root, id);
130
- if (!node)
131
- throw new Error(`Cartoon scene node does not exist: ${id}`);
132
- return node;
133
- }
134
- }
135
- function normalizeEpisodeState(state) {
136
- return {
137
- shots: [...(state.shots ?? [])],
138
- assets: [...(state.assets ?? [])],
139
- captions: [...(state.captions ?? [])],
140
- visemes: [...(state.visemes ?? [])],
141
- renderState: state.renderState,
142
- reviewState: state.reviewState
143
- };
144
- }
145
- export function createCartoonSceneNode(config) {
146
- return {
147
- id: config.id,
148
- name: config.name,
149
- kind: config.kind,
150
- visible: config.visible ?? true,
151
- asset: config.asset,
152
- transform: config.transform ?? defaultTransform(),
153
- animationClips: [...(config.animationClips ?? config.asset?.clips ?? [])],
154
- material: config.material,
155
- children: [...(config.children ?? [])]
156
- };
157
- }
158
- class AddCartoonNodeCommand {
159
- root;
160
- node;
161
- parentId;
162
- name;
163
- constructor(root, node, parentId) {
164
- this.root = root;
165
- this.node = node;
166
- this.parentId = parentId;
167
- this.name = `Add cartoon node ${node.id}`;
168
- }
169
- execute() {
170
- const parent = this.parentId ? findNode(this.root, this.parentId) : this.root;
171
- if (!parent)
172
- throw new Error(`Cartoon scene parent does not exist: ${this.parentId}`);
173
- if (!parent.children.includes(this.node))
174
- parent.children.push(this.node);
175
- }
176
- undo() {
177
- const parent = findParent(this.root, this.node.id);
178
- if (parent)
179
- removeChild(parent, this.node);
180
- }
181
- }
182
- class RemoveCartoonNodeCommand {
183
- parent;
184
- node;
185
- name;
186
- index = -1;
187
- constructor(parent, node) {
188
- this.parent = parent;
189
- this.node = node;
190
- this.name = `Remove cartoon node ${node.id}`;
191
- }
192
- execute() {
193
- this.index = this.parent.children.indexOf(this.node);
194
- removeChild(this.parent, this.node);
195
- }
196
- undo() {
197
- if (!this.parent.children.includes(this.node)) {
198
- this.parent.children.splice(this.index < 0 ? this.parent.children.length : this.index, 0, this.node);
199
- }
200
- }
201
- }
202
- class SetCartoonTransformCommand {
203
- node;
204
- after;
205
- name;
206
- before;
207
- constructor(node, after) {
208
- this.node = node;
209
- this.after = after;
210
- this.name = `Set cartoon transform ${node.id}`;
211
- this.before = cloneTransform(node.transform);
212
- }
213
- execute() {
214
- this.node.transform = cloneTransform(this.after);
215
- }
216
- undo() {
217
- this.node.transform = cloneTransform(this.before);
218
- }
219
- }
220
- function categoryFromAsset(asset) {
221
- if (asset.type === "audio")
222
- return "audio";
223
- if (asset.type === "material")
224
- return "material";
225
- if (asset.clips && asset.clips.length > 0)
226
- return "character";
227
- return "prop";
228
- }
229
- function findNode(root, id) {
230
- if (root.id === id)
231
- return root;
232
- for (const child of root.children) {
233
- const found = findNode(child, id);
234
- if (found)
235
- return found;
236
- }
237
- return undefined;
238
- }
239
- function findParent(root, id) {
240
- for (const child of root.children) {
241
- if (child.id === id)
242
- return root;
243
- const found = findParent(child, id);
244
- if (found)
245
- return found;
246
- }
247
- return undefined;
248
- }
249
- function flattenNodes(root) {
250
- return [root, ...root.children.flatMap((child) => flattenNodes(child))];
251
- }
252
- function removeChild(parent, node) {
253
- const index = parent.children.indexOf(node);
254
- if (index >= 0)
255
- parent.children.splice(index, 1);
256
- }
257
- function defaultTransform() {
258
- return {
259
- position: { x: 0, y: 0, z: 0 },
260
- rotation: { x: 0, y: 0, z: 0, w: 1 },
261
- scale: { x: 1, y: 1, z: 1 }
262
- };
263
- }
264
- function mergeTransform(base, next) {
265
- return {
266
- position: { ...base.position, ...(next.position ?? {}) },
267
- rotation: { ...base.rotation, ...(next.rotation ?? {}) },
268
- scale: { ...base.scale, ...(next.scale ?? {}) }
269
- };
270
- }
271
- function cloneTransform(transform) {
272
- return mergeTransform(defaultTransform(), transform);
273
- }
274
- function cloneNode(node) {
275
- return createCartoonSceneNode({
276
- ...node,
277
- transform: cloneTransform(node.transform),
278
- animationClips: [...node.animationClips],
279
- children: node.children.map(cloneNode)
280
- });
281
- }
282
- function stableNodeId(name) {
283
- return `node-${name.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "") || "item"}`;
284
- }
285
- //# sourceMappingURL=CartoonSceneEditor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CartoonSceneEditor.js","sourceRoot":"","sources":["../../../../packages/editor-runtime/src/CartoonSceneEditor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,OAAO,EAAE,aAAa,EAAwF,MAAM,iBAAiB,CAAC;AA4DtI,MAAM,OAAO,kBAAkB;IACpB,OAAO,CAAgB;IACvB,IAAI,CAAmB;IACvB,QAAQ,CAAkC;IAC3C,uBAAuB,GAAkB,IAAI,CAAC;IAC9C,YAAY,CAA2B;IAE/C,YAAY,UAAqC,EAAE;QACjD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,aAAa,EAAE,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,sBAAsB,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACrG,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAmB;YAClD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,UAAU,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC;YAC5E,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC;YACpE,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAkC,EAAE,YAAgC,EAAE;QACrF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAyH;QAC1I,MAAM,IAAI,GAAG,sBAAsB,CAAC;YAClC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;YAC1C,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM;SAC5B,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACvF,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;QAClF,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,SAAyC;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,0BAA0B,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACtH,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,EAAiB;QAChC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,EAAE,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;IACpC,CAAC;IAED,eAAe,CAAC,KAAwC;QACtD,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAED,cAAc;QACZ,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,IAAsB;QAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IAChC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,eAAe;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,QAAQ;QACN,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAC5C,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;YAC3D,eAAe,EAAE,IAAI,CAAC,uBAAuB;YAC7C,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAClC,QAAQ,EAAE;gBACR,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAChD,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,IAAI;gBACvB,aAAa,EAAE,IAAI;gBACnB,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;uBAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;uBACrC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;uBACpC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;uBACtC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;aAC5C;YACD,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE;SAChC,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,OAAO;YACL,GAAG,IAAI,CAAC,YAAY;YACpB,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM;YACzC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM;YAC3C,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM;YAC/C,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM;YAC7C,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;YACtD,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;SACvD,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,KAAkC,EAAE,SAA6B;QAC3F,OAAO,sBAAsB,CAAC;YAC5B,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,QAAQ,IAAI,iBAAiB,CAAC,KAAK,CAAC;YAChD,KAAK;YACL,SAAS,EAAE,cAAc,CAAC,gBAAgB,EAAE,EAAE,SAAS,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;IAEO,OAAO,CAAC,IAAsB,EAAE,QAA0B;QAChE,MAAM,MAAM,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEO,WAAW,CAAC,EAAU;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,SAAS,qBAAqB,CAAC,KAAwC;IACrE,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACjC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACrC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACnC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAUtC;IACC,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,gBAAgB,EAAE;QACjD,cAAc,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACzE,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,MAAM,qBAAqB;IAGI;IAAyC;IAAyC;IAFtG,IAAI,CAAS;IAEtB,YAA6B,IAAsB,EAAmB,IAAsB,EAAmB,QAAiB;QAAnG,SAAI,GAAJ,IAAI,CAAkB;QAAmB,SAAI,GAAJ,IAAI,CAAkB;QAAmB,aAAQ,GAAR,QAAQ,CAAS;QAC9H,IAAI,CAAC,IAAI,GAAG,oBAAoB,IAAI,CAAC,EAAE,EAAE,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9E,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI;QACF,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,MAAM;YAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,wBAAwB;IAIC;IAA2C;IAH/D,IAAI,CAAS;IACd,KAAK,GAAG,CAAC,CAAC,CAAC;IAEnB,YAA6B,MAAwB,EAAmB,IAAsB;QAAjE,WAAM,GAAN,MAAM,CAAkB;QAAmB,SAAI,GAAJ,IAAI,CAAkB;QAC5F,IAAI,CAAC,IAAI,GAAG,uBAAuB,IAAI,CAAC,EAAE,EAAE,CAAC;IAC/C,CAAC;IAED,OAAO;QACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;CACF;AAED,MAAM,0BAA0B;IAID;IAAyC;IAH7D,IAAI,CAAS;IACL,MAAM,CAAwB;IAE/C,YAA6B,IAAsB,EAAmB,KAA4B;QAArE,SAAI,GAAJ,IAAI,CAAkB;QAAmB,UAAK,GAAL,KAAK,CAAuB;QAChG,IAAI,CAAC,IAAI,GAAG,yBAAyB,IAAI,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,KAAkC;IAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IACjD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IAC9D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAsB,EAAE,EAAU;IAClD,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,UAAU,CAAC,IAAsB,EAAE,EAAU;IACpD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QACjC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,IAAsB;IAC1C,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,WAAW,CAAC,MAAwB,EAAE,IAAsB;IACnE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,KAAK,IAAI,CAAC;QAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO;QACL,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC9B,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACpC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAA2B,EAAE,IAAyD;IAC5G,OAAO;QACL,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE;QACxD,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE;QACxD,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,SAAgC;IACtD,OAAO,cAAc,CAAC,gBAAgB,EAAE,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,IAAsB;IACvC,OAAO,sBAAsB,CAAC;QAC5B,GAAG,IAAI;QACP,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;QACzC,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;KACvC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC;AAClG,CAAC"}