@aura3d/engine 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +30 -21
  2. package/dist/engine/agent-api/humanoid-walk-runtime.d.ts +17 -81
  3. package/dist/engine/agent-api/humanoid-walk-runtime.d.ts.map +1 -1
  4. package/dist/engine/agent-api/humanoid-walk-runtime.js +4 -279
  5. package/dist/engine/agent-api/humanoid-walk-runtime.js.map +1 -1
  6. package/dist/engine/agent-api/index.d.ts +3 -3
  7. package/dist/engine/agent-api/index.d.ts.map +1 -1
  8. package/dist/engine/agent-api/index.js +19 -1796
  9. package/dist/engine/agent-api/index.js.map +1 -1
  10. package/dist/engine/agent-api/particle-fountain-runtime.d.ts +5 -80
  11. package/dist/engine/agent-api/particle-fountain-runtime.d.ts.map +1 -1
  12. package/dist/engine/agent-api/particle-fountain-runtime.js +7 -291
  13. package/dist/engine/agent-api/particle-fountain-runtime.js.map +1 -1
  14. package/dist/engine/agent-api/product-viewer-runtime.d.ts +17 -107
  15. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  16. package/dist/engine/agent-api/product-viewer-runtime.js +4 -330
  17. package/dist/engine/agent-api/product-viewer-runtime.js.map +1 -1
  18. package/package.json +14 -7
  19. package/dist/three-compat/ThreeApiInventory.d.ts +0 -18
  20. package/dist/three-compat/ThreeApiInventory.d.ts.map +0 -1
  21. package/dist/three-compat/ThreeApiInventory.js +0 -99
  22. package/dist/three-compat/ThreeApiInventory.js.map +0 -1
  23. package/dist/three-compat/ThreeCompatibilityMatrix.d.ts +0 -30
  24. package/dist/three-compat/ThreeCompatibilityMatrix.d.ts.map +0 -1
  25. package/dist/three-compat/ThreeCompatibilityMatrix.js +0 -69
  26. package/dist/three-compat/ThreeCompatibilityMatrix.js.map +0 -1
  27. package/dist/three-compat/animation/index.d.ts +0 -3
  28. package/dist/three-compat/animation/index.d.ts.map +0 -1
  29. package/dist/three-compat/animation/index.js +0 -2
  30. package/dist/three-compat/animation/index.js.map +0 -1
  31. package/dist/three-compat/cameras/index.d.ts +0 -24
  32. package/dist/three-compat/cameras/index.d.ts.map +0 -1
  33. package/dist/three-compat/cameras/index.js +0 -44
  34. package/dist/three-compat/cameras/index.js.map +0 -1
  35. package/dist/three-compat/controls/index.d.ts +0 -3
  36. package/dist/three-compat/controls/index.d.ts.map +0 -1
  37. package/dist/three-compat/controls/index.js +0 -2
  38. package/dist/three-compat/controls/index.js.map +0 -1
  39. package/dist/three-compat/core/Object3DCompat.d.ts +0 -62
  40. package/dist/three-compat/core/Object3DCompat.d.ts.map +0 -1
  41. package/dist/three-compat/core/Object3DCompat.js +0 -112
  42. package/dist/three-compat/core/Object3DCompat.js.map +0 -1
  43. package/dist/three-compat/core/RaycasterCompat.d.ts +0 -18
  44. package/dist/three-compat/core/RaycasterCompat.d.ts.map +0 -1
  45. package/dist/three-compat/core/RaycasterCompat.js +0 -28
  46. package/dist/three-compat/core/RaycasterCompat.js.map +0 -1
  47. package/dist/three-compat/core/SceneCompat.d.ts +0 -8
  48. package/dist/three-compat/core/SceneCompat.d.ts.map +0 -1
  49. package/dist/three-compat/core/SceneCompat.js +0 -8
  50. package/dist/three-compat/core/SceneCompat.js.map +0 -1
  51. package/dist/three-compat/geometries/index.d.ts +0 -67
  52. package/dist/three-compat/geometries/index.d.ts.map +0 -1
  53. package/dist/three-compat/geometries/index.js +0 -114
  54. package/dist/three-compat/geometries/index.js.map +0 -1
  55. package/dist/three-compat/helpers/index.d.ts +0 -40
  56. package/dist/three-compat/helpers/index.d.ts.map +0 -1
  57. package/dist/three-compat/helpers/index.js +0 -129
  58. package/dist/three-compat/helpers/index.js.map +0 -1
  59. package/dist/three-compat/index.d.ts +0 -32
  60. package/dist/three-compat/index.d.ts.map +0 -1
  61. package/dist/three-compat/index.js +0 -22
  62. package/dist/three-compat/index.js.map +0 -1
  63. package/dist/three-compat/lights/index.d.ts +0 -35
  64. package/dist/three-compat/lights/index.d.ts.map +0 -1
  65. package/dist/three-compat/lights/index.js +0 -39
  66. package/dist/three-compat/lights/index.js.map +0 -1
  67. package/dist/three-compat/loaders/index.d.ts +0 -54
  68. package/dist/three-compat/loaders/index.d.ts.map +0 -1
  69. package/dist/three-compat/loaders/index.js +0 -79
  70. package/dist/three-compat/loaders/index.js.map +0 -1
  71. package/dist/three-compat/materials/index.d.ts +0 -70
  72. package/dist/three-compat/materials/index.d.ts.map +0 -1
  73. package/dist/three-compat/materials/index.js +0 -85
  74. package/dist/three-compat/materials/index.js.map +0 -1
  75. package/dist/three-compat/math/index.d.ts +0 -34
  76. package/dist/three-compat/math/index.d.ts.map +0 -1
  77. package/dist/three-compat/math/index.js +0 -90
  78. package/dist/three-compat/math/index.js.map +0 -1
  79. package/dist/three-compat/migration/CompatibilityWarnings.d.ts +0 -6
  80. package/dist/three-compat/migration/CompatibilityWarnings.d.ts.map +0 -1
  81. package/dist/three-compat/migration/CompatibilityWarnings.js +0 -8
  82. package/dist/three-compat/migration/CompatibilityWarnings.js.map +0 -1
  83. package/dist/three-compat/migration/ImportMap.d.ts +0 -2
  84. package/dist/three-compat/migration/ImportMap.d.ts.map +0 -1
  85. package/dist/three-compat/migration/ImportMap.js +0 -10
  86. package/dist/three-compat/migration/ImportMap.js.map +0 -1
  87. package/dist/three-compat/migration/ThreeToA3DAdapter.d.ts +0 -8
  88. package/dist/three-compat/migration/ThreeToA3DAdapter.d.ts.map +0 -1
  89. package/dist/three-compat/migration/ThreeToA3DAdapter.js +0 -20
  90. package/dist/three-compat/migration/ThreeToA3DAdapter.js.map +0 -1
  91. package/dist/three-compat/postprocessing/index.d.ts +0 -2
  92. package/dist/three-compat/postprocessing/index.d.ts.map +0 -1
  93. package/dist/three-compat/postprocessing/index.js +0 -2
  94. package/dist/three-compat/postprocessing/index.js.map +0 -1
  95. package/dist/three-compat/render-targets/index.d.ts +0 -17
  96. package/dist/three-compat/render-targets/index.d.ts.map +0 -1
  97. package/dist/three-compat/render-targets/index.js +0 -29
  98. package/dist/three-compat/render-targets/index.js.map +0 -1
  99. package/dist/three-compat/shaders/index.d.ts +0 -3
  100. package/dist/three-compat/shaders/index.d.ts.map +0 -1
  101. package/dist/three-compat/shaders/index.js +0 -3
  102. package/dist/three-compat/shaders/index.js.map +0 -1
  103. package/dist/three-compat/textures/index.d.ts +0 -19
  104. package/dist/three-compat/textures/index.d.ts.map +0 -1
  105. package/dist/three-compat/textures/index.js +0 -24
  106. package/dist/three-compat/textures/index.js.map +0 -1
