@aura3d/engine 1.0.5 → 1.0.7

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 (49) hide show
  1. package/README.md +41 -19
  2. package/dist/animation/AnimationStateGraph.d.ts +2 -0
  3. package/dist/animation/AnimationStateGraph.d.ts.map +1 -0
  4. package/dist/animation/AnimationStateGraph.js +2 -0
  5. package/dist/animation/AnimationStateGraph.js.map +1 -0
  6. package/dist/animation/AnimationStateMachine.d.ts +16 -0
  7. package/dist/animation/AnimationStateMachine.d.ts.map +1 -1
  8. package/dist/animation/AnimationStateMachine.js +69 -7
  9. package/dist/animation/AnimationStateMachine.js.map +1 -1
  10. package/dist/animation/index.d.ts +1 -0
  11. package/dist/animation/index.d.ts.map +1 -1
  12. package/dist/animation/index.js +1 -0
  13. package/dist/animation/index.js.map +1 -1
  14. package/dist/aura3d-cli/cli.js +39 -8
  15. package/dist/aura3d-cli/cli.js.map +1 -1
  16. package/dist/aura3d-cli/index.d.ts +9 -0
  17. package/dist/aura3d-cli/index.d.ts.map +1 -1
  18. package/dist/aura3d-cli/index.js +215 -13
  19. package/dist/aura3d-cli/index.js.map +1 -1
  20. package/dist/aura3d-cli/pull-bridge.d.ts +14 -1
  21. package/dist/aura3d-cli/pull-bridge.d.ts.map +1 -1
  22. package/dist/aura3d-cli/pull-bridge.js +101 -15
  23. package/dist/aura3d-cli/pull-bridge.js.map +1 -1
  24. package/dist/create-aura3d/index.js +1 -1
  25. package/dist/engine/agent-api/FrameLoop.d.ts.map +1 -1
  26. package/dist/engine/agent-api/FrameLoop.js +8 -2
  27. package/dist/engine/agent-api/FrameLoop.js.map +1 -1
  28. package/dist/engine/agent-api/GameAppRuntime.d.ts +62 -0
  29. package/dist/engine/agent-api/GameAppRuntime.d.ts.map +1 -0
  30. package/dist/engine/agent-api/GameAppRuntime.js +189 -0
  31. package/dist/engine/agent-api/GameAppRuntime.js.map +1 -0
  32. package/dist/engine/agent-api/index.d.ts +8 -0
  33. package/dist/engine/agent-api/index.d.ts.map +1 -1
  34. package/dist/engine/agent-api/index.js +12 -0
  35. package/dist/engine/agent-api/index.js.map +1 -1
  36. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  37. package/dist/engine/production-runtime/TypedGLBActor.d.ts +63 -0
  38. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -0
  39. package/dist/engine/production-runtime/TypedGLBActor.js +116 -0
  40. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -0
  41. package/dist/engine/production-runtime/index.d.ts +4 -3
  42. package/dist/engine/production-runtime/index.d.ts.map +1 -1
  43. package/dist/engine/production-runtime/index.js +2 -2
  44. package/dist/engine/production-runtime/index.js.map +1 -1
  45. package/dist/physics/HitboxWorld.d.ts +22 -1
  46. package/dist/physics/HitboxWorld.d.ts.map +1 -1
  47. package/dist/physics/HitboxWorld.js +142 -11
  48. package/dist/physics/HitboxWorld.js.map +1 -1
  49. package/package.json +138 -116
