@aura3d/rendering 3.0.0 → 3.0.1

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 (175) hide show
  1. package/dist/CascadedShadowMaps.d.ts.map +1 -1
  2. package/dist/CascadedShadowMaps.js +3 -1
  3. package/dist/CascadedShadowMaps.js.map +1 -1
  4. package/dist/ExtensionScalarAtlas.d.ts +18 -0
  5. package/dist/ExtensionScalarAtlas.d.ts.map +1 -0
  6. package/dist/ExtensionScalarAtlas.js +107 -0
  7. package/dist/ExtensionScalarAtlas.js.map +1 -0
  8. package/dist/LeanWebGL2Device.d.ts +265 -0
  9. package/dist/LeanWebGL2Device.d.ts.map +1 -0
  10. package/dist/LeanWebGL2Device.js +4001 -0
  11. package/dist/LeanWebGL2Device.js.map +1 -0
  12. package/dist/MaterialBinding.js +1 -1
  13. package/dist/MaterialBinding.js.map +1 -1
  14. package/dist/PlanarReflection.d.ts +2 -2
  15. package/dist/PlanarReflection.js +3 -3
  16. package/dist/PlanarReflection.js.map +1 -1
  17. package/dist/PostProcessPass.d.ts +19 -0
  18. package/dist/PostProcessPass.d.ts.map +1 -1
  19. package/dist/PostProcessPass.js +64 -32
  20. package/dist/PostProcessPass.js.map +1 -1
  21. package/dist/ProjectionMath.d.ts +3 -0
  22. package/dist/ProjectionMath.d.ts.map +1 -0
  23. package/dist/ProjectionMath.js +26 -0
  24. package/dist/ProjectionMath.js.map +1 -0
  25. package/dist/ReflectionSurfaces.d.ts +4 -1
  26. package/dist/ReflectionSurfaces.d.ts.map +1 -1
  27. package/dist/ReflectionSurfaces.js +10 -1
  28. package/dist/ReflectionSurfaces.js.map +1 -1
  29. package/dist/RenderDevice.d.ts +5 -0
  30. package/dist/RenderDevice.d.ts.map +1 -1
  31. package/dist/RenderDevice.js.map +1 -1
  32. package/dist/Renderer.d.ts +9 -0
  33. package/dist/Renderer.d.ts.map +1 -1
  34. package/dist/Renderer.js +94 -8
  35. package/dist/Renderer.js.map +1 -1
  36. package/dist/RendererPostprocessPlan.d.ts +16 -3
  37. package/dist/RendererPostprocessPlan.d.ts.map +1 -1
  38. package/dist/RendererPostprocessPlan.js +16 -2
  39. package/dist/RendererPostprocessPlan.js.map +1 -1
  40. package/dist/ScreenSpaceReflectionPass.d.ts +43 -0
  41. package/dist/ScreenSpaceReflectionPass.d.ts.map +1 -0
  42. package/dist/ScreenSpaceReflectionPass.js +58 -0
  43. package/dist/ScreenSpaceReflectionPass.js.map +1 -0
  44. package/dist/ShaderLibrary.d.ts.map +1 -1
  45. package/dist/ShaderLibrary.js +168 -197
  46. package/dist/ShaderLibrary.js.map +1 -1
  47. package/dist/ShaderLibraryCore.d.ts +3 -0
  48. package/dist/ShaderLibraryCore.d.ts.map +1 -1
  49. package/dist/ShaderLibraryCore.js +3 -0
  50. package/dist/ShaderLibraryCore.js.map +1 -1
  51. package/dist/TemporalHistory.d.ts +37 -0
  52. package/dist/TemporalHistory.d.ts.map +1 -0
  53. package/dist/TemporalHistory.js +135 -0
  54. package/dist/TemporalHistory.js.map +1 -0
  55. package/dist/TemporalMath.d.ts +3 -0
  56. package/dist/TemporalMath.d.ts.map +1 -0
  57. package/dist/TemporalMath.js +9 -0
  58. package/dist/TemporalMath.js.map +1 -0
  59. package/dist/TexturedPBRMaterial.d.ts +3 -0
  60. package/dist/TexturedPBRMaterial.d.ts.map +1 -1
  61. package/dist/TexturedPBRMaterial.js +65 -3
  62. package/dist/TexturedPBRMaterial.js.map +1 -1
  63. package/dist/WebGL2Device.d.ts +15 -0
  64. package/dist/WebGL2Device.d.ts.map +1 -1
  65. package/dist/WebGL2Device.js +328 -90
  66. package/dist/WebGL2Device.js.map +1 -1
  67. package/dist/WebGPUDevice.d.ts +16 -5
  68. package/dist/WebGPUDevice.d.ts.map +1 -1
  69. package/dist/WebGPUDevice.js +357 -58
  70. package/dist/WebGPUDevice.js.map +1 -1
  71. package/dist/WebGPUExtensionAtlas.d.ts +6 -0
  72. package/dist/WebGPUExtensionAtlas.d.ts.map +1 -0
  73. package/dist/WebGPUExtensionAtlas.js +225 -0
  74. package/dist/WebGPUExtensionAtlas.js.map +1 -0
  75. package/dist/effects/GPUParticleBackend.d.ts +4 -2
  76. package/dist/effects/GPUParticleBackend.d.ts.map +1 -1
  77. package/dist/effects/GPUParticleBackend.js +20 -2
  78. package/dist/effects/GPUParticleBackend.js.map +1 -1
  79. package/dist/effects/ResidentGPUParticleRenderer.d.ts +158 -0
  80. package/dist/effects/ResidentGPUParticleRenderer.d.ts.map +1 -0
  81. package/dist/effects/ResidentGPUParticleRenderer.js +576 -0
  82. package/dist/effects/ResidentGPUParticleRenderer.js.map +1 -0
  83. package/dist/extension-scalar-atlas.d.ts +3 -0
  84. package/dist/extension-scalar-atlas.d.ts.map +1 -0
  85. package/dist/extension-scalar-atlas.js +2 -0
  86. package/dist/extension-scalar-atlas.js.map +1 -0
  87. package/dist/index.d.ts +1 -0
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +1 -0
  90. package/dist/index.js.map +1 -1
  91. package/dist/lean/LeanProductionRenderer.d.ts.map +1 -1
  92. package/dist/lean/LeanProductionRenderer.js +2 -2
  93. package/dist/lean/LeanProductionRenderer.js.map +1 -1
  94. package/dist/lean-core-runtime.d.ts +13 -0
  95. package/dist/lean-core-runtime.d.ts.map +1 -0
  96. package/dist/lean-core-runtime.js +10 -0
  97. package/dist/lean-core-runtime.js.map +1 -0
  98. package/dist/postprocess/NativeBloomPyramid.d.ts +17 -1
  99. package/dist/postprocess/NativeBloomPyramid.d.ts.map +1 -1
  100. package/dist/postprocess/NativeBloomPyramid.js +31 -1
  101. package/dist/postprocess/NativeBloomPyramid.js.map +1 -1
  102. package/dist/production-runtime/ProductionRendererTypes.d.ts +1 -0
  103. package/dist/production-runtime/ProductionRendererTypes.d.ts.map +1 -1
  104. package/dist/production-runtime/ProductionRendererTypes.js.map +1 -1
  105. package/dist/production-runtime/ProductionRuntimeRenderer.d.ts +3 -0
  106. package/dist/production-runtime/ProductionRuntimeRenderer.d.ts.map +1 -1
  107. package/dist/production-runtime/ProductionRuntimeRenderer.js +8 -1
  108. package/dist/production-runtime/ProductionRuntimeRenderer.js.map +1 -1
  109. package/dist/production-runtime/ProductionWebGL2Renderer.d.ts +4 -0
  110. package/dist/production-runtime/ProductionWebGL2Renderer.d.ts.map +1 -1
  111. package/dist/production-runtime/ProductionWebGL2Renderer.js +15 -0
  112. package/dist/production-runtime/ProductionWebGL2Renderer.js.map +1 -1
  113. package/dist/production-runtime/ProductionWebGPURenderer.d.ts +7 -1
  114. package/dist/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
  115. package/dist/production-runtime/ProductionWebGPURenderer.js +28 -2
  116. package/dist/production-runtime/ProductionWebGPURenderer.js.map +1 -1
  117. package/dist/production-runtime/framegraph/FrameGraph.d.ts +4 -2
  118. package/dist/production-runtime/framegraph/FrameGraph.d.ts.map +1 -1
  119. package/dist/production-runtime/framegraph/FrameGraph.js +62 -4
  120. package/dist/production-runtime/framegraph/FrameGraph.js.map +1 -1
  121. package/dist/production-runtime/framegraph/NativeFrameGraphBindings.d.ts +32 -0
  122. package/dist/production-runtime/framegraph/NativeFrameGraphBindings.d.ts.map +1 -0
  123. package/dist/production-runtime/framegraph/NativeFrameGraphBindings.js +111 -0
  124. package/dist/production-runtime/framegraph/NativeFrameGraphBindings.js.map +1 -0
  125. package/dist/production-runtime/framegraph/RenderPass.d.ts +23 -0
  126. package/dist/production-runtime/framegraph/RenderPass.d.ts.map +1 -1
  127. package/dist/production-runtime/framegraph/RenderPass.js +87 -1
  128. package/dist/production-runtime/framegraph/RenderPass.js.map +1 -1
  129. package/dist/production-runtime/index.d.ts +2 -0
  130. package/dist/production-runtime/index.d.ts.map +1 -1
  131. package/dist/production-runtime/index.js +1 -0
  132. package/dist/production-runtime/index.js.map +1 -1
  133. package/dist/production-runtime/passes/DepthPrepass.d.ts +4 -12
  134. package/dist/production-runtime/passes/DepthPrepass.d.ts.map +1 -1
  135. package/dist/production-runtime/passes/DepthPrepass.js +3 -11
  136. package/dist/production-runtime/passes/DepthPrepass.js.map +1 -1
  137. package/dist/production-runtime/passes/FramegraphTopology.js +1 -1
  138. package/dist/production-runtime/passes/FramegraphTopology.js.map +1 -1
  139. package/dist/production-runtime/passes/OpaquePass.d.ts +3 -8
  140. package/dist/production-runtime/passes/OpaquePass.d.ts.map +1 -1
  141. package/dist/production-runtime/passes/OpaquePass.js +3 -1
  142. package/dist/production-runtime/passes/OpaquePass.js.map +1 -1
  143. package/dist/production-runtime/passes/ShadowPass.d.ts +3 -8
  144. package/dist/production-runtime/passes/ShadowPass.d.ts.map +1 -1
  145. package/dist/production-runtime/passes/ShadowPass.js +2 -0
  146. package/dist/production-runtime/passes/ShadowPass.js.map +1 -1
  147. package/dist/production-runtime/passes/SkyboxPass.d.ts +3 -7
  148. package/dist/production-runtime/passes/SkyboxPass.d.ts.map +1 -1
  149. package/dist/production-runtime/passes/SkyboxPass.js +2 -0
  150. package/dist/production-runtime/passes/SkyboxPass.js.map +1 -1
  151. package/dist/production-runtime/passes/ToneMappingPass.d.ts +7 -10
  152. package/dist/production-runtime/passes/ToneMappingPass.d.ts.map +1 -1
  153. package/dist/production-runtime/passes/ToneMappingPass.js +9 -0
  154. package/dist/production-runtime/passes/ToneMappingPass.js.map +1 -1
  155. package/dist/production-runtime/passes/TransparentPass.d.ts +4 -9
  156. package/dist/production-runtime/passes/TransparentPass.d.ts.map +1 -1
  157. package/dist/production-runtime/passes/TransparentPass.js +6 -1
  158. package/dist/production-runtime/passes/TransparentPass.js.map +1 -1
  159. package/dist/reflection-surfaces.d.ts +5 -0
  160. package/dist/reflection-surfaces.d.ts.map +1 -0
  161. package/dist/reflection-surfaces.js +3 -0
  162. package/dist/reflection-surfaces.js.map +1 -0
  163. package/dist/webgpu/WebGPUPostShaders.d.ts +2 -3
  164. package/dist/webgpu/WebGPUPostShaders.d.ts.map +1 -1
  165. package/dist/webgpu/WebGPUPostShaders.js +2 -3
  166. package/dist/webgpu/WebGPUPostShaders.js.map +1 -1
  167. package/dist/webgpu/WebGPUTemporal.d.ts +17 -0
  168. package/dist/webgpu/WebGPUTemporal.d.ts.map +1 -0
  169. package/dist/webgpu/WebGPUTemporal.js +64 -0
  170. package/dist/webgpu/WebGPUTemporal.js.map +1 -0
  171. package/dist/webgpu.d.ts +6 -0
  172. package/dist/webgpu.d.ts.map +1 -1
  173. package/dist/webgpu.js +4 -0
  174. package/dist/webgpu.js.map +1 -1
  175. package/package.json +15 -3