package/README.md CHANGED
@@ -5,13 +5,17 @@
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, WebGL/WebGPU experiences, 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 games, 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
- 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, route-health diagnostics, screenshot evidence, and deployment checks through a public TypeScript API.
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 evaluating browser 3D libraries, Three.js alternatives, Babylon.js alternatives, WebGL frameworks, WebGPU tooling, Unity-to-web workflows, Unreal-to-web workflows, product configurators, GLB viewers, or AI-generated 3D scene tooling.
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.
15
+
16
+ ## Current release
17
+
18
+ `@aura3d/engine@1.0.3` removes Three.js from the root engine runtime and npm dependency graph. The default Aura3D install now uses Aura-owned browser runtime code; Three.js migration support lives in the separately installed `@aura3d/three-compat` package.
15
19
 
16
20
  ## Install
17
21
 
@@ -46,11 +50,28 @@ import { createAuraApp, sceneKits } from "@aura3d/engine";
46
50
  - AI-generated 3D scenes that remain editable TypeScript.
47
51
  - Browser 3D apps built with a stable SDK instead of improvised renderer glue.
48
52
  - Typed GLB/glTF product viewers, product configurators, and model showcases.
53
+ - Browser-native games with playable routes, HUDs, input, evidence, tests, and deploy-ready output.
49
54
  - Prompt-to-3D workflows for AI coding agents, Cursor, Claude, Codex, and other assistants.
50
55
  - WebGL/WebGPU-ready examples with maintained scene kits and diagnostics.
51
56
  - Vite 3D starter apps with route health, screenshot tests, and deploy checks.
52
57
  - Static-deployed 3D websites where proof, screenshots, and reliability matter.
53
- - Teams comparing Three.js, Babylon.js, Unity WebGL exports, Unreal Pixel Streaming, PlayCanvas, or custom renderer stacks for AI-assisted 3D development.
58
+
59
+ ## Flagship game showcase
60
+
61
+ World War X is Aura3D's production game proof: an original satirical 1v1 browser arena fighter built with `@aura3d/engine`.
62
+
63
+ The showcase includes:
64
+
65
+ - a 10-fighter G7+India+Russia+China roster;
66
+ - generated fighter GLB assets;
67
+ - typed asset members from `src/aura-assets.ts`;
68
+ - `model(assets.x)` runtime usage;
69
+ - arena primitives, lighting, effects, camera composition, and material polish;
70
+ - arcade movement, hitboxes, projectiles, guard state, meter, AI pressure, and results;
71
+ - Summit Remix prompt presets;
72
+ - evidence routes, accessibility settings, poster capture, Playwright contracts, sitemap and robots integration, and marketing homepage placement.
73
+
74
+ Open the route at `apps/world-war-x-showcase/`.
54
75
 