package/README.md CHANGED
@@ -5,23 +5,25 @@
5
5
  [![license: MIT](https://img.shields.io/badge/license-MIT-green.svg)](./LICENSE)
6
6
  [![TypeScript](https://img.shields.io/badge/TypeScript-browser%203D-3178c6.svg)](https://www.typescriptlang.org/)
7
7
 
8
- Aura3D is an AI-native TypeScript 3D SDK for browser 3D apps, prompt-to-code scenes, GLB/glTF product viewers, browser-native games, Vite templates, typed asset workflows, diagnostics, screenshots, and static deployment checks.
8
+ Aura3D is an AI-native TypeScript 3D SDK for browser 3D apps, prompt-to-code scenes, GLB/glTF product viewers, browser-native game routes, Vite templates, typed asset workflows, diagnostics, screenshots, and static deployment checks.
9
9
 
10
10
  Describe the scene. Keep the TypeScript. Ship the browser app.
11
11
 
12
12
  Aura3D is built for developers and AI coding agents that need real 3D software, not a blank canvas and renderer glue. It gives agents maintained scene kits, typed GLB/glTF assets, product-viewer workflows, browser-game workflows, route-health diagnostics, screenshot evidence, and deployment checks through a public TypeScript API.
13
13
 
14
- Use Aura3D when you are building browser 3D apps, prompt-authored scenes, product configurators, GLB viewers, browser-native game showcases, static-deployed interactive websites, or AI-generated 3D scene tooling.
14
+ Use Aura3D when you are building agent-written browser 3D apps, prompt-authored scenes, product configurators, GLB viewers, browser-native game-route proofs, static-deployed interactive websites, or AI-generated 3D scene tooling.
15
15
 
16
16
  ## Current release
17
17
 
18
- `@aura3d/engine@1.0.5` is the current release candidate for browser-native game routes, visible GLB animation runtime evidence, prompt-cartoon playback, AuraVoice timing packages, typed assets, diagnostics, screenshots, and readiness evidence. The root engine runtime remains free of Three.js imports; Three.js migration support lives in the separately installed `@aura3d/three-compat` package.
18
+ `@aura3d/engine@1.0.7` is the current public release for browser-native game routes, visible GLB animation runtime evidence, prompt-cartoon playback, AuraVoice timing packages, typed assets, diagnostics, screenshots, and readiness evidence. The root engine runtime remains free of Three.js imports; Three.js migration support lives in the separately installed `@aura3d/three-compat` package.
19
19
 
20
- Registry status before publish: npm `latest` still points at `@aura3d/engine@1.0.3`, and `@aura3d/cli` / `create-aura3d` must be published before the `npx ...@latest` commands below work for external users. Do not claim the 1.0.5 release is live until registry verification passes.
20
+ Aura3D 1.0.7 is a runtime foundation release, not a mature commercial game engine release. The scoped 1.0.7 gates pass for npm packages, CLI/catalog profile behavior, deployed Aura Clash runtime proof, docs/claims, and performance evidence.
21
21
 
22
- ## Aura3D 1.0.5 asset catalog
22
+ Registry status: npm `latest` points at `@aura3d/engine@1.0.7`, `@aura3d/asset-index@1.0.7`, `@aura3d/cli@1.0.7`, and `create-aura3d@1.0.7`, so the `npx ...@latest` commands below work for external users.
23
23
 
24
- Aura3D 1.0.5 includes the catalog-first asset workflow for AI coding agents. When a prompt names a real object, agents should search the hosted Aura3D catalog before writing scene code:
24
+ ## Aura3D 1.0.7 asset catalog
25
+
26
+ Aura3D 1.0.7 includes the catalog-first asset workflow for AI coding agents. When a prompt names a real object, agents should search the hosted Aura3D catalog before writing scene code:
25
27
 
26
28
  ```bash
27
29
  npx @aura3d/cli@latest assets search "battle-worn knight helmet"
@@ -29,16 +31,26 @@ npx @aura3d/cli@latest assets resolve "battle-worn knight helmet" --name helmet
29
31
  ```
30
32
 
31
33
  The resolver pulls only verified auto-pullable candidates into the existing typed asset pipeline, then scene code uses `model(assets.helmet)`. Unverified or marketplace candidates stay as deep-links until the user approves and supplies the asset.
32
- ## Aura3D 1.0.5 runtime launch track
33
34
 
34
- Aura3D 1.0.5 is the active runtime and animation evidence foundation for the next public showcase wave:
35
+ For game characters, use the catalog profile so the CLI filters toward animated redistributable GLB candidates and preserves catalog provenance when it registers the typed asset:
36
+
37
+ ```bash
38
+ npx @aura3d/cli@latest assets search "animated humanoid fighting character" --profile fighting-character --json
39
+ npx @aura3d/cli@latest assets resolve "animated humanoid fighting character" --name fighter --profile fighting-character
40
+ npx @aura3d/cli@latest assets validate-game --profile fighting-character --asset fighter --no-placeholders --require-license
41
+ ```
42
+
43
+ `--profile fighting-character` requires animated GLB candidates from verified CC0/CC-BY sources, applies a browser-sized triangle budget, and writes source URL, license, author/attribution, and source family into `aura.assets.json` during `assets resolve`.
44
+ ## Aura3D 1.0.7 runtime launch track
45
+
46
+ Aura3D 1.0.7 is the active runtime and animation evidence foundation for the next public showcase wave:
35
47
 
36
48
  - `game runtime`: mutable runtime nodes, app-owned frame loops, input, kinematic bodies, hitboxes, combat events, camera direction, effects, and evidence for browser-native game routes.
37
49
  - `fighting-game template`: `npx create-aura3d@latest my-fighter --template fighting-game` scaffolds a public-API playable starter using typed assets, `app.input(...)`, `app.onFrame(...)`, `game.kinematicBody(...)`, `game.combatWorld(...)`, and `app.evidence(...)`.
38
50
  - `prompt animation`: `npx create-aura3d@latest my-episode --template prompt-cartoon-channel` scaffolds structured episode plans, storyboards, shot timelines, captions, visemes, render queues, and evidence for prompt-authored cartoon/video workflows. The shorter `cartoon-channel` template name remains supported.
39
51
  - `AuraVoice bridge`: AuraVoice owns script/audio/caption/viseme timing; Aura3D owns typed scene generation, character performance, camera choreography, rendering, screenshots, and visual evidence.
40
52
 
41
- Aura Clash requires Aura3D 1.0.5 runtime and animation evidence before it should be marketed as a polished public game showcase. Until the runtime, screenshot, route, GLB, package-smoke, and visual approval gates pass, Aura Clash remains a development showcase proving the direction of the public API.
53
+ Aura Clash requires Aura3D 1.0.7 runtime and animation evidence before it should be marketed as a polished public game showcase. Until the runtime, screenshot, route, GLB, package-smoke, and visual approval gates pass, Aura Clash remains a development showcase proving the direction of the public API.
42
54
 
43
55
  ## Install
44
56
 
@@ -79,20 +91,22 @@ import { createAuraApp, sceneKits } from "@aura3d/engine";
79
91
  - Vite 3D starter apps with route health, screenshot tests, and deploy checks.
80
92
  - Static-deployed 3D websites where proof, screenshots, and reliability matter.
81
93
 
82
- ## Flagship game showcase
94
+ ## Aura Clash development showcase
83
95
 
84
- AuraClash is the active Aura3D game-runtime proof target: an original 1v1 browser arena fighter built with `@aura3d/engine` public APIs.
96
+ Aura Clash Arena is the active Aura3D game-runtime proof target: a 1v1 browser arena-fighter development showcase built with `@aura3d/engine` public APIs.
85
97
 
86
- The showcase includes:
98
+ The current showcase proves selected runtime mechanics, but it is not yet a flagship-quality game and must not be used as proof that Aura3D is comparable to Unity, Unreal, Babylon.js, or a mature commercial game engine.
99
+
100
+ The showcase currently targets:
87
101
 
88
102
  - typed or validated stylized fighter assets;
89
103
  - typed asset members from `src/aura-assets.ts`;
90
104
  - `model(assets.x)` runtime usage;
91
- - arena primitives, lighting, effects, camera composition, and material polish;
105
+ - arena composition, lighting, effects, camera framing, and material polish;
92
106
  - arcade movement, hitboxes, guard state, meter, AI pressure, and results;
93
107
  - evidence routes, accessibility settings, poster capture, Playwright contracts, sitemap and robots integration, and marketing homepage placement.
94
108
 
95
- Open the source route at `apps/aura-clash-showcase/`.
109
+ Open the source route at `apps/aura-clash-showcase/`. Treat the current route as a development showcase until the 1.0.7 gameplay, visual, asset, audio, performance, deployment, and docs-claim gates pass.
96
110
 
97
111
  ## 30-second product viewer
98
112
 
@@ -110,7 +124,7 @@ createAuraApp("#app", {
110
124
 
111
125
  The safe API uses generated refs such as `assets.robot`. Do not write `model("robot")`, hand-written GLB URLs, or invented asset ids.
112
126
 
113
- ## Aura3D 1.0.5 game runtime example
127
+ ## Aura3D 1.0.7 game runtime example
114
128
 
115
129
  Add typed assets before writing model code:
116
130
 
@@ -235,7 +249,7 @@ const evidence = app.evidence({
235
249
  console.log(touchLayout.controls.length, replayDriver.snapshot(), overlay.sections, evidence.systems);
236
250
  ```
237
251
 
238
- ## Aura3D 1.0.5 prompt-cartoon and AuraVoice example
252
+ ## Aura3D 1.0.7 prompt-cartoon and AuraVoice example
239
253
 
240
254
  Prompt-cartoon routes use typed assets, contract artifacts, shot playback, captions, visemes, and AuraVoice timing packages.
241
255
 
@@ -398,7 +412,7 @@ Maintained scene-kit families include physics playgrounds, particle fountains, s
398
412
 
399
413
  ## Packages
400
414
 
401
- - `@aura3d/engine`: public TypeScript browser 3D SDK for AI-generated scenes and typed GLB/glTF assets.
415
+ - `@aura3d/engine`: public TypeScript browser 3D SDK for AI-generated scenes, runtime helpers, and typed GLB/glTF assets.
402
416
  - `@aura3d/cli`: typed GLB/glTF asset workflow, diagnostics, and deploy checks.
403
417
  - `@aura3d/react`: optional thin React adapter.
404
418
  - `create-aura3d`: Vite templates for product viewers, cinematic scenes, and mini-games.
@@ -408,7 +422,7 @@ Maintained scene-kit families include physics playgrounds, particle fountains, s
408
422
 
409
423
  Aura3D is built for the AI-assisted browser 3D era. It gives teams a source-code-first TypeScript workflow where agents generate maintainable scenes, game routes, product viewers, and deployable interactive websites.
410
424
 
411
- Aura3D combines scene kits, GLB/glTF asset typing, product viewers, browser-game systems, physics scenes, particles, material labs, data worlds, route diagnostics, screenshot workflows, and static deployment into one agent-ready SDK.
425
+ Aura3D combines scene kits, GLB/glTF asset typing, product viewers, browser-game runtime helpers, physics scenes, particles, material labs, data worlds, route diagnostics, screenshot workflows, and static deployment into one agent-ready SDK. It does not currently claim Unity, Unreal, Babylon.js, or full commercial game-engine parity.
412
426
 
413
427
  ## Documentation
414
428
 
@@ -427,7 +441,7 @@ pnpm run check:release
427
441
 
428
442
  Use release checks to confirm package integrity, generated assets, examples, and static deployment output before shipping.
429
443
 
430
- Aura3D 1.0.5 route-specific readiness commands:
444
+ Aura3D 1.0.7 route-specific readiness commands:
431
445
 
432
446
  ```bash
433
447
  npx @aura3d/cli@latest assets validate-game
@@ -445,6 +459,14 @@ pnpm prompt-animation:release
445
459
 
446
460
  Do not mark a game, prompt-cartoon, or AuraVoice route launch-ready from source evidence alone. Asset readiness, package smoke, browser route health, deterministic screenshots, visual review, accessibility proof, and deployment checks must also pass.
447
461
 
462
+ Aura3D 1.0.7 game-engine/showcase readiness is stricter:
463
+
464
+ ```bash
465
+ pnpm aura3d107:readiness
466
+ ```
467
+
468
+ Expected current state: the scoped 1.0.7 release gates pass. The remaining mature-engine and flagship-game work stays tracked as future scope in `docs/project/aura3d-107-game-engine-and-showcase-prd.md`.
469
+
448
470
  ## Contributing
449
471
 
450
472
  Star the repo if you want AI-native browser 3D tooling for TypeScript, WebGL, WebGPU, GLB/glTF assets, product viewers, prompt-to-3D scenes, and deployable 3D websites. Open issues with the prompt, package version, asset source or license, commands run, route-health output, screenshots, and deploy context.
@@ -0,0 +1,2 @@
1
+ export { AnimationStateMachine as AnimationStateGraph, type AnimationState, type AnimationStateMachineGraphSnapshot, type AnimationStateMachineGraphState, type AnimationStateMachineGraphTransition, type StateTransition } from "./AnimationStateMachine.js";
2
+ //# sourceMappingURL=AnimationStateGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimationStateGraph.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationStateGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,IAAI,mBAAmB,EAC5C,KAAK,cAAc,EACnB,KAAK,kCAAkC,EACvC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EACzC,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { AnimationStateMachine as AnimationStateGraph } from "./AnimationStateMachine.js";
2
+ //# sourceMappingURL=AnimationStateGraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimationStateGraph.js","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationStateGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,IAAI,mBAAmB,EAM7C,MAAM,4BAA4B,CAAC"}
@@ -3,16 +3,28 @@ export type StateTransition = {
3
3
  readonly label?: string;
4
4
  readonly priority?: number;
5
5
  readonly exitTime?: number;
6
+ readonly consumeParameters?: readonly string[];
6
7
  readonly condition: (parameters: Readonly<Record<string, number | boolean | string>>) => boolean;
7
8
  };
8
9
  export type AnimationState = {
9
10
  readonly name: string;
11
+ readonly duration?: number;
12
+ readonly oneShot?: boolean;
13
+ readonly terminal?: boolean;
14
+ readonly onComplete?: string;
15
+ readonly completedParameter?: string;
16
+ readonly resetParametersOnEnter?: readonly string[];
10
17
  readonly transitions?: readonly StateTransition[];
11
18
  };
12
19
  export type AnimationStateMachineGraphState = {
13
20
  readonly name: string;
14
21
  readonly current: boolean;
15
22
  readonly transitionCount: number;
23
+ readonly duration?: number;
24
+ readonly oneShot?: boolean;
25
+ readonly terminal?: boolean;
26
+ readonly completed?: boolean;
27
+ readonly onComplete?: string;
16
28
  };
17
29
  export type AnimationStateMachineGraphTransition = {
18
30
  readonly from: string;
@@ -21,6 +33,7 @@ export type AnimationStateMachineGraphTransition = {
21
33
  readonly priority: number;
22
34
  readonly label: string;
23
35
  readonly exitTime?: number;
36
+ readonly consumeParameters?: readonly string[];
24
37
  };
25
38
  export type AnimationStateMachineGraphSnapshot = {
26
39
  readonly currentState: string;
@@ -39,5 +52,8 @@ export declare class AnimationStateMachine {
39
52
  update(delta?: number): string;
40
53
  graphSnapshot(): AnimationStateMachineGraphSnapshot;
41
54
  debugGraph(): string;
55
+ private requireState;
56
+ private transitionTo;
57
+ private resetParametersForState;
42
58
  }
43
59
  //# sourceMappingURL=AnimationStateMachine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationStateMachine.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationStateMachine.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC,KAAK,OAAO,CAAC;CAClG,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,MAAM,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAC5D,QAAQ,CAAC,WAAW,EAAE,SAAS,oCAAoC,EAAE,CAAC;CACvE,CAAC;AAEF,qBAAa,qBAAqB;IAChC,QAAQ,CAAC,MAAM,8BAAqC;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAM;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,SAAK;gBAEF,MAAM,EAAE,SAAS,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM;IAenE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI;IAIlE,MAAM,CAAC,KAAK,SAAI,GAAG,MAAM;IAuBzB,aAAa,IAAI,kCAAkC;IA8BnD,UAAU,IAAI,MAAM;CAcrB"}
1
+ {"version":3,"file":"AnimationStateMachine.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationStateMachine.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ export class AnimationStateMachine {
5
5
  stateTime = 0;
6
6
  constructor(states, initialState) {
7
7
  for (const state of states) {
8
+ if (state.duration !== undefined && (!Number.isFinite(state.duration) || state.duration < 0)) {
9
+ throw new Error(`State ${state.name} has invalid duration.`);
10
+ }
8
11
  for (const transition of state.transitions ?? []) {
9
12
  if (transition.exitTime !== undefined && (!Number.isFinite(transition.exitTime) || transition.exitTime < 0)) {
10
13
  throw new Error(`Transition from ${state.name} to ${transition.to} has invalid exit time.`);
@@ -15,7 +18,13 @@ export class AnimationStateMachine {
15
18
  if (!this.states.has(initialState)) {
16
19
  throw new Error(`Initial state ${initialState} does not exist.`);
17
20
  }
21
+ for (const state of this.states.values()) {
22
+ if (state.onComplete !== undefined && !this.states.has(state.onComplete)) {
23
+ throw new Error(`State ${state.name} completion target ${state.onComplete} does not exist.`);
24
+ }
25
+ }
18
26
  this.currentState = initialState;
27
+ this.resetParametersForState(this.requireState(initialState));
19
28
  }
20
29
  setParameter(name, value) {
21
30
  this.parameters[name] = value;
@@ -25,9 +34,21 @@ export class AnimationStateMachine {
25
34
  throw new Error("AnimationStateMachine delta must be finite and non-negative.");
26
35
  }
27
36
  this.stateTime += delta;
28
- const state = this.states.get(this.currentState);
29
- if (!state) {
30
- throw new Error(`Current state ${this.currentState} does not exist.`);
37
+ const state = this.requireState(this.currentState);
38
+ if (isStateComplete(state, this.stateTime)) {
39
+ if (state.completedParameter) {
40
+ this.parameters[state.completedParameter] = true;
41
+ }
42
+ if (state.onComplete) {
43
+ this.transitionTo(state.onComplete);
44
+ return this.currentState;
45
+ }
46
+ if (state.terminal || state.oneShot) {
47
+ return this.currentState;
48
+ }
49
+ }
50
+ if (state.terminal || state.oneShot) {
51
+ return this.currentState;
31
52
  }
32
53
  const transition = [...(state.transitions ?? [])]
33
54
  .filter((candidate) => candidate.condition(this.parameters))
@@ -37,8 +58,8 @@ export class AnimationStateMachine {
37
58
  if (!this.states.has(transition.to)) {
38
59
  throw new Error(`Transition target ${transition.to} does not exist.`);
39
60
  }
40
- this.currentState = transition.to;
41
- this.stateTime = 0;
61
+ consumeParameters(this.parameters, transition.consumeParameters);
62
+ this.transitionTo(transition.to);
42
63
  }
43
64
  return this.currentState;
44
65
  }
@@ -50,7 +71,12 @@ export class AnimationStateMachine {
50
71
  states.push({
51
72
  name: state.name,
52
73
  current: state.name === this.currentState,
53
- transitionCount: stateTransitions.length
74
+ transitionCount: stateTransitions.length,
75
+ ...(state.duration === undefined ? {} : { duration: state.duration }),
76
+ ...(state.oneShot ? { oneShot: true } : {}),
77
+ ...(state.terminal ? { terminal: true } : {}),
78
+ ...(state.name === this.currentState && isStateComplete(state, this.stateTime) ? { completed: true } : {}),
79
+ ...(state.onComplete === undefined ? {} : { onComplete: state.onComplete })
54
80
  });
55
81
  stateTransitions.forEach((transition, index) => {
56
82
  transitions.push({
@@ -59,7 +85,10 @@ export class AnimationStateMachine {
59
85
  index,
60
86
  priority: transition.priority ?? 0,
61
87
  label: transition.label ?? `${state.name}->${transition.to}`,
62
- ...(transition.exitTime === undefined ? {} : { exitTime: transition.exitTime })
88
+ ...(transition.exitTime === undefined ? {} : { exitTime: transition.exitTime }),
89
+ ...(transition.consumeParameters === undefined || transition.consumeParameters.length === 0
90
+ ? {}
91
+ : { consumeParameters: [...transition.consumeParameters] })
63
92
  });
64
93
  });
65
94
  }
@@ -85,8 +114,41 @@ export class AnimationStateMachine {
85
114
  }
86
115
  return lines.join("\n");
87
116
  }
117
+ requireState(name) {
118
+ const state = this.states.get(name);
119
+ if (!state) {
120
+ throw new Error(`Current state ${name} does not exist.`);
121
+ }
122
+ return state;
123
+ }
124
+ transitionTo(name) {
125
+ const state = this.requireState(name);
126
+ this.currentState = name;
127
+ this.stateTime = 0;
128
+ this.resetParametersForState(state);
129
+ }
130
+ resetParametersForState(state) {
131
+ consumeParameters(this.parameters, state.resetParametersOnEnter);
132
+ }
88
133
  }
89
134
  function formatNumber(value) {
90
135
  return Number(value.toFixed(6)).toString();
91
136
  }
137
+ function isStateComplete(state, stateTime) {
138
+ return state.duration !== undefined && stateTime >= state.duration;
139
+ }
140
+ function consumeParameters(parameters, names) {
141
+ for (const name of names ?? []) {
142
+ const value = parameters[name];
143
+ if (typeof value === "boolean") {
144
+ parameters[name] = false;
145
+ }
146
+ else if (typeof value === "number") {
147
+ parameters[name] = 0;
148
+ }
149
+ else if (typeof value === "string") {
150
+ parameters[name] = "";
151
+ }
152
+ }
153
+ }
92
154
  //# sourceMappingURL=AnimationStateMachine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationStateMachine.js","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationStateMachine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnimationStateMachine.js","sourceRoot":"","sources":["../../../../packages/animation/src/AnimationStateMachine.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export * from "./Skeleton.js";
10
10
  export * from "./Skinning.js";
11
11
  export * from "./BlendTree.js";
12
12
  export * from "./AnimationStateMachine.js";
13
+ export * from "./AnimationStateGraph.js";
13
14
  export * from "./RootMotion.js";
14
15
  export * from "./MotionQuality.js";
15
16
  export * from "./LocomotionController.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,+BAA+B,EAC/B,uCAAuC,EACvC,4BAA4B,EAC5B,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,IAAI,kBAAkB,EACpC,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC9G,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,YAAY,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,YAAY,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EACL,qCAAqC,EACrC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,iDAAiD,CAAC;AACzD,YAAY,EAAE,kCAAkC,EAAE,MAAM,iDAAiD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/animation/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,+BAA+B,EAC/B,uCAAuC,EACvC,4BAA4B,EAC5B,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,IAAI,kBAAkB,EACpC,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC9G,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,YAAY,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,YAAY,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EACL,qCAAqC,EACrC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,iDAAiD,CAAC;AACzD,YAAY,EAAE,kCAAkC,EAAE,MAAM,iDAAiD,CAAC"}
@@ -10,6 +10,7 @@ export * from "./Skeleton.js";
10
10
  export * from "./Skinning.js";
11
11
  export * from "./BlendTree.js";
12
12
  export * from "./AnimationStateMachine.js";
13
+ export * from "./AnimationStateGraph.js";
13
14
  export * from "./RootMotion.js";
14
15
  export * from "./MotionQuality.js";
15
16
  export * from "./LocomotionController.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/animation/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAenE,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EACL,qCAAqC,EACrC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,iDAAiD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/animation/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAenE,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EACL,qCAAqC,EACrC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,iDAAiD,CAAC"}
@@ -44,7 +44,12 @@ async function main() {
44
44
  print(validateAssets(readAssetValidationOptions()));
45
45
  }
46
46
  else if (action === "validate-game") {
47
- print(validateGameAssets({ output: readEvidenceOutput(), ...readAssetValidationOptions() }));
47
+ const profile = readCliAssetProfile();
48
+ print(validateGameAssets({
49
+ output: readEvidenceOutput(),
50
+ ...readAssetValidationOptions(),
51
+ ...(profile === "fighting-character" ? { gameProfile: profile } : {})
52
+ }));
48
53
  }
49
54
  else if (action === "validate-cartoon") {
50
55
  print(validateCartoonAssets({ output: readEvidenceOutput(), ...readAssetValidationOptions() }));
@@ -73,7 +78,7 @@ async function main() {
73
78
  else if (action === "search") {
74
79
  const query = args[2];
75
80
  if (!query || query.startsWith("--"))
76
- throw new Error("Usage: aura3d assets search <query> [--license cc0|cc-by] [--max-tris N] [--animated] [--json]");
81
+ throw new Error("Usage: aura3d assets search <query> [--profile fighting-character] [--license cc0|cc-by] [--max-tris N] [--animated] [--json]");
77
82
  const report = await runSearch({ query, constraints: readResolveConstraints() });
78
83
  if (hasFlag("--json")) {
79
84
  console.log(JSON.stringify(report, null, 2));
@@ -86,7 +91,7 @@ async function main() {
86
91
  const query = args[2];
87
92
  const name = readOption("--name");
88
93
  if (!query || query.startsWith("--") || !name)
89
- throw new Error("Usage: aura3d assets resolve <query> --name <name> [--license cc0|cc-by] [--max-tris N] [--animated]");
94
+ throw new Error("Usage: aura3d assets resolve <query> --name <name> [--profile fighting-character] [--license cc0|cc-by] [--max-tris N] [--animated]");
90
95
  const report = await runResolve({ query, name, constraints: readResolveConstraints() });
91
96
  if (hasFlag("--json")) {
92
97
  console.log(JSON.stringify(report, null, 2));
@@ -124,14 +129,14 @@ Commands:
124
129
  aura3d assets scan ./assets
125
130
  aura3d assets inspect ./model.glb [--animation] [--humanoid] [--skeleton] [--morphs] [--license]
126
131
  aura3d assets validate [--asset assetId] [--no-placeholders] [--require-license] [--provenance evidence.json]
127
- aura3d assets validate-game [--asset fighter] [--output artifacts/aura3d/game-assets.json] [--no-placeholders] [--require-license] [--provenance evidence.json]
132
+ aura3d assets validate-game [--profile fighting-character] [--asset fighter] [--output artifacts/aura3d/game-assets.json] [--no-placeholders] [--require-license] [--provenance evidence.json]
128
133
  aura3d assets validate-cartoon [--asset character] [--output artifacts/aura3d/cartoon-assets.json] [--no-placeholders] [--require-license] [--provenance evidence.json]
129
134
  aura3d assets assemble-character --name hero --body bodyAsset --part hair=hairAsset
130
135
  aura3d assets list
131
136
  aura3d assets typegen
132
137
  aura3d assets thumbnail
133
- aura3d assets search <query> [--license cc0|cc-by] [--max-tris N] [--animated] [--json]
134
- aura3d assets resolve <query> --name <name> [--license cc0|cc-by] [--max-tris N] [--animated]
138
+ aura3d assets search <query> [--profile fighting-character] [--license cc0|cc-by] [--max-tris N] [--animated] [--json]
139
+ aura3d assets resolve <query> --name <name> [--profile fighting-character] [--license cc0|cc-by] [--max-tris N] [--animated]
135
140
  aura3d doctor
136
141
  aura3d check-deploy --dist dist
137
142
  aura3d init --agent all`);
@@ -239,14 +244,40 @@ function readResolveConstraints() {
239
244
  }
240
245
  if (hasFlag("--animated"))
241
246
  constraints.animated = true;
242
- return constraints;
247
+ const profile = readCliAssetProfile();
248
+ return profile === "general" ? constraints : { ...constraints, profile };
249
+ }
250
+ function readCliAssetProfile() {
251
+ const value = readOption("--profile");
252
+ if (!value)
253
+ return "general";
254
+ if (value === "fighting-character")
255
+ return value;
256
+ throw new Error(`Unsupported --profile value "${value}". Use fighting-character.`);
243
257
  }
244
258
  function printSearchReport(report) {
245
259
  for (const message of report.messages)
246
260
  console.log(message);
247
261
  for (const candidate of report.candidates) {
248
- const tag = candidate.autoPullable ? "auto-pullable" : "manual license check required";
262
+ const profileTag = candidate.profile
263
+ ? candidate.profile.suitable
264
+ ? ", profile-ready"
265
+ : ", profile-rejected"
266
+ : "";
267
+ const tag = candidate.autoPullable ? `auto-pullable${profileTag}` : `manual license check required${profileTag}`;
249
268
  console.log(` [${candidate.source}] ${candidate.id} "${candidate.title}" ${candidate.license} (${tag})`);
269
+ if (candidate.profile && !candidate.profile.suitable) {
270
+ for (const reason of candidate.profile.rejectionReasons)
271
+ console.log(` rejects: ${reason}`);
272
+ }
273
+ }
274
+ if (report.rejectedCandidates && report.rejectedCandidates.length > 0) {
275
+ console.log("Rejected by profile:");
276
+ for (const candidate of report.rejectedCandidates) {
277
+ console.log(` [${candidate.source}] ${candidate.id} "${candidate.title}" ${candidate.license}`);
278
+ for (const reason of candidate.profile?.rejectionReasons ?? [])
279
+ console.log(` rejects: ${reason}`);
280
+ }
250
281
  }
251
282
  if (report.deepLinks.length > 0) {
252
283
  console.log("Marketplace deep-links (manual download, license check required):");
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../packages/aura3d-cli/src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../packages/aura3d-cli/src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,2BAA2B,EAC3B,qBAAqB,EACrB,MAAM,EACN,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,SAAS,EAA0D,MAAM,kBAAkB,CAAC;AAEjH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACzF,KAAK,CAAC,QAAQ,CAAC;gBACb,IAAI;gBACJ,IAAI;gBACJ,IAAI,EAAE,aAAa,EAAE;gBACrB,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC;gBACvC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC;gBACjC,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC;gBACrC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;gBAChC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC;gBAC9B,YAAY,EAAE,UAAU,CAAC,iBAAiB,CAAC;gBAC3C,WAAW,EAAE,UAAU,CAAC,eAAe,CAAC;aACzC,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,KAAK,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;YAClG,KAAK,CAAC,YAAY,CAAC;gBACjB,IAAI;gBACJ,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC;gBACjC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC;gBAC/B,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC;gBAC/B,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;gBAC3B,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC;aAC9B,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,KAAK,CAAC,cAAc,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;YACtC,KAAK,CAAC,kBAAkB,CAAC;gBACvB,MAAM,EAAE,kBAAkB,EAAE;gBAC5B,GAAG,0BAA0B,EAAE;gBAC/B,GAAG,CAAC,OAAO,KAAK,oBAAoB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,IAAI,MAAM,KAAK,kBAAkB,EAAE,CAAC;YACzC,KAAK,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,GAAG,0BAA0B,EAAE,EAAE,CAAC,CAAC,CAAC;QAClG,CAAC;aAAM,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,0HAA0H,CAAC,CAAC;YAChK,KAAK,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACjH,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,SAAS,QAAQ,CAAC,SAAS,OAAO,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,+HAA+H,CAAC,CAAC;YACvL,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;YACjF,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,qIAAqI,CAAC,CAAC;YACtM,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;YACxF,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;oBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5D,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;oBAAE,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAClB,CAAC;SAAM,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QACtC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;SAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;QACjD,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;QAC9H,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,KAA4D,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7I,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;0BAiBU,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACrF,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC3F,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,0BAA0B;IACjC,MAAM,OAAO,GAAkH,EAAE,CAAC;IAClI,IAAI,OAAO,CAAC,mBAAmB,CAAC;QAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAChE,IAAI,OAAO,CAAC,mBAAmB,CAAC;QAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAChE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAClI,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACrD,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACzG,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC;IAC1C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,SAAS;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,WAAW,CAAC,CAAC;QACnF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,KAAK,GAAsC,EAAE,CAAC;IACpD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,SAAS;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,aAAa,CAAC,CAAC;QACrF,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,qBAAqB,KAAK,GAAG,CAAC,CAAC;QACpF,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3G,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,+CAA+C,CAAC,CAAC;AACrG,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,WAAW,GAA0F,EAAE,CAAC;IAC9G,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,UAAU,KAAK,KAAK;YAAE,WAAW,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;aACnD,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,MAAM;YAAE,WAAW,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;;YACrF,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,sBAAsB,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,OAAO,KAAK,CAAC,CAAC;QAC1H,WAAW,CAAC,YAAY,GAAG,MAAM,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,CAAC;QAAE,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvD,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,CAAC;AAC3E,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,KAAK,KAAK,oBAAoB;QAAE,OAAO,KAAK,CAAC;IACjD,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,4BAA4B,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAg6B;IACz7B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5D,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO;YAClC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ;gBAC1B,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,oBAAoB;YACxB,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC,CAAC,gCAAgC,UAAU,EAAE,CAAC;QACjH,OAAO,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,MAAM,SAAS,CAAC,KAAK,MAAM,SAAS,CAAC,OAAO,MAAM,GAAG,GAAG,CAAC,CAAC;QAC7G,IAAI,SAAS,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrD,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,gBAAgB;gBAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,MAAM,SAAS,CAAC,KAAK,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;YACnG,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,gBAAgB,IAAI,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC;QACxG,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;QACjF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,KAAK,CAAC,KAAmJ;IAChK,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACtC,CAAC"}
@@ -146,10 +146,12 @@ export interface AssetValidationOptions {
146
146
  readonly assetIds?: readonly string[];
147
147
  }
148
148
  export type AuraAssetReadinessProfile = "game" | "cartoon";
149
+ export type AuraGameAssetReadinessProfile = "fighting-character";
149
150
  export type AuraAssetReadinessStatus = "passed" | "failed";
150
151
  export interface AssetReadinessOptions {
151
152
  readonly projectDir?: string;
152
153
  readonly output?: string;
154
+ readonly gameProfile?: AuraGameAssetReadinessProfile;
153
155
  readonly noPlaceholders?: boolean;
154
156
  readonly requireLicense?: boolean;
155
157
  readonly provenanceFile?: string;
@@ -158,6 +160,7 @@ export interface AssetReadinessOptions {
158
160
  export interface AssetReadinessReport {
159
161
  readonly schema: "aura3d.asset-readiness/1.0";
160
162
  readonly profile: AuraAssetReadinessProfile;
163
+ readonly gameProfile?: AuraGameAssetReadinessProfile;
161
164
  readonly ok: boolean;
162
165
  readonly status: AuraAssetReadinessStatus;
163
166
  readonly validator: AssetReadinessValidatorEvidence;
@@ -174,6 +177,9 @@ export interface AssetReadinessReport {
174
177
  readonly environmentAssets: number;
175
178
  readonly animationClips: number;
176
179
  readonly humanoidModels: number;
180
+ readonly profileTargetAssets?: number;
181
+ readonly profileReadyAssets?: number;
182
+ readonly profileSkippedAssets?: number;
177
183
  };
178
184
  readonly assets: readonly AssetReadinessAssetReport[];
179
185
  readonly failures: readonly string[];
@@ -248,6 +254,9 @@ export interface AssetReadinessAssetReport {
248
254
  readonly artifactPaths: AssetReadinessAssetArtifacts;
249
255
  readonly gameReady: boolean;
250
256
  readonly cartoonReady: boolean;
257
+ readonly profileTarget?: boolean;
258
+ readonly profileReady?: boolean;
259
+ readonly profileSkippedReason?: string;
251
260
  readonly warnings: readonly string[];
252
261
  }
253
262
  export interface AssetInspectionReport {