@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
@@ -1,91 +1,16 @@
1
- export type AuraColor = string;
1
+ import type { AuraApp, AuraAppTarget, AuraColor, AuraCreateAppOptions, AuraSceneBuilder, AuraSceneKit } from "./index.js";
2
+ export { createAuraApp, ui } from "./index.js";
3
+ export type { AuraApp, AuraAppTarget, AuraColor, AuraCreateAppOptions };
2
4
  export interface ParticleFountainOptions {
3
5
  readonly particleCount?: number;
4
6
  readonly emissionRate?: number;
5
7
  readonly color?: AuraColor;
6
8
  readonly colors?: readonly AuraColor[];
7
9
  }
8
- export interface ParticleFountainScene {
9
- readonly kind: "aura3d-particle-fountain-scene";
10
- readonly options: Required<Pick<ParticleFountainOptions, "particleCount" | "emissionRate">> & {
11
- readonly color: AuraColor;
12
- };
13
- }
14
- export interface ParticleFountainSceneKit {
15
- readonly kind: "aura-scene-kit";
16
- readonly id: "particleFountain";
17
- readonly nodes: readonly Record<string, unknown>[];
18
- readonly evidence: readonly string[];
19
- readonly acceptanceEvidence: readonly string[];
20
- readonly diagnostics: {
21
- readonly kind: "aura-scene-kit-diagnostics";
22
- readonly id: "particleFountain";
23
- readonly structuralScore: 5;
24
- readonly problems: readonly string[];
25
- };
26
- toAppOptions(): {
27
- readonly scene: ParticleFountainScene;
28
- readonly diagnostics: false;
29
- };
30
- scene(): ParticleFountainScene;
31
- customize(next: ParticleFountainOptions): ParticleFountainSceneKit;
32
- }
33
- export interface AuraApp {
34
- readonly canvas: HTMLCanvasElement;
35
- readonly scene: ParticleFountainScene;
36
- readonly backend: "three";
37
- diagnostics(): {
38
- readonly backend: "three";
39
- readonly fps: number;
40
- readonly drawCalls: number;
41
- readonly renderSize: readonly [number, number];
42
- readonly warnings: readonly string[];
43
- readonly errors: readonly string[];
44
- readonly renderer: {
45
- readonly kind: "aura-renderer-diagnostics";
46
- readonly backend: "three-lean-particle-fountain";
47
- readonly postprocess: {
48
- readonly enabled: false;
49
- readonly actualPasses: readonly [];
50
- };
51
- };
52
- };
53
- screenshot(): {
54
- readonly mimeType: "image/png";
55
- readonly dataUrl: string;
56
- readonly width: number;
57
- readonly height: number;
58
- };
59
- dispose(): void;
60
- }
61
- export interface AuraCreateAppOptions {
62
- readonly scene: ParticleFountainScene;
63
- readonly diagnostics?: boolean;
64
- readonly pixelRatio?: number;
65
- readonly autoStart?: boolean;
66
- readonly resize?: boolean;
67
- }
68
- export type AuraAppTarget = string | HTMLElement | HTMLCanvasElement | null | undefined;
69
- declare global {
70
- interface Window {
71
- __AURA3D_ROUTE_READY__?: unknown;
72
- __ENGINE_READY__?: () => boolean;
73
- __ENGINE_READOUT__?: () => unknown;
74
- }
75
- }
10
+ export type ParticleFountainScene = AuraSceneBuilder;
11
+ export type ParticleFountainSceneKit = AuraSceneKit;
76
12
  export declare const sceneKits: {
77
13
  readonly particleFountain: (options?: ParticleFountainOptions) => ParticleFountainSceneKit;
78
14
  };
79
15
  export declare function particleFountain(options?: ParticleFountainOptions): ParticleFountainSceneKit;