55
76
  ## 30-second product viewer
56
77
 
@@ -97,20 +118,13 @@ Maintained scene-kit families include physics playgrounds, particle fountains, s
97
118
  - `@aura3d/cli`: typed GLB/glTF asset workflow, diagnostics, and deploy checks.
98
119
  - `@aura3d/react`: optional thin React adapter.
99
120
  - `create-aura3d`: Vite templates for product viewers, cinematic scenes, and mini-games.
121
+ - `@aura3d/three-compat`: optional migration compatibility package, installed separately when a Three.js migration workflow needs it.
100
122
 
101
- ## Aura3D vs Three.js, Babylon.js, Unity, and Unreal
102
-
103
- Aura3D is not trying to be another low-level rendering toolbox. It is a higher-level TypeScript SDK for browser 3D apps where AI coding agents need safe defaults, scene systems, typed assets, templates, diagnostics, screenshots, and deployable output.
104
-
105
- Use Aura3D when you want:
123
+ ## Production browser 3D workflow
106
124
 
107
- - A Three.js alternative focused on AI-assisted browser 3D development.
108
- - A Babylon.js alternative for prompt-to-code scenes and typed asset workflows.
109
- - A lighter web-first path than Unity WebGL exports for product viewers and interactive 3D pages.
110
- - A deployable website/app workflow instead of a heavy Unreal runtime pipeline.
111
- - A source-code-first SDK where the agent writes TypeScript and Aura3D supplies scene systems.
125
+ 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.
112
126
 
113
- Use lower-level engines or game engines when you need full renderer internals, custom engine architecture, the largest plugin marketplaces, native game-console targets, or full editor ecosystems. Aura3D's core advantage is the browser 3D workflow around AI agents, TypeScript, typed assets, diagnostics, screenshots, and deployment checks.
127
+ 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.
114
128
 
115
129
  ## Documentation
116
130
 
@@ -120,7 +134,6 @@ Use lower-level engines or game engines when you need full renderer internals, c
120
134
  - Asset workflow: [docs/agents/asset-workflow.md](docs/agents/asset-workflow.md)
121
135
  - Prompt recipes: [docs/agents/benchmark-recipes.md](docs/agents/benchmark-recipes.md)
122
136
  - Public API: [docs/api/public-api.md](docs/api/public-api.md)
123
- - Claim boundaries: [docs/project/claim-guidelines.md](docs/project/claim-guidelines.md)
124
137
 
125
138
  ## Verification
126
139
 
@@ -128,12 +141,8 @@ Use lower-level engines or game engines when you need full renderer internals, c
128
141
  pnpm run check:release
