@aura3d/engine 1.0.2 → 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 (107) hide show
  1. package/README.md +29 -16
  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 +4 -6
  19. package/templates/product-viewer/src/main.ts +1 -0
  20. package/dist/three-compat/ThreeApiInventory.d.ts +0 -18
  21. package/dist/three-compat/ThreeApiInventory.d.ts.map +0 -1
  22. package/dist/three-compat/ThreeApiInventory.js +0 -99
  23. package/dist/three-compat/ThreeApiInventory.js.map +0 -1
  24. package/dist/three-compat/ThreeCompatibilityMatrix.d.ts +0 -30
  25. package/dist/three-compat/ThreeCompatibilityMatrix.d.ts.map +0 -1
  26. package/dist/three-compat/ThreeCompatibilityMatrix.js +0 -69
  27. package/dist/three-compat/ThreeCompatibilityMatrix.js.map +0 -1
  28. package/dist/three-compat/animation/index.d.ts +0 -3
  29. package/dist/three-compat/animation/index.d.ts.map +0 -1
  30. package/dist/three-compat/animation/index.js +0 -2
  31. package/dist/three-compat/animation/index.js.map +0 -1
  32. package/dist/three-compat/cameras/index.d.ts +0 -24
  33. package/dist/three-compat/cameras/index.d.ts.map +0 -1
  34. package/dist/three-compat/cameras/index.js +0 -44
  35. package/dist/three-compat/cameras/index.js.map +0 -1
  36. package/dist/three-compat/controls/index.d.ts +0 -3
  37. package/dist/three-compat/controls/index.d.ts.map +0 -1
  38. package/dist/three-compat/controls/index.js +0 -2
  39. package/dist/three-compat/controls/index.js.map +0 -1
  40. package/dist/three-compat/core/Object3DCompat.d.ts +0 -62
  41. package/dist/three-compat/core/Object3DCompat.d.ts.map +0 -1
  42. package/dist/three-compat/core/Object3DCompat.js +0 -112
  43. package/dist/three-compat/core/Object3DCompat.js.map +0 -1
  44. package/dist/three-compat/core/RaycasterCompat.d.ts +0 -18
  45. package/dist/three-compat/core/RaycasterCompat.d.ts.map +0 -1
  46. package/dist/three-compat/core/RaycasterCompat.js +0 -28
  47. package/dist/three-compat/core/RaycasterCompat.js.map +0 -1
  48. package/dist/three-compat/core/SceneCompat.d.ts +0 -8
  49. package/dist/three-compat/core/SceneCompat.d.ts.map +0 -1
  50. package/dist/three-compat/core/SceneCompat.js +0 -8
  51. package/dist/three-compat/core/SceneCompat.js.map +0 -1
  52. package/dist/three-compat/geometries/index.d.ts +0 -67
  53. package/dist/three-compat/geometries/index.d.ts.map +0 -1
  54. package/dist/three-compat/geometries/index.js +0 -114
  55. package/dist/three-compat/geometries/index.js.map +0 -1
  56. package/dist/three-compat/helpers/index.d.ts +0 -40
  57. package/dist/three-compat/helpers/index.d.ts.map +0 -1
  58. package/dist/three-compat/helpers/index.js +0 -129
  59. package/dist/three-compat/helpers/index.js.map +0 -1
  60. package/dist/three-compat/index.d.ts +0 -32
  61. package/dist/three-compat/index.d.ts.map +0 -1
  62. package/dist/three-compat/index.js +0 -22
  63. package/dist/three-compat/index.js.map +0 -1
  64. package/dist/three-compat/lights/index.d.ts +0 -35
  65. package/dist/three-compat/lights/index.d.ts.map +0 -1
  66. package/dist/three-compat/lights/index.js +0 -39
  67. package/dist/three-compat/lights/index.js.map +0 -1
  68. package/dist/three-compat/loaders/index.d.ts +0 -54
  69. package/dist/three-compat/loaders/index.d.ts.map +0 -1
  70. package/dist/three-compat/loaders/index.js +0 -79
  71. package/dist/three-compat/loaders/index.js.map +0 -1
  72. package/dist/three-compat/materials/index.d.ts +0 -70
  73. package/dist/three-compat/materials/index.d.ts.map +0 -1
  74. package/dist/three-compat/materials/index.js +0 -85
  75. package/dist/three-compat/materials/index.js.map +0 -1
  76. package/dist/three-compat/math/index.d.ts +0 -34
  77. package/dist/three-compat/math/index.d.ts.map +0 -1
  78. package/dist/three-compat/math/index.js +0 -90
  79. package/dist/three-compat/math/index.js.map +0 -1
  80. package/dist/three-compat/migration/CompatibilityWarnings.d.ts +0 -6
  81. package/dist/three-compat/migration/CompatibilityWarnings.d.ts.map +0 -1
  82. package/dist/three-compat/migration/CompatibilityWarnings.js +0 -8
  83. package/dist/three-compat/migration/CompatibilityWarnings.js.map +0 -1
  84. package/dist/three-compat/migration/ImportMap.d.ts +0 -2
  85. package/dist/three-compat/migration/ImportMap.d.ts.map +0 -1
  86. package/dist/three-compat/migration/ImportMap.js +0 -10
  87. package/dist/three-compat/migration/ImportMap.js.map +0 -1
  88. package/dist/three-compat/migration/ThreeToA3DAdapter.d.ts +0 -8
  89. package/dist/three-compat/migration/ThreeToA3DAdapter.d.ts.map +0 -1
  90. package/dist/three-compat/migration/ThreeToA3DAdapter.js +0 -20
  91. package/dist/three-compat/migration/ThreeToA3DAdapter.js.map +0 -1
  92. package/dist/three-compat/postprocessing/index.d.ts +0 -2
  93. package/dist/three-compat/postprocessing/index.d.ts.map +0 -1
  94. package/dist/three-compat/postprocessing/index.js +0 -2
  95. package/dist/three-compat/postprocessing/index.js.map +0 -1
  96. package/dist/three-compat/render-targets/index.d.ts +0 -17
  97. package/dist/three-compat/render-targets/index.d.ts.map +0 -1
  98. package/dist/three-compat/render-targets/index.js +0 -29
  99. package/dist/three-compat/render-targets/index.js.map +0 -1
  100. package/dist/three-compat/shaders/index.d.ts +0 -3
  101. package/dist/three-compat/shaders/index.d.ts.map +0 -1
  102. package/dist/three-compat/shaders/index.js +0 -3
  103. package/dist/three-compat/shaders/index.js.map +0 -1
  104. package/dist/three-compat/textures/index.d.ts +0 -19
  105. package/dist/three-compat/textures/index.d.ts.map +0 -1
  106. package/dist/three-compat/textures/index.js +0 -24
  107. 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 built for the AI-assisted browser 3D era. It gives teams a higher-level TypeScript workflow than renderer-first libraries and a lighter web-native path than heavyweight game-engine exports.
123
+ ## Production browser 3D workflow
104
124
 
105
- Use Aura3D when you want:
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.
106
126
 
107
- - A Three.js alternative focused on prompt-to-code scenes, typed assets, and deployable browser output.
108
- - A Babylon.js alternative for teams that want AI agents to build real TypeScript scenes without hand-rolling every system.
109
- - A faster product-viewer and 3D website workflow than Unity WebGL export pipelines.
110
- - A web-first alternative to Unreal-heavy runtime delivery for interactive product, data, and cinematic scenes.
111
- - A source-code-first SDK where agents generate maintainable TypeScript instead of opaque scene blobs.
112
-
113
- Aura3D combines scene kits, GLB/glTF asset typing, product viewers, physics scenes, particles, material labs, data worlds, route diagnostics, screenshot workflows, and static deployment into one agent-ready SDK.
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
 
@@ -132,4 +146,3 @@ Use release checks to confirm package integrity, generated assets, examples, and
132
146
  ## Contributing
133
147
 
134
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.
135
-
@@ -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