80
- export declare const ui: {
81
- readonly html: (selector: string, markup: string) => HTMLElement;
82
- readonly range: (selector: string) => HTMLInputElement;
83
- readonly slider: (selector: string, options?: {
84
- readonly min?: number;
85
- readonly max?: number;
86
- readonly value?: number;
87
- readonly metric?: string;
88
- }) => HTMLInputElement;
89
- };
90
- export declare function createAuraApp(target: AuraAppTarget, options: AuraCreateAppOptions): AuraApp;
91
16
  //# sourceMappingURL=particle-fountain-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"particle-fountain-runtime.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/particle-fountain-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"particle-fountain-runtime.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/particle-fountain-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,EAAE,EACH,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,OAAO,EACP,aAAa,EACb,SAAS,EACT,oBAAoB,EACrB,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;CACxC;AAED,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AACrD,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC;AAEpD,eAAO,MAAM,SAAS;0CACM,uBAAuB,KAAQ,wBAAwB;CAGzE,CAAC;AAEX,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,wBAAwB,CAMhG"}
@@ -1,299 +1,15 @@
1
- import * as THREE from "three";
2
- const lifetimeRamp = ["#d9d2aa", "#8bb9c9", "#d59b4a", "#d68086", "#6fb6ca", "#c9c4a2"];
1
+ import { sceneKits as rootSceneKits } from "./index.js";
2
+ export { createAuraApp, ui } from "./index.js";
3
3
  export const sceneKits = {
4
4
  particleFountain(options = {}) {
5
5
  return particleFountain(options);
6
6
  }
7
7
  };