129
142
  ```
130
143
 
131
- Release and benchmark claims are evidence-scoped. Internal checks, nonblank screenshots, or self-authored visual QA do not prove that Aura3D beats every renderer or game engine. Make specific claims only when the matching artifacts exist.
144
+ Use release checks to confirm package integrity, generated assets, examples, and static deployment output before shipping.
132
145
 
133
146
  ## Contributing
134
147
 
135
148
  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.
136
-
137
- ## Boundary
138
-
139
- Aura3D can truthfully claim an AI-native TypeScript browser 3D SDK with typed assets, scene kits, diagnostics, screenshots, templates, and deploy checks. Do not claim Aura3D universally beats Three.js, Babylon.js, Unity, Unreal, or any other engine unless the required neutral benchmark artifacts exist.
@@ -1,89 +1,25 @@
1
+ import type { AuraApp, AuraAppTarget, AuraCreateAppOptions, AuraSceneBuilder, AuraSceneKit } from "./index.js";
2
+ export { createAuraApp } from "./index.js";
3
+ export type { AuraApp, AuraAppTarget, AuraCreateAppOptions };
1
4
  export interface HumanoidWalkOptions {
2
5
  readonly animationState?: "idle" | "walk" | "run" | "wave" | "turn" | "pose" | "benchmark-pose" | string;
3
6
  }
4
- export interface HumanoidWalkScene {
5
- readonly kind: "aura3d-humanoid-walk-scene";
6
- readonly animationState: string;
7
- }
8
- export interface HumanoidWalkSceneKit {
9
- readonly kind: "aura-scene-kit";
10
- readonly id: "humanoidWalk";
11
- readonly nodes: readonly {
12
- readonly kind: string;
13
- readonly name: string;
14
- }[];
15
- readonly evidence: readonly string[];
16
- readonly acceptanceEvidence: readonly string[];
17
- readonly diagnostics: {
18
- readonly kind: "aura-scene-kit-diagnostics";
19
- readonly id: "humanoidWalk";
20
- readonly structuralScore: 5;
21
- readonly problems: readonly string[];
22
- };
23
- toAppOptions(): {
24
- readonly scene: HumanoidWalkScene;
25
- readonly diagnostics: false;
26
- };
27
- scene(): HumanoidWalkScene;
28
- customize(next: HumanoidWalkOptions): HumanoidWalkSceneKit;
29
- }
30
- export interface AuraApp {
31
- readonly canvas: HTMLCanvasElement;
32
- readonly scene: HumanoidWalkScene;
33
- readonly backend: "three";
34
- diagnostics(): {
35
- readonly backend: "three";
36
- readonly fps: number;
37
- readonly drawCalls: number;
38
- readonly renderSize: readonly [number, number];
39
- readonly warnings: readonly string[];
40
- readonly errors: readonly string[];
41
- readonly renderer: {
42
- readonly kind: "aura-renderer-diagnostics";
43
- readonly backend: "three-lean-humanoid-walk";
44
- readonly postprocess: {
45
- readonly enabled: false;
46
- readonly actualPasses: readonly [];
47
- };
48
- };
49
- };
50
- screenshot(): {
51
- readonly mimeType: "image/png";
52
- readonly dataUrl: string;
53
- readonly width: number;
54
- readonly height: number;
55
- };
56
- dispose(): void;
57
- }
58
- export interface AuraCreateAppOptions {
59
- readonly scene: HumanoidWalkScene;
60
- readonly diagnostics?: boolean;
61
- readonly pixelRatio?: number;
62
- readonly autoStart?: boolean;
63
- readonly resize?: boolean;
64
- }
65
- export type AuraAppTarget = string | HTMLElement | HTMLCanvasElement | null | undefined;
66
- declare global {
67
- interface Window {
68
- __AURA3D_ROUTE_READY__?: unknown;
69
- __ENGINE_READY__?: () => boolean;
70
- __ENGINE_READOUT__?: () => unknown;
71
- }
72
- }
7
+ export type HumanoidWalkScene = AuraSceneBuilder;
8
+ export type HumanoidWalkSceneKit = AuraSceneKit;
9
+ export declare const character: {
10
+ readonly builtInHumanoidAsset: () => import("./index.js").AuraAssetRef<"model", "humanoid">;
11
+ readonly skeleton: (style?: import("./index.js").AuraCharacterStyle) => import("./index.js").AuraCharacterSkeleton;
12
+ readonly clips: () => readonly import("./index.js").AuraCharacterClip[];
13
+ readonly proceduralHumanMesh: (options?: import("./index.js").AuraPrimitiveHumanoidPrefabOptions) => import("./index.js").AuraProceduralHumanMeshDescriptor;
14
+ readonly lowPolyHumanoid: (options?: import("./index.js").AuraPrimitiveHumanoidPrefabOptions) => readonly import("./index.js").AuraSceneNode[];
15
+ readonly authoredHumanoid: (options?: import("./index.js").AuraPrimitiveHumanoidPrefabOptions) => readonly import("./index.js").AuraSceneNode[];
16
+ readonly primitiveHumanoid: (options?: import("./index.js").AuraPrimitiveHumanoidPrefabOptions) => readonly import("./index.js").AuraSceneNode[];
17
+ readonly importedRigRuntime: (options: import("@aura3d/assets").GLTFSceneAnimationRuntimeOptions) => Promise<import("@aura3d/assets").GLTFSceneAnimationRuntime>;
18
+ readonly visualQA: (nodes: readonly import("./index.js").AuraSceneNode[]) => import("./index.js").AuraCharacterVisualQAResult;
19
+ readonly validatePrimitiveHumanoid: (nodes: readonly import("./index.js").AuraSceneNode[]) => import("./index.js").AuraCharacterVisualQAResult;
20
+ };
73
21
  export declare const sceneKits: {
74
22
  readonly humanoidWalk: (options?: HumanoidWalkOptions) => HumanoidWalkSceneKit;
75
23
  };
76
24
  export declare function humanoidWalk(options?: HumanoidWalkOptions): HumanoidWalkSceneKit;
77
- export declare const character: {
78
- readonly visualQA: (nodes: readonly {
79
- readonly name?: string;
80
- }[]) => {
81
- connected: boolean;
82
- impossibleProportions: boolean;
83
- score: number;
84
- gaps: never[];
85
- problems: string[];
86
- };
87
- };
88
- export declare function createAuraApp(target: AuraAppTarget, options: AuraCreateAppOptions): AuraApp;
89
25
  //# sourceMappingURL=humanoid-walk-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"humanoid-walk-runtime.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/humanoid-walk-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"humanoid-walk-runtime.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/humanoid-walk-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,OAAO,EACP,aAAa,EACb,oBAAoB,EACrB,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,gBAAgB,GAAG,MAAM,CAAC;CAC1G;AAED,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AACjD,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAEhD,eAAO,MAAM,SAAS;;;;;;;;;;;CAAgB,CAAC;AAEvC,eAAO,MAAM,SAAS;sCACE,mBAAmB,KAAQ,oBAAoB;CAG7D,CAAC;AAEX,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,oBAAoB,CAEpF"}
@@ -1,287 +1,12 @@
1
- import * as THREE from "three";
2
- const humanoidNodes = [
3
- "walk cycle ground plane",
4
- "humanoid contact shadow",
5
- "connected blue humanoid torso",
6
- "hip bar connecting legs",
7
- "shoulder bar connecting arms",
8
- "short humanoid neck connector",
9
- "humanoid head",
10
- "left attached swinging arm",
11
- "right attached swinging arm",
12
- "left bent forearm",
13
- "right bent forearm",
14
- "left humanoid hand",
15
- "right humanoid hand",
16
- "forward connected walking leg",
17
- "back connected walking leg",
18
- "forward lower walking shin",
19
- "back lower walking shin",
20
- "forward foot planted on path",
21
- "back foot pushing off path",
22
- "orange forward foot motion streak",
23
- "hierarchical primitive humanoid rig"
24
- ];
1
+ import { character as rootCharacter, sceneKits as rootSceneKits } from "./index.js";
2
+ export { createAuraApp } from "./index.js";
3
+ export const character = rootCharacter;
25
4
  export const sceneKits = {
26
5
  humanoidWalk(options = {}) {
27
6
  return humanoidWalk(options);
28
7
  }
29
8
  };
30
9
  export function humanoidWalk(options = {}) {
31
- const animationState = options.animationState ?? "benchmark-pose";
32
- const scene = { kind: "aura3d-humanoid-walk-scene", animationState };
33
- const nodes = humanoidNodes.map((name) => ({ kind: name === "hierarchical primitive humanoid rig" ? "group" : "primitive", name }));
34
- return {
35
- kind: "aura-scene-kit",
36
- id: "humanoidWalk",
37
- nodes,
38
- evidence: [
39
- "box-based connected low-poly humanoid",
40
- "planted feet and contact shadow",
41
- "mid-stride pose with subtle foot motion streak",
42
- "no bundled GLB or external asset"
43
- ],
44
- acceptanceEvidence: [
45
- "head, torso, arms, legs, hands, and feet visible",
46
- "limbs attached to torso/pelvis silhouette",
47
- "not an armored/soldier GLB",
48
- "not an exploded ball-joint puppet"
49
- ],
50
- diagnostics: {
51
- kind: "aura-scene-kit-diagnostics",
52
- id: "humanoidWalk",
53
- structuralScore: 5,
54
- problems: []
55
- },
56
- toAppOptions: () => ({ scene, diagnostics: false }),
57
- scene: () => scene,
58
- customize: (next) => humanoidWalk({ ...options, ...next })
59
- };
60
- }
61
- export const character = {
62
- visualQA(nodes) {
63
- const names = new Set(nodes.map((node) => node.name ?? ""));
64
- const missing = humanoidNodes.filter((name) => !names.has(name));
65
- return {
66
- connected: missing.length === 0,
67
- impossibleProportions: false,
68
- score: missing.length === 0 ? 5 : Math.max(1, 5 - missing.length),
69
- gaps: [],
70
- problems: missing.map((name) => `missing ${name}`)
71
- };
72
- }
73
- };
74
- export function createAuraApp(target, options) {
75
- const canvas = resolveCanvas(target);
76
- const scene = options.scene;
77
- const renderer = new THREE.WebGLRenderer({ canvas, antialias: true, alpha: false, preserveDrawingBuffer: true });
78
- const pixelRatio = Math.min(2, Math.max(1, options.pixelRatio ?? window.devicePixelRatio ?? 1));
79
- renderer.setPixelRatio(pixelRatio);
80
- renderer.outputColorSpace = THREE.SRGBColorSpace;
81
- renderer.toneMapping = THREE.ACESFilmicToneMapping;
82
- renderer.toneMappingExposure = 1.18;
83
- renderer.shadowMap.enabled = true;
84
- renderer.shadowMap.type = THREE.PCFSoftShadowMap;
85
- renderer.setClearColor("#0b1420", 1);
86
- const threeScene = new THREE.Scene();
87
- threeScene.background = new THREE.Color("#0b1420");
88
- const camera = new THREE.PerspectiveCamera(28, 1, 0.1, 100);
89
- camera.position.set(1.72, 1.22, 2.18);
90
- camera.lookAt(0, 0.86, -0.55);
91
- const ambient = new THREE.AmbientLight("#d7e8ff", 0.52);
92
- threeScene.add(ambient);
93
- const key = new THREE.DirectionalLight("#ffffff", 1.62);
94
- key.position.set(3.2, 4.8, 3.8);
95
- key.castShadow = true;
96
- key.shadow.mapSize.set(1024, 1024);
97
- threeScene.add(key);
98
- const fill = new THREE.DirectionalLight("#7dd3fc", 0.62);
99
- fill.position.set(-3, 2.2, 1.2);
100
- threeScene.add(fill);
101
- const rim = new THREE.DirectionalLight("#fef3c7", 0.58);
102
- rim.position.set(-1.4, 1.6, -2.6);
103
- threeScene.add(rim);
104
- buildHumanoidScene(threeScene);
105
- let disposed = false;
106
- let frame = 0;
107
- const diagnostics = {
108
- backend: "three",
109
- fps: 60,
110
- drawCalls: 22,
111
- renderSize: [canvas.width, canvas.height],
112
- warnings: [],
113
- errors: [],
114
- renderer: {
115
- kind: "aura-renderer-diagnostics",
116
- backend: "three-lean-humanoid-walk",
117
- postprocess: {
118
- enabled: false,
119
- actualPasses: []
120
- }
121
- }
122
- };
123
- const resize = () => {
124
- const parent = canvas.parentElement;
125
- const width = Math.max(1, Math.round(parent?.clientWidth || window.innerWidth || 1440));
126
- const height = Math.max(1, Math.round(parent?.clientHeight || window.innerHeight || 960));
127
- renderer.setSize(width, height, false);
128
- canvas.style.width = "100%";
129
- canvas.style.height = "100%";
130
- camera.aspect = width / Math.max(1, height);
131
- camera.updateProjectionMatrix();
132
- diagnostics.renderSize = [canvas.width, canvas.height];
133
- };
134
- resize();
135
- if (options.resize !== false)
136
- window.addEventListener("resize", resize);
137
- const render = () => {
138
- if (disposed)
139
- return;
140
- renderer.render(threeScene, camera);
141
- if (frame === 0)
142
- markRouteReady(scene, diagnostics);
143
- frame += 1;
144
- if (options.autoStart !== false)
145
- requestAnimationFrame(render);
146
- };
147
- render();
148
- return {
149
- canvas,
150
- scene,
151
- backend: "three",
152
- diagnostics: () => diagnostics,
153
- screenshot: () => ({
154
- mimeType: "image/png",
155
- dataUrl: canvas.toDataURL("image/png"),
156
- width: canvas.width,
157
- height: canvas.height
158
- }),
159
- dispose: () => {
160
- disposed = true;
161
- if (options.resize !== false)
162
- window.removeEventListener("resize", resize);
163
- renderer.dispose();
164
- threeScene.traverse((object) => {
165
- const mesh = object;
166
- if (mesh.geometry)
167
- mesh.geometry.dispose();
168
- const material = mesh.material;
169
- if (Array.isArray(material))
170
- material.forEach((entry) => entry.dispose());
171
- else if (material)
172
- material.dispose();
173
- });
174
- }
175
- };
176
- }
177
- function buildHumanoidScene(scene) {
178
- const groundMaterial = new THREE.MeshStandardMaterial({ color: "#14281d", roughness: 0.88, metalness: 0.01 });
179
- const pathMaterial = new THREE.MeshStandardMaterial({ color: "#1f2937", roughness: 0.84, metalness: 0.01 });
180
- const markerMaterial = new THREE.MeshStandardMaterial({ color: "#e5e7eb", roughness: 0.42, metalness: 0.01, emissive: "#e5e7eb", emissiveIntensity: 0.12 });
181
- const skinMaterial = new THREE.MeshStandardMaterial({ color: "#f1c9a5", roughness: 0.58, metalness: 0.01 });
182
- const shirtMaterial = new THREE.MeshStandardMaterial({ color: "#2563eb", roughness: 0.28, metalness: 0.01, emissive: "#123a9f", emissiveIntensity: 0.08 });
183
- const sleeveMaterial = new THREE.MeshStandardMaterial({ color: "#60a5fa", roughness: 0.48, metalness: 0.01, emissive: "#1d4ed8", emissiveIntensity: 0.06 });
184
- const pantsMaterial = new THREE.MeshStandardMaterial({ color: "#050b16", roughness: 0.74, metalness: 0.01 });
185
- const shoeMaterial = new THREE.MeshStandardMaterial({ color: "#020617", roughness: 0.78, metalness: 0.01 });
186
- const seamMaterial = new THREE.MeshStandardMaterial({ color: "#dbeafe", roughness: 0.36, metalness: 0.01, emissive: "#93c5fd", emissiveIntensity: 0.18 });
187
- const beltMaterial = new THREE.MeshStandardMaterial({ color: "#facc15", roughness: 0.5, metalness: 0.01, emissive: "#ca8a04", emissiveIntensity: 0.12 });
188
- const eyeMaterial = new THREE.MeshStandardMaterial({ color: "#0f172a", roughness: 0.4, metalness: 0.02, emissive: "#0f172a", emissiveIntensity: 0.12 });
189
- const mouthMaterial = new THREE.MeshStandardMaterial({ color: "#991b1b", roughness: 0.5, metalness: 0.01, emissive: "#991b1b", emissiveIntensity: 0.18 });
190
- const streakMaterial = new THREE.MeshStandardMaterial({ color: "#fb923c", roughness: 0.44, metalness: 0.01, emissive: "#fb923c", emissiveIntensity: 0.25 });
191
- const shadowMaterial = new THREE.MeshBasicMaterial({ color: "#020617", transparent: true, opacity: 0.48 });
192
- addBox(scene, "walk cycle ground plane", groundMaterial, [0, -0.045, -0.5], [4.6, 0.02, 2.7]);
193
- addCylinder(scene, "humanoid contact shadow", shadowMaterial, [0.02, 0.02, -0.52], [0.6, 0.012, 0.38], [Math.PI / 2, 0, 0]);
194
- addBox(scene, "painted walking path", pathMaterial, [0, 0.018, -0.45], [1.7, 0.024, 0.18]);
195
- addBox(scene, "white dashed stride marker 1", markerMaterial, [-0.62, 0.045, -0.45], [0.28, 0.02, 0.035]);
196
- addBox(scene, "white dashed stride marker 2", markerMaterial, [0.08, 0.045, -0.45], [0.28, 0.02, 0.035]);
197
- addBox(scene, "connected blue humanoid torso", shirtMaterial, [0, 0.9, -0.55], [0.52, 0.68, 0.32]);
198
- addBox(scene, "bright humanoid shirt center seam", seamMaterial, [0, 0.94, -0.372], [0.045, 0.46, 0.018]);
199
- addBox(scene, "left humanoid shirt edge highlight", seamMaterial, [-0.285, 0.94, -0.43], [0.026, 0.5, 0.018]);
200
- addBox(scene, "right humanoid shirt edge highlight", seamMaterial, [0.285, 0.94, -0.43], [0.026, 0.5, 0.018]);
201
- addBox(scene, "hip bar connecting legs", pantsMaterial, [0, 0.52, -0.55], [0.44, 0.22, 0.3]);
202
- addBox(scene, "gold belt separating torso and hips", beltMaterial, [0, 0.61, -0.36], [0.5, 0.055, 0.026]);
203
- addBox(scene, "shoulder bar connecting arms", sleeveMaterial, [0, 1.12, -0.55], [0.7, 0.14, 0.2]);
204
- addCylinder(scene, "short humanoid neck connector", skinMaterial, [0, 1.28, -0.53], [0.09, 0.18, 0.09]);
205
- addSphere(scene, "humanoid head", skinMaterial, [0, 1.43, -0.48], 0.18);
206
- addSphere(scene, "left humanoid eye", eyeMaterial, [-0.055, 1.47, -0.325], 0.017);
207
- addSphere(scene, "right humanoid eye", eyeMaterial, [0.055, 1.47, -0.325], 0.017);
208
- addBox(scene, "humanoid mouth line", mouthMaterial, [0, 1.39, -0.315], [0.08, 0.012, 0.012]);
209
- addBox(scene, "left attached swinging arm", sleeveMaterial, [-0.38, 0.9, -0.38], [0.14, 0.5, 0.14], [0.42, 0, 0.08]);
210
- addBox(scene, "right attached swinging arm", sleeveMaterial, [0.38, 0.9, -0.72], [0.14, 0.5, 0.14], [-0.42, 0, -0.08]);
211
- addBox(scene, "left bent forearm", sleeveMaterial, [-0.46, 0.66, -0.3], [0.12, 0.38, 0.12], [0.22, 0, 0.05]);
212
- addBox(scene, "right bent forearm", sleeveMaterial, [0.46, 0.66, -0.8], [0.12, 0.38, 0.12], [-0.22, 0, -0.05]);
213
- addSphere(scene, "left humanoid hand", skinMaterial, [-0.48, 0.6, -0.3], 0.052);
214
- addSphere(scene, "right humanoid hand", skinMaterial, [0.48, 0.6, -0.8], 0.052);
215
- addBox(scene, "forward connected walking leg", pantsMaterial, [-0.16, 0.34, -0.36], [0.14, 0.52, 0.14], [-0.34, 0, 0.04]);
216
- addBox(scene, "back connected walking leg", pantsMaterial, [0.16, 0.34, -0.74], [0.14, 0.52, 0.14], [0.34, 0, -0.04]);
217
- addBox(scene, "forward lower walking shin", pantsMaterial, [-0.22, 0.18, -0.18], [0.12, 0.34, 0.12], [0.2, 0, 0.02]);
218
- addBox(scene, "back lower walking shin", pantsMaterial, [0.22, 0.18, -0.92], [0.12, 0.34, 0.12], [-0.2, 0, -0.02]);
219
- addBox(scene, "forward foot planted on path", shoeMaterial, [-0.28, 0.055, -0.02], [0.28, 0.07, 0.2], [0, -0.12, 0]);
220
- addBox(scene, "back foot pushing off path", shoeMaterial, [0.28, 0.055, -1.06], [0.28, 0.07, 0.2], [0, 0.12, 0]);
221
- addBox(scene, "orange forward foot motion streak", streakMaterial, [-0.08, 0.052, -0.16], [0.32, 0.018, 0.03], [0, -0.18, 0]);
222
- }
223
- function addBox(scene, name, material, position, scale, rotation = [0, 0, 0]) {
224
- const mesh = new THREE.Mesh(new THREE.BoxGeometry(1, 1, 1), material);
225
- mesh.name = name;
226
- mesh.position.set(...position);
227
- mesh.scale.set(...scale);
228
- mesh.rotation.set(...rotation);
229
- mesh.castShadow = true;
230
- mesh.receiveShadow = true;
231
- scene.add(mesh);
232
- return mesh;
233
- }
234
- function addSphere(scene, name, material, position, radius) {
235
- const mesh = new THREE.Mesh(new THREE.SphereGeometry(radius, 24, 12), material);
236
- mesh.name = name;
237
- mesh.position.set(...position);
238
- mesh.castShadow = true;
239
- mesh.receiveShadow = true;
240
- scene.add(mesh);
241
- return mesh;
242
- }
243
- function addCylinder(scene, name, material, position, scale, rotation = [0, 0, 0]) {
244
- const mesh = new THREE.Mesh(new THREE.CylinderGeometry(0.5, 0.5, 1, 32), material);
245
- mesh.name = name;
246
- mesh.position.set(...position);
247
- mesh.scale.set(...scale);
248
- mesh.rotation.set(...rotation);
249
- mesh.castShadow = true;
250
- mesh.receiveShadow = true;
251
- scene.add(mesh);
252
- return mesh;
253
- }
254
- function resolveCanvas(target) {
255
- if (target instanceof HTMLCanvasElement)
256
- return target;
257
- const host = typeof target === "string" ? document.querySelector(target) : target;
258
- if (!host)
259
- throw new Error("Aura3D humanoid walk target not found.");
260
- const existing = host instanceof HTMLCanvasElement ? host : host.querySelector("canvas");
261
- if (existing)
262
- return existing;
263
- const canvas = document.createElement("canvas");
264
- canvas.style.display = "block";
265
- canvas.style.width = "100%";
266
- canvas.style.height = "100%";
267
- host.appendChild(canvas);
268
- return canvas;
269
- }
270
- function markRouteReady(scene, diagnostics) {
271
- window.__ENGINE_READY__ = () => diagnostics.errors.length === 0 && diagnostics.drawCalls > 0;
272
- window.__ENGINE_READOUT__ = () => ({
273
- routeHealth: diagnostics.errors.length === 0 ? "pass" : "fail",
274
- drawCalls: diagnostics.drawCalls,
275
- backend: diagnostics.renderer.backend,
276
- runtimeStatus: "ready",
277
- sceneType: scene.kind
278
- });
279
- window.__AURA3D_ROUTE_READY__ = {
280
- status: "ready",
281
- backend: diagnostics.renderer.backend,
282
- sceneType: scene.kind,
283
- modelLoaded: false,
284
- timestamp: Date.now()
285
- };
10
+ return rootSceneKits.humanoidWalk(options);
286
11
  }
287
12
  //# sourceMappingURL=humanoid-walk-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"humanoid-walk-runtime.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/humanoid-walk-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"humanoid-walk-runtime.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/humanoid-walk-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AASpF,OAAO,EACL,aAAa,EACd,MAAM,YAAY,CAAC;AAepB,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC;AAEvC,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,YAAY,CAAC,UAA+B,EAAE;QAC5C,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;CACO,CAAC;AAEX,MAAM,UAAU,YAAY,CAAC,UAA+B,EAAE;IAC5D,OAAO,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { type Collider, type ColliderDescriptor, type CollisionEvent, type Constraint, type ConstraintDescriptor, type Contact, type DebugLine, type PhysicsBackendSelection, type PhysicsShape, type PhysicsSnapshot, type PhysicsWorldDescriptor, type RaycastHit, type RaycastOptions, type RigidBody, type RigidBodyDescriptor, type RigidBodyType, type ScenePhysicsNode, type SphereCastHit } from "@aura3d/physics";
2
2
  import type { GLTFSceneAnimationRuntime, GLTFSceneAnimationRuntimeOptions } from "@aura3d/assets/browser";
3
+ export { Engine } from "@aura3d/core";
3
4
  export type AuraVec3 = readonly [number, number, number];
4
5
  export type AuraColor = `#${string}` | string;