@@ -0,0 +1,158 @@
1
+ import { type GPUParticleEffectsInput } from "./GPUParticleBackend.js";
2
+ /** Fixed authored camera, shared by clipping, billboard orientation and ground-ray fade. */
3
+ export declare const RESIDENT_PARTICLE_CAMERA: {
4
+ readonly position: readonly [0, 2.5, 7.2];
5
+ readonly target: readonly [0, 1.4, 0];
6
+ readonly fovDegrees: 65;
7
+ readonly near: 0.05;
8
+ readonly far: 30;
9
+ };
10
+ export interface ResidentGPUParticleOptions {
11
+ effects: GPUParticleEffectsInput;
12
+ count: number;
13
+ positions: Float32Array;
14
+ velocities: Float32Array;
15
+ accelerations: Float32Array;
16
+ baseAttributes: Float32Array;
17
+ }
18
+ /** CPU wall-clock intervals; these include browser/IPC scheduling, not GPU timestamps. */
19
+ export interface ResidentParticleCPUPhases {
20
+ encodeSubmitMs: number;
21
+ mapWaitMs: number;
22
+ /** Residual validation wait after mapping completes; the promises overlap. */
23
+ validationWaitMs: number;
24
+ completionOrderWaitMs?: number;
25
+ }
26
+ export interface ResidentParticlePacingControl {
27
+ kind: "native-clear-map-pacing-control";
28
+ cpuPhases: ResidentParticleCPUPhases;
29
+ totalMs: number;
30
+ readbackBytes: 128;
31
+ drawCalls: 0;
32
+ computeDispatches: 0;
33
+ nativeSubmissions: number;
34
+ width: number;
35
+ height: number;
36
+ }
37
+ export interface ResidentParticleFrame {
38
+ completionFence?: {
39
+ submittedAt: number;
40
+ queueCompletedAt: number;
41
+ counterMappedAt: number;
42
+ counterMapMinusQueueCompletionMs: number;
43
+ };
44
+ gpuPassMs?: Record<string, number> | null;
45
+ diagnosticReadbackBytes?: number;
46
+ /** Actual callback time for this submission's GPU copy/map completion. */
47
+ queueCompletedAt: number;
48
+ /** Submission whose compact reduction counters back this receipt. */
49
+ counterSourceSubmission: number;
50
+ /** Completed submissions since the mapped counter source (0 on sampled frames). */
51
+ counterSampleAge: number;
52
+ cpuPhases: ResidentParticleCPUPhases;
53
+ live: number;
54
+ renderedLive: number;
55
+ frustumRejected: number;
56
+ fadeRejected: number;
57
+ alphaRejected: number;
58
+ sizeRejected: number;
59
+ trailCount: number;
60
+ ribbonVertices: number;
61
+ faded: number;
62
+ count: number;
63
+ workgroups: number;
64
+ readbackBytes: number;
65
+ collision: number;
66
+ trails: number;
67
+ subemitters: number;
68
+ turbulence: number;
69
+ curves: number;
70
+ lighting: number;
71
+ collisionContacts: number;
72
+ childRequests: number;
73
+ childSpawns: number;
74
+ computeAndReadbackMs: number;
75
+ diagnostics: {
76
+ drawCalls: number;
77
+ nativeSubmissions: number;
78
+ gpuResident: true;
79
+ adapterName: string;
80
+ readbackBytes: number;
81
+ buffers: number;
82
+ shaders: number;
83
+ lastError: string | null;
84
+ contextLost: boolean;
85
+ camera: typeof RESIDENT_PARTICLE_CAMERA;
86
+ };
87
+ }
88
+ /** One native device owns simulation storage, GPU lifecycle, reduction, and vertex-pulled drawing. */
89
+ export declare class ResidentGPUParticleRenderer {
90
+ private readonly device;
91
+ private readonly context;
92
+ private readonly canvas;
93
+ private readonly options;
94
+ readonly adapterName: string;
95
+ readonly camera: {
96
+ readonly position: readonly [0, 2.5, 7.2];
97
+ readonly target: readonly [0, 1.4, 0];
98
+ readonly fovDegrees: 65;
99
+ readonly near: 0.05;
100
+ readonly far: 30;
101
+ };
102
+ private disposed;
103
+ private pending;
104
+ private activeFrames;
105
+ private exclusiveFrame;
106
+ private readonly busyReadbacks;
107
+ private secondReadback?;
108
+ private thirdReadback?;
109
+ private completionTail;
110
+ private failure;
111
+ private time;
112
+ private submissions;
113
+ private counterSourceSubmission;
114
+ private lastCounters;
115
+ private visualFlags;
116
+ private readonly buffers;
117
+ private readonly effectsPipeline;
118
+ private readonly effectsGroup;
119
+ private readonly lifecycle;
120
+ private readonly collect;
121
+ private readonly reduce;
122
+ private readonly auxiliaryGroup;
123
+ private readonly sprite;
124
+ private readonly ribbon;
125
+ private readonly spriteGroup;
126
+ private readonly ribbonGroup;
127
+ private readonly params;
128
+ private readonly simulationUniform;
129
+ private readonly simulationUniformView;
130
+ private readonly view;
131
+ private readonly counters;
132
+ private readonly requests;
133
+ private readonly readback;
134
+ private readonly trailDepth;
135
+ private timestampQuery?;
136
+ private timestampResolve?;
137
+ private timestampReadback?;
138
+ get supportsGPUTimestamps(): boolean;
139
+ static create(canvas: HTMLCanvasElement, width: number, height: number, options: ResidentGPUParticleOptions): Promise<ResidentGPUParticleRenderer>;
140
+ private constructor();
141
+ resize(width: number, height: number): void;
142
+ /** Diagnostic controls only; timed full-feature runs must retain all three defaults. */
143
+ setVisualControl(control: {
144
+ trails?: boolean;
145
+ softFade?: boolean;
146
+ lighting?: boolean;
147
+ }): void;
148
+ render(dt: number, gpuDiagnostic?: boolean, allowOverlap?: boolean): Promise<ResidentParticleFrame>;
149
+ /** Post-measurement diagnostic baseline, never a substitute for render(dt).
150
+ * Clears this native canvas, then maps the ordered copy without particle work.
151
+ * Existing particle storage, simulation time and feature settings are retained.
152
+ */
153
+ renderPacingControl(): Promise<ResidentParticlePacingControl>;
154
+ dispose(): void;
155
+ }
156
+ export declare function residentLifecycleShader(count: number, depth: number): string;
157
+ export declare function residentDrawShader(_count: number, depth: number, lighting?: GPUParticleEffectsInput["lighting"]): string;
158
+ //# sourceMappingURL=ResidentGPUParticleRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResidentGPUParticleRenderer.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/effects/ResidentGPUParticleRenderer.ts"],"names":[],"mappings":"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"}