8
8
  export function particleFountain(options = {}) {
9
- return createParticleFountainKit(options);
10
- }
11
- export const ui = {
12
- html(selector, markup) {
13
- const host = document.querySelector(selector) ?? document.body;
14
- host.insertAdjacentHTML("afterbegin", markup);
15
- return host;
16
- },
17
- range(selector) {
18
- const input = document.querySelector(selector);
19
- if (!input)
20
- throw new Error(`Aura3D particle fountain UI range not found: ${selector}`);
21
- return input;
22
- },
23
- slider(selector, options = {}) {
24
- const input = ui.range(selector);
25
- if (options.min !== undefined)
26
- input.min = String(options.min);
27
- if (options.max !== undefined)
28
- input.max = String(options.max);
29
- if (options.value !== undefined)
30
- input.value = String(options.value);
31
- if (options.metric)
32
- input.dataset.metric = options.metric;
33
- return input;
34
- }
35
- };
36
- export function createAuraApp(target, options) {
37
- const canvas = resolveCanvas(target);
38
- const scene = options.scene;
39
- const renderer = new THREE.WebGLRenderer({ canvas, antialias: true, alpha: false, preserveDrawingBuffer: true });
40
- const pixelRatio = Math.min(2, Math.max(1, options.pixelRatio ?? window.devicePixelRatio ?? 1));
41
- renderer.setPixelRatio(pixelRatio);
42
- renderer.outputColorSpace = THREE.SRGBColorSpace;
43
- renderer.toneMapping = THREE.NoToneMapping;
44
- renderer.setClearColor("#071018", 1);
45
- const threeScene = new THREE.Scene();
46
- threeScene.background = new THREE.Color("#071018");
47
- const camera = new THREE.PerspectiveCamera(40, 1, 0.1, 100);
48
- camera.position.set(4.6, 3.2, 6.0);
49
- camera.lookAt(0, 1.35, 0);
50
- const ambient = new THREE.AmbientLight("#b9d8ff", 0.36);
51
- threeScene.add(ambient);
52
- const key = new THREE.DirectionalLight("#eff8ff", 1.18);
53
- key.position.set(3.2, 5.2, 4.2);
54
- threeScene.add(key);
55
- const rim = new THREE.DirectionalLight("#64d8ff", 0.42);
56
- rim.position.set(-2.8, 2.6, -1.8);
57
- threeScene.add(rim);
58
- buildParticleFountainScene(threeScene, scene.options);
59
- let disposed = false;
60
- let frame = 0;
61
- const diagnostics = {
62
- backend: "three",
63
- fps: 60,
64
- drawCalls: 5,
65
- renderSize: [canvas.width, canvas.height],
66
- warnings: [],
67
- errors: [],
68
- renderer: {
69
- kind: "aura-renderer-diagnostics",
70
- backend: "three-lean-particle-fountain",
71
- postprocess: {
72
- enabled: false,
73
- actualPasses: []
74
- }
75
- }
76
- };
77
- const resize = () => {
78
- const parent = canvas.parentElement;
79
- const width = Math.max(1, Math.round(parent?.clientWidth || window.innerWidth || 1440));
80
- const height = Math.max(1, Math.round(parent?.clientHeight || window.innerHeight || 960));
81
- renderer.setSize(width, height, false);
82
- canvas.style.width = "100%";
83
- canvas.style.height = "100%";
84
- camera.aspect = width / Math.max(1, height);
85
- camera.updateProjectionMatrix();
86
- diagnostics.renderSize = [canvas.width, canvas.height];
87
- };
88
- resize();
89
- if (options.resize !== false)
90
- window.addEventListener("resize", resize);
91
- const render = () => {
92
- if (disposed)
93
- return;
94
- renderer.render(threeScene, camera);
95
- if (frame === 0)
96
- markRouteReady(scene, diagnostics);
97
- frame += 1;
98
- if (options.autoStart !== false)
99
- requestAnimationFrame(render);
100
- };
101
- render();
102
- return {
103
- canvas,
104
- scene,
105
- backend: "three",
106
- diagnostics: () => diagnostics,
107
- screenshot: () => ({
108
- mimeType: "image/png",
109
- dataUrl: canvas.toDataURL("image/png"),
110
- width: canvas.width,
111
- height: canvas.height
112
- }),
113
- dispose: () => {
114
- disposed = true;
115
- if (options.resize !== false)
116
- window.removeEventListener("resize", resize);
117
- renderer.dispose();
118
- threeScene.traverse((object) => {
119
- const mesh = object;
120
- if (mesh.geometry)
121
- mesh.geometry.dispose();
122
- const material = mesh.material;
123
- if (Array.isArray(material))
124
- material.forEach((entry) => entry.dispose());
125
- else if (material)
126
- material.dispose();
127
- });
128
- }
129
- };
130
- }
131
- function createParticleFountainKit(options) {
132
- const scene = normalizeParticleFountainScene(options);
133
- const nodes = [
134
- { kind: "primitive", name: "dark wet fountain collision ground plane" },
135
- { kind: "primitive", name: "brushed dark metal fountain pedestal" },
136
- { kind: "effect", name: "dense lifetime colored fountain droplet plume", particleCount: scene.options.particleCount },
137
- { kind: "effect", name: "colored ground collision splash droplet ring", particleCount: 96 },
138
- { kind: "label", name: "particle scene kit hud", text: `emission rate ${scene.options.emissionRate} | collision splash` }
139
- ];
140
- const evidence = [
141
- `${scene.options.particleCount + 96} visible colored droplets`,
142
- "dense upward plume with lifetime color variation",
143
- "dark emitter base and collision splash context",
144
- "lean particle-fountain subpath avoids model, humanoid, GLTF, and postprocess imports"
145
- ];
146
- return {
147
- kind: "aura-scene-kit",
148
- id: "particleFountain",
149
- nodes,
150
- evidence,
151
- acceptanceEvidence: evidence,
152
- diagnostics: {
153
- kind: "aura-scene-kit-diagnostics",
154
- id: "particleFountain",
155
- structuralScore: 5,
156
- problems: []
157
- },
158
- scene: () => scene,
159
- toAppOptions: () => ({ scene, diagnostics: false }),
160
- customize: (next) => createParticleFountainKit({ ...options, ...next })
161
- };
162
- }
163
- function normalizeParticleFountainScene(options) {
164
- const emissionRate = options.emissionRate ?? 120;
165
- return {
166
- kind: "aura3d-particle-fountain-scene",
167
- options: {
168
- particleCount: Math.max(360, Math.min(900, options.particleCount ?? Math.round(emissionRate * 4))),
169
- emissionRate,
170
- color: options.colors?.[0] ?? options.color ?? "#60a5fa"
171
- }
172
- };
173
- }
174
- function resolveCanvas(target) {
175
- if (target instanceof HTMLCanvasElement)
176
- return target;
177
- const host = typeof target === "string" ? document.querySelector(target) : target;
178
- const parent = host ?? document.body;
179
- if (parent instanceof HTMLCanvasElement)
180
- return parent;
181
- let canvas = parent.querySelector("canvas[data-aura3d-lean-particle-fountain]");
182
- if (!canvas) {
183
- canvas = document.createElement("canvas");
184
- canvas.dataset.aura3dLeanParticleFountain = "true";
185
- canvas.style.display = "block";
186
- canvas.style.width = "100%";
187
- canvas.style.height = "100%";
188
- parent.appendChild(canvas);
189
- }
190
- return canvas;
191
- }
192
- function buildParticleFountainScene(scene, options) {
193
- const ground = new THREE.Mesh(new THREE.PlaneGeometry(7, 7), new THREE.MeshStandardMaterial({ color: "#101822", roughness: 0.82, metalness: 0.02 }));
194
- ground.rotation.x = -Math.PI / 2;
195
- ground.position.y = -0.02;
196
- scene.add(ground);
197
- const base = new THREE.Mesh(new THREE.CylinderGeometry(0.7, 0.92, 0.36, 48), new THREE.MeshStandardMaterial({ color: "#263747", roughness: 0.32, metalness: 0.25 }));
198
- base.position.y = 0.18;
199
- scene.add(base);
200
- const basin = new THREE.Mesh(new THREE.CylinderGeometry(0.56, 0.62, 0.08, 48), new THREE.MeshStandardMaterial({ color: "#06111a", roughness: 0.72, metalness: 0.04 }));
201
- basin.position.y = 0.42;
202
- scene.add(basin);
203
- const rim = new THREE.Mesh(new THREE.TorusGeometry(0.58, 0.024, 8, 80), new THREE.MeshBasicMaterial({ color: "#17a8d6" }));
204
- rim.rotation.x = Math.PI / 2;
205
- rim.position.y = 0.48;
206
- scene.add(rim);
207
- const nozzle = new THREE.Mesh(new THREE.CylinderGeometry(0.16, 0.2, 0.38, 32), new THREE.MeshStandardMaterial({ color: "#1d2f3f", roughness: 0.2, metalness: 0.38 }));
208
- nozzle.position.y = 0.58;
209
- scene.add(nozzle);
210
- scene.add(createDropletPlume(options.particleCount));
211
- scene.add(createSplashRing(96));
212
- }
213
- function createDropletPlume(count) {
214
- const geometry = new THREE.IcosahedronGeometry(0.032, 1);
215
- const group = new THREE.Group();
216
- group.name = "dense lifetime colored fountain droplet plume";
217
- const buckets = lifetimeRamp.map((color) => ({
218
- color,
219
- mesh: new THREE.InstancedMesh(geometry, new THREE.MeshBasicMaterial({ color, toneMapped: false }), Math.ceil(count / lifetimeRamp.length)),
220
- index: 0
221
- }));
222
- const dummy = new THREE.Object3D();
223
- for (let i = 0; i < count; i += 1) {
224
- const t = i / Math.max(1, count - 1);
225
- const angle = i * 2.399963;
226
- const widthProfile = Math.sin(t * Math.PI);
227
- const shell = seededRange(i, 203, 0.82, 1.08);
228
- const spread = 1.04 * (0.1 + widthProfile * (0.55 + (i % 7) * 0.018)) * shell;
229
- const y = 0.6 + Math.pow(t, 0.78) * 3.05;
230
- dummy.position.set(Math.cos(angle) * spread, y, Math.sin(angle) * spread - widthProfile * 1.04 * 0.18);
231
- const size = seededRange(i, 353, 0.78, 1.22) * (0.86 + (i % 5) * 0.08);
232
- dummy.scale.setScalar(size);
233
- dummy.updateMatrix();
234
- const bucket = buckets[i % buckets.length];
235
- bucket.mesh.setMatrixAt(bucket.index, dummy.matrix);
236
- bucket.index += 1;
237
- }
238
- for (const bucket of buckets) {
239
- bucket.mesh.name = `${bucket.color} plume droplets`;
240
- bucket.mesh.count = bucket.index;
241
- bucket.mesh.frustumCulled = false;
242
- bucket.mesh.instanceMatrix.needsUpdate = true;
243
- group.add(bucket.mesh);
244
- }
245
- return group;
246
- }
247
- function createSplashRing(count) {
248
- const geometry = new THREE.IcosahedronGeometry(0.03, 1);
249
- const group = new THREE.Group();
250
- group.name = "colored ground collision splash droplet ring";
251
- const buckets = lifetimeRamp.map((color) => ({
252
- color,
253
- mesh: new THREE.InstancedMesh(geometry, new THREE.MeshBasicMaterial({ color, toneMapped: false }), Math.ceil(count / lifetimeRamp.length)),
254
- index: 0
255
- }));
256
- const dummy = new THREE.Object3D();
257
- for (let i = 0; i < count; i += 1) {
258
- const t = i / Math.max(1, count - 1);
259
- const angle = i * 2.07;
260
- const radius = 0.58 + t * 1.45;
261
- dummy.position.set(Math.cos(angle) * radius, 0.08 + (i % 5) * 0.035, Math.sin(angle) * radius);
262
- dummy.scale.setScalar(seededRange(i, 359, 0.72, 1.18));
263
- dummy.updateMatrix();
264
- const bucket = buckets[(i + 3) % buckets.length];
265
- bucket.mesh.setMatrixAt(bucket.index, dummy.matrix);
266
- bucket.index += 1;
267
- }
268
- for (const bucket of buckets) {
269
- bucket.mesh.name = `${bucket.color} splash droplets`;
270
- bucket.mesh.count = bucket.index;
271
- bucket.mesh.frustumCulled = false;
272
- bucket.mesh.instanceMatrix.needsUpdate = true;
273
- group.add(bucket.mesh);
274
- }
275
- return group;
276
- }
277
- function markRouteReady(scene, diagnostics) {
278
- const readout = {
279
- ready: true,
280
- status: "pass",
281
- scene: scene.kind,
282
- promptFamily: "particle-fountain",
283
- diagnostics,
284
- evidence: [
285
- "lean particle-fountain runtime rendered a Three.js scene",
286
- "no model or GLTF asset loading required",
287
- "no postprocess composer required"
288
- ]
289
- };
290
- window.__AURA3D_ROUTE_READY__ = readout;
291
- window.__ENGINE_READY__ = () => true;
292
- window.__ENGINE_READOUT__ = () => readout;
293
- }
294
- function seededRange(index, salt, min, max) {
295
- const value = Math.sin((index + 1) * 12.9898 + salt * 78.233) * 43758.5453;
296
- const normalized = value - Math.floor(value);
297
- return min + normalized * (max - min);
9
+ return rootSceneKits.particleFountain({
10
+ particleCount: options.particleCount,
11
+ emissionRate: options.emissionRate,
12
+ colors: options.colors ?? (options.color ? [options.color] : undefined)
13
+ });
298
14
  }