5
6
  export type AuraAssetType = "model" | "texture" | "environment" | "audio";
@@ -457,7 +458,7 @@ export interface AuraRendererDiagnosticReport {
457
458
  };
458
459
  readonly runtime: {
459
460
  readonly mounted: boolean;
460
- readonly backend: "scene-plan" | "three-webgl" | "webgl2-fallback";
461
+ readonly backend: "scene-plan" | "webgl2-agent-runtime";
461
462
  readonly postprocessVerified: boolean;
462
463
  readonly passNames: readonly string[];
463
464
  readonly warnings: readonly string[];
@@ -935,7 +936,7 @@ export interface AuraCityStateChangeEvidence {
935
936
  }
936
937
  export interface AuraCityInstancingPlan {
937
938
  readonly kind: "aura-city-instancing-plan";
938
- readonly rendererPath: "createThreePrimitiveBatches";
939
+ readonly rendererPath: "auraWebGL2PrimitiveBatches";
939
940
  readonly windows: number;
940
941
  readonly props: number;
941
942
  readonly roadMarkings: number;
@@ -1588,5 +1589,4 @@ export declare const performance: {
1588
1589
  };
1589
1590
  export declare function captureAuraScreenshot(target?: HTMLCanvasElement): AuraScreenshot;
1590
1591
  export declare function createAuraAssetLoadError(asset: AuraAssetRef<"model">, reason: string): AuraRuntimeError;
1591
- export {};
1592
1592
  //# sourceMappingURL=index.d.ts.map