299
15
  //# sourceMappingURL=particle-fountain-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"particle-fountain-runtime.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/particle-fountain-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"particle-fountain-runtime.js","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/particle-fountain-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AAUxD,OAAO,EACL,aAAa,EACb,EAAE,EACH,MAAM,YAAY,CAAC;AAmBpB,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,gBAAgB,CAAC,UAAmC,EAAE;QACpD,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;CACO,CAAC;AAEX,MAAM,UAAU,gBAAgB,CAAC,UAAmC,EAAE;IACpE,OAAO,aAAa,CAAC,gBAAgB,CAAC;QACpC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KACxE,CAAC,CAAC;AACL,CAAC"}
@@ -1,115 +1,25 @@
1
- export type AuraAssetType = "model" | "texture" | "environment" | "audio";
2
- export type AuraModelFormat = "glb" | "gltf";
3
- export interface AuraAssetDefinition {
4
- readonly type: AuraAssetType;
5
- readonly format: AuraModelFormat | string;
6
- readonly url: string;
7
- readonly hash?: string;
8
- readonly bounds?: readonly number[];
9
- readonly source?: string;
10
- readonly license?: string;
11
- }
12
- declare const auraAssetRefBrand: unique symbol;
13
- export type AuraAssetRef<TType extends AuraAssetType = AuraAssetType, TId extends string = string> = AuraAssetDefinition & {
14
- readonly kind: "aura-asset-ref";
15
- readonly id: TId;
16
- readonly type: TType;
17
- readonly [auraAssetRefBrand]: {
18
- readonly type: TType;
19
- readonly id: TId;
20
- };
21
- };
22
- export type AuraAssetMap<T extends Record<string, AuraAssetDefinition>> = {
23
- readonly [K in keyof T]: AuraAssetRef<T[K]["type"], Extract<K, string>> & T[K];
24
- };
25
- export declare function defineAuraAssets<const T extends Record<string, AuraAssetDefinition>>(definitions: T): AuraAssetMap<T>;
1
+ import type { AuraApp, AuraAppTarget, AuraAssetDefinition, AuraAssetMap, AuraAssetRef, AuraCreateAppOptions, AuraProductStageStyle, AuraSceneBuilder, AuraSceneKit } from "./index.js";
2
+ export { createAuraApp, defineAuraAssets } from "./index.js";
3
+ export type { AuraApp, AuraAppTarget, AuraAssetDefinition, AuraAssetMap, AuraAssetRef, AuraCreateAppOptions };
26
4
  export interface ProductViewerOptions {
27
5
  readonly captureFrame?: number;
6
+ readonly stageStyle?: AuraProductStageStyle;
28
7
  }
29
- export interface ProductViewerScene {
30
- readonly kind: "aura3d-product-viewer-scene";
31
- readonly asset: AuraAssetRef<"model">;
32
- readonly options: Required<Pick<ProductViewerOptions, "captureFrame">>;
33
- }
34
- export interface ProductViewerSceneKit {
35
- readonly kind: "aura-scene-kit";
36
- readonly id: "productViewer";
37
- readonly nodes: readonly Record<string, unknown>[];
38
- readonly evidence: readonly string[];
39
- readonly acceptanceEvidence: readonly string[];
40
- readonly diagnostics: {
41
- readonly kind: "aura-scene-kit-diagnostics";
42
- readonly id: "productViewer";
43
- readonly structuralScore: 5;
44
- readonly problems: readonly string[];
45
- };
46
- toAppOptions(): {
47
- readonly scene: ProductViewerScene;
48
- readonly diagnostics: false;
49
- };
50
- scene(): ProductViewerScene;
51
- customize(next: ProductViewerOptions): ProductViewerSceneKit;
52
- }
53
- export interface AuraApp {
54
- readonly canvas: HTMLCanvasElement;
55
- readonly scene: ProductViewerScene;
56
- readonly backend: "three";
57
- diagnostics(): ProductViewerDiagnostics;
58
- screenshot(): {
59
- readonly mimeType: "image/png";
60
- readonly dataUrl: string;
61
- readonly width: number;
62
- readonly height: number;
63
- };
64
- dispose(): void;
65
- }
66
- export interface ProductViewerDiagnostics {
67
- readonly backend: "three";
68
- fps: number;
69
- drawCalls: number;
70
- renderSize: readonly [number, number];
71
- readonly warnings: readonly string[];
72
- errors: string[];
73
- readonly renderer: {
74
- readonly kind: "aura-renderer-diagnostics";
75
- readonly backend: "three-lean-product-viewer";
76
- runtimeStatus: "loading" | "ready" | "error";
77
- readonly postprocess: {
78
- readonly enabled: false;
79
- readonly actualPasses: readonly [];
80
- };
81
- readonly assets: {
82
- modelLoaded: boolean;
83
- readonly assetId: string;
84
- readonly assetUrl: string;
85
- };
86
- };
87
- }
88
- export interface AuraCreateAppOptions {
89
- readonly scene: ProductViewerScene;
90
- readonly diagnostics?: boolean;
91
- readonly pixelRatio?: number;
92
- readonly autoStart?: boolean;
93
- readonly resize?: boolean;
94
- }
95
- export type AuraAppTarget = string | HTMLElement | HTMLCanvasElement | null | undefined;
96
- declare global {
97
- interface Window {
98
- __AURA3D_ROUTE_READY__?: unknown;
99
- __ENGINE_READY__?: () => boolean;
100
- __ENGINE_READOUT__?: () => unknown;
101
- }
102
- }
8
+ export type ProductViewerScene = AuraSceneBuilder;
9
+ export type ProductViewerSceneKit = AuraSceneKit;
10
+ export type ProductViewerDiagnostics = ReturnType<AuraApp["diagnostics"]>;
11
+ export declare const product: {
12
+ readonly placement: (asset: AuraAssetRef<"model">) => import("./index.js").AuraProductPlacement;
13
+ readonly stage: (options?: {
14
+ readonly style?: AuraProductStageStyle;
15
+ }) => readonly import("./index.js").AuraSceneNode[];
16
+ readonly viewer: (asset: AuraAssetRef<"model">, options?: import("./index.js").AuraProductViewerOptions) => readonly import("./index.js").AuraSceneNode[];
17
+ readonly scene: (asset: AuraAssetRef<"model">, options?: import("./index.js").AuraProductViewerOptions) => AuraSceneBuilder;
18
+ readonly diagnostics: (asset: AuraAssetRef<"model">, nodes: readonly import("./index.js").AuraSceneNode[], options?: import("./index.js").AuraProductViewerOptions) => import("./index.js").AuraProductDiagnostics;
19
+ readonly visualQA: (nodes: readonly import("./index.js").AuraSceneNode[], diagnostics?: import("./index.js").AuraProductDiagnostics) => import("./index.js").AuraProductVisualQAResult;
20
+ };
103
21
  export declare const sceneKits: {
104
22
  readonly productViewer: (asset: AuraAssetRef<"model">, options?: ProductViewerOptions) => ProductViewerSceneKit;
105
23
  };
106
- export declare const product: {
107
- readonly visualQA: (nodes: readonly Record<string, unknown>[]) => {
108
- score: number;
109
- problems: string[];
110
- };
111
- };
112
24
  export declare function productViewer(asset: AuraAssetRef<"model">, options?: ProductViewerOptions): ProductViewerSceneKit;
113
- export declare function createAuraApp(target: AuraAppTarget, options: AuraCreateAppOptions): AuraApp;
114
- export {};
115
25
  //# sourceMappingURL=product-viewer-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"product-viewer-runtime.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/product-viewer-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-viewer-runtime.d.ts","sourceRoot":"","sources":["../../../../../packages/engine/src/agent-api/product-viewer-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACrB,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC;CAC7C;AAED,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAClD,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC;AACjD,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;AAE1E,eAAO,MAAM,OAAO;;;sBAW+n+Q,CAAC;;;;;;CAXln+Q,CAAC;AAEnC,eAAO,MAAM,SAAS;oCACC,YAAY,CAAC,OAAO,CAAC,YAAW,oBAAoB,KAAQ,qBAAqB;CAG9F,CAAC;AAEX,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,GAAE,oBAAyB,GAAG,qBAAqB,CAErH"}