@woosh/meep-engine 3.68.0 → 3.69.0
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.
- package/CHANGELOG.md +45 -0
- package/editor/ecs/component/editors/ecs/Trail3DEditor.d.ts +2 -17
- package/editor/ecs/component/editors/ecs/Trail3DEditor.d.ts.map +1 -1
- package/editor/ecs/component/editors/ecs/Trail3DEditor.js +3 -18
- package/package.json +1 -1
- package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts +33 -65
- package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts.map +1 -1
- package/src/engine/graphics/ecs/trail3d/Trail3D.js +37 -245
- package/src/engine/graphics/ecs/trail3d/Trail3DFlags.d.ts +0 -4
- package/src/engine/graphics/ecs/trail3d/Trail3DFlags.js +4 -10
- package/src/engine/graphics/ecs/trail3d/seed_trail_stroke.d.ts +13 -10
- package/src/engine/graphics/ecs/trail3d/seed_trail_stroke.d.ts.map +1 -1
- package/src/engine/graphics/ecs/trail3d/seed_trail_stroke.js +28 -37
- package/src/engine/graphics/ecs/trail3d/trail_knot_count.d.ts +10 -0
- package/src/engine/graphics/ecs/trail3d/trail_knot_count.d.ts.map +1 -0
- package/src/engine/graphics/ecs/trail3d/trail_knot_count.js +27 -0
- package/src/engine/graphics/trail/TrailKnots.d.ts +62 -0
- package/src/engine/graphics/trail/TrailKnots.d.ts.map +1 -0
- package/src/engine/graphics/trail/TrailKnots.js +137 -0
- package/src/engine/graphics/trail/tube/TubeXMaterialSpec.d.ts +1 -1
- package/src/engine/graphics/trail/tube/TubeXMaterialSpec.js +1 -1
- package/src/engine/graphics3/EntityRowHold.d.ts +48 -0
- package/src/engine/graphics3/EntityRowHold.d.ts.map +1 -0
- package/src/engine/graphics3/EntityRowHold.js +128 -0
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts +6 -2
- package/src/engine/graphics3/GPUParticleEmitterSystem.d.ts.map +1 -1
- package/src/engine/graphics3/GPUParticleEmitterSystem.js +11 -44
- package/src/engine/graphics3/Trail3DSystem.d.ts +69 -35
- package/src/engine/graphics3/Trail3DSystem.d.ts.map +1 -1
- package/src/engine/graphics3/Trail3DSystem.js +380 -81
- package/src/engine/physics/fluid/ecs/FluidObstacle.d.ts +17 -0
- package/src/engine/physics/fluid/ecs/FluidObstacle.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/FluidObstacle.js +22 -2
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +6 -5
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts.map +1 -1
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.js +14 -3
- package/src/engine/physics/fluid/obstacle/FLUID_OBSTACLE_RECORD_STRUCT.d.ts +9 -1
- package/src/engine/physics/fluid/obstacle/FLUID_OBSTACLE_RECORD_STRUCT.d.ts.map +1 -1
- package/src/engine/physics/fluid/obstacle/FLUID_OBSTACLE_RECORD_STRUCT.js +11 -1
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_record_create.d.ts +5 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_record_create.d.ts.map +1 -1
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_record_create.js +2 -0
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_write_gpu_record.d.ts +4 -3
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_write_gpu_record.d.ts.map +1 -1
- package/src/engine/physics/fluid/obstacle/fluid_obstacle_write_gpu_record.js +11 -3
- package/src/shade/playground/trails/index.html +50 -0
- package/src/shade/playground/trails/main.d.ts +2 -0
- package/src/shade/playground/trails/main.d.ts.map +1 -0
- package/src/shade/playground/trails/main.js +258 -0
- package/src/shade/renderer/animation/animation_curve_write_keys.d.ts +18 -0
- package/src/shade/renderer/animation/animation_curve_write_keys.d.ts.map +1 -0
- package/src/shade/renderer/animation/animation_curve_write_keys.js +34 -0
- package/src/shade/renderer/deferred/tonemap/ColorGrade.d.ts.map +1 -1
- package/src/shade/renderer/deferred/tonemap/ColorGrade.js +13 -36
- package/src/shade/renderer/dynamic/GPUDynamicMeshResidency.js +2 -2
- package/src/shade/renderer/dynamic/chunk_dynamic_mesh_avboit_vertex.d.ts +2 -13
- package/src/shade/renderer/dynamic/chunk_dynamic_mesh_avboit_vertex.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/chunk_dynamic_mesh_avboit_vertex.js +6 -21
- package/src/shade/renderer/dynamic/graph_dynamic_mesh_avboit.d.ts +17 -6
- package/src/shade/renderer/dynamic/graph_dynamic_mesh_avboit.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/graph_dynamic_mesh_avboit.js +38 -178
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_draw.d.ts +7 -9
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_draw.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_draw.js +17 -106
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_splat.d.ts +7 -17
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_splat.d.ts.map +1 -1
- package/src/shade/renderer/dynamic/shader_dynamic_mesh_avboit_splat.js +18 -118
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING.d.ts +14 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING.d.ts.map +1 -1
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING.js +18 -0
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING_APPLY_STRUCT.d.ts +3 -1
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING_APPLY_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/fluid/forcing/FLUID_FORCING_APPLY_STRUCT.js +4 -1
- package/src/shade/renderer/fluid/forcing/GPUFluidForcing.d.ts +9 -0
- package/src/shade/renderer/fluid/forcing/GPUFluidForcing.d.ts.map +1 -1
- package/src/shade/renderer/fluid/forcing/GPUFluidForcing.js +20 -4
- package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_cell.d.ts +11 -2
- package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_cell.d.ts.map +1 -1
- package/src/shade/renderer/fluid/forcing/chunk_fluid_forcing_cell.js +59 -2
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_apply.d.ts +4 -1
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_apply.d.ts.map +1 -1
- package/src/shade/renderer/fluid/forcing/shader_fluid_forcing_apply.js +367 -341
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_correct.d.ts +6 -2
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_correct.d.ts.map +1 -1
- package/src/shade/renderer/fluid/mac/shader_fluid_mac_advect_correct.js +339 -282
- package/src/shade/renderer/grass/press/shader_grass_press_mark.d.ts +3 -2
- package/src/shade/renderer/grass/press/shader_grass_press_mark.d.ts.map +1 -1
- package/src/shade/renderer/grass/press/shader_grass_press_mark.js +5 -3
- package/src/shade/renderer/rasterize/native/avboit/avboit_unlit_draw.d.ts +49 -0
- package/src/shade/renderer/rasterize/native/avboit/avboit_unlit_draw.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/native/avboit/avboit_unlit_draw.js +144 -0
- package/src/shade/renderer/rasterize/native/avboit/avboit_unlit_splat.d.ts +71 -0
- package/src/shade/renderer/rasterize/native/avboit/avboit_unlit_splat.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/native/avboit/avboit_unlit_splat.js +152 -0
- package/src/shade/renderer/rasterize/native/avboit/chunk_avboit_unlit_varyings.d.ts +21 -0
- package/src/shade/renderer/rasterize/native/avboit/chunk_avboit_unlit_varyings.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/native/avboit/chunk_avboit_unlit_varyings.js +30 -0
- package/src/shade/renderer/rasterize/native/avboit/graph_avboit_unlit.d.ts +101 -0
- package/src/shade/renderer/rasterize/native/avboit/graph_avboit_unlit.d.ts.map +1 -0
- package/src/shade/renderer/rasterize/native/avboit/graph_avboit_unlit.js +306 -0
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_splat.d.ts +9 -0
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_splat.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/shader_avboit_splat.js +11 -4
- package/src/shade/renderer/trails/GPUTrailAVBOITChannel.d.ts +69 -0
- package/src/shade/renderer/trails/GPUTrailAVBOITChannel.d.ts.map +1 -0
- package/src/shade/renderer/trails/GPUTrailAVBOITChannel.js +129 -0
- package/src/shade/renderer/trails/GPUTrailSystem.d.ts +164 -0
- package/src/shade/renderer/trails/GPUTrailSystem.d.ts.map +1 -0
- package/src/shade/renderer/trails/GPUTrailSystem.js +725 -0
- package/src/shade/renderer/trails/data/TRAIL_DATABASE_SPEC.d.ts +14 -0
- package/src/shade/renderer/trails/data/TRAIL_DATABASE_SPEC.d.ts.map +1 -0
- package/src/shade/renderer/trails/data/TRAIL_DATABASE_SPEC.js +38 -0
- package/src/shade/renderer/trails/data/TRAIL_KNOT.d.ts +66 -0
- package/src/shade/renderer/trails/data/TRAIL_KNOT.d.ts.map +1 -0
- package/src/shade/renderer/trails/data/TRAIL_KNOT.js +154 -0
- package/src/shade/renderer/trails/data/TRAIL_RECORD.d.ts +19 -0
- package/src/shade/renderer/trails/data/TRAIL_RECORD.d.ts.map +1 -0
- package/src/shade/renderer/trails/data/TRAIL_RECORD.js +68 -0
- package/src/shade/renderer/trails/data/TRAIL_STATE.d.ts +18 -0
- package/src/shade/renderer/trails/data/TRAIL_STATE.d.ts.map +1 -0
- package/src/shade/renderer/trails/data/TRAIL_STATE.js +43 -0
- package/src/shade/renderer/trails/graph_trails.d.ts +58 -0
- package/src/shade/renderer/trails/graph_trails.d.ts.map +1 -0
- package/src/shade/renderer/trails/graph_trails.js +155 -0
- package/src/shade/renderer/trails/graph_trails_avboit.d.ts +126 -0
- package/src/shade/renderer/trails/graph_trails_avboit.d.ts.map +1 -0
- package/src/shade/renderer/trails/graph_trails_avboit.js +300 -0
- package/src/shade/renderer/trails/runtime/TrailFadeCurves.d.ts +56 -0
- package/src/shade/renderer/trails/runtime/TrailFadeCurves.d.ts.map +1 -0
- package/src/shade/renderer/trails/runtime/TrailFadeCurves.js +220 -0
- package/src/shade/renderer/trails/runtime/TrailKnotPool.d.ts +49 -0
- package/src/shade/renderer/trails/runtime/TrailKnotPool.d.ts.map +1 -0
- package/src/shade/renderer/trails/runtime/TrailKnotPool.js +162 -0
- package/src/shade/renderer/trails/runtime/TrailParameters.d.ts +52 -0
- package/src/shade/renderer/trails/runtime/TrailParameters.d.ts.map +1 -0
- package/src/shade/renderer/trails/runtime/TrailParameters.js +126 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_frame_transport.d.ts +23 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_frame_transport.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_frame_transport.js +57 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_knot_alpha.d.ts +14 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_knot_alpha.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_knot_alpha.js +40 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_seed.d.ts +18 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_seed.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_seed.js +64 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_segment.d.ts +14 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_segment.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_segment.js +51 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_update.d.ts +48 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_update.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_update.js +197 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_vertex.d.ts +34 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_vertex.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/chunk_trail_vertex.js +111 -0
- package/src/shade/renderer/trails/shaders/shader_trail_avboit.d.ts +24 -0
- package/src/shade/renderer/trails/shaders/shader_trail_avboit.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/shader_trail_avboit.js +78 -0
- package/src/shade/renderer/trails/shaders/shader_trail_avboit_segments.d.ts +23 -0
- package/src/shade/renderer/trails/shaders/shader_trail_avboit_segments.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/shader_trail_avboit_segments.js +130 -0
- package/src/shade/renderer/trails/shaders/shader_trail_draw_args.d.ts +29 -0
- package/src/shade/renderer/trails/shaders/shader_trail_draw_args.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/shader_trail_draw_args.js +78 -0
- package/src/shade/renderer/trails/shaders/shader_trail_seed.d.ts +18 -0
- package/src/shade/renderer/trails/shaders/shader_trail_seed.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/shader_trail_seed.js +79 -0
- package/src/shade/renderer/trails/shaders/shader_trail_update.d.ts +20 -0
- package/src/shade/renderer/trails/shaders/shader_trail_update.d.ts.map +1 -0
- package/src/shade/renderer/trails/shaders/shader_trail_update.js +101 -0
- package/src/engine/graphics/ecs/trail3d/advance_trail.d.ts +0 -18
- package/src/engine/graphics/ecs/trail3d/advance_trail.d.ts.map +0 -1
- package/src/engine/graphics/ecs/trail3d/advance_trail.js +0 -42
- package/src/engine/graphics/ecs/trail3d/seed_trail_tube.d.ts +0 -14
- package/src/engine/graphics/ecs/trail3d/seed_trail_tube.d.ts.map +0 -1
- package/src/engine/graphics/ecs/trail3d/seed_trail_tube.js +0 -75
- package/src/engine/graphics/ecs/trail3d/trail_head_position.d.ts +0 -17
- package/src/engine/graphics/ecs/trail3d/trail_head_position.d.ts.map +0 -1
- package/src/engine/graphics/ecs/trail3d/trail_head_position.js +0 -19
- package/src/engine/graphics/trail/tube/TubeX.d.ts +0 -186
- package/src/engine/graphics/trail/tube/TubeX.d.ts.map +0 -1
- package/src/engine/graphics/trail/tube/TubeX.js +0 -575
- package/src/engine/graphics/trail/tube/simulator/TubeXFixedPhysicsSimulator.d.ts +0 -16
- package/src/engine/graphics/trail/tube/simulator/TubeXFixedPhysicsSimulator.d.ts.map +0 -1
- package/src/engine/graphics/trail/tube/simulator/TubeXFixedPhysicsSimulator.js +0 -34
- package/src/engine/graphics/trail/tube/tube_attributes_spec.d.ts +0 -27
- package/src/engine/graphics/trail/tube/tube_attributes_spec.d.ts.map +0 -1
- package/src/engine/graphics/trail/tube/tube_attributes_spec.js +0 -70
- package/src/engine/graphics3/trail/trail_tube_write_geometry.d.ts +0 -38
- package/src/engine/graphics3/trail/trail_tube_write_geometry.d.ts.map +0 -1
- package/src/engine/graphics3/trail/trail_tube_write_geometry.js +0 -119
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Everything the runtime holds for one trail. Plain bookkeeping: the trail's look is its
|
|
3
|
+
* {@link TrailParameters}, which the owner keeps.
|
|
4
|
+
*/
|
|
5
|
+
export class GPUTrailContext {
|
|
6
|
+
/** @type {number} row in the trail and state tables */
|
|
7
|
+
row: number;
|
|
8
|
+
/** @type {number} the `transforms` row the head follows */
|
|
9
|
+
node: number;
|
|
10
|
+
/** @type {import("../../../core/binary/allocator/OffsetAllocator.js").Allocation|null} the knot run */
|
|
11
|
+
knots: import("../../../core/binary/allocator/OffsetAllocator.js").Allocation | null;
|
|
12
|
+
/** @type {import("./runtime/TrailFadeCurves.js").TrailFadeCurve|null} */
|
|
13
|
+
fade: import("./runtime/TrailFadeCurves.js").TrailFadeCurve | null;
|
|
14
|
+
/** @type {number} index of the trail's radial class */
|
|
15
|
+
draw_class: number;
|
|
16
|
+
/** @type {number} what the record's `seed_epoch` says */
|
|
17
|
+
epoch: number;
|
|
18
|
+
/** @type {boolean} the pending seed is a `clear()`, which keeps the trail's birth and frames */
|
|
19
|
+
reseed: boolean;
|
|
20
|
+
/** @type {TrailParameters} what was last staged */
|
|
21
|
+
staged: TrailParameters;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A radial count in use, and the trails using it: a draw class, one indexed draw per pass.
|
|
25
|
+
*/
|
|
26
|
+
export class TrailDrawClass {
|
|
27
|
+
/** @type {number} */
|
|
28
|
+
radial: number;
|
|
29
|
+
/** @type {number} trails in the class */
|
|
30
|
+
references: number;
|
|
31
|
+
/** @type {number} the most segments the class's trails can show: their knots less one each */
|
|
32
|
+
segments: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The GPU trails of one scene context: the trail and state tables, the knot pool, the fade curves, and
|
|
36
|
+
* the clock the knots are aged by.
|
|
37
|
+
*
|
|
38
|
+
* **The CPU registers and stages; the GPU simulates.** {@link add} claims a row, a run of knots and the
|
|
39
|
+
* trail's fade curve and radial class, and asks for a seed; {@link stage} writes the record when the
|
|
40
|
+
* trail's parameters change; {@link remove} lets everything go. No knot is written on the CPU, except
|
|
41
|
+
* the knots of an authored trail, which are uploaded once when it is added. Everything per frame — the
|
|
42
|
+
* head, commits, aging — is the GPU's.
|
|
43
|
+
*
|
|
44
|
+
* **Time is the owner's.** {@link advance} moves the clock by the simulation time the owner was given,
|
|
45
|
+
* so a paused game holds its trails still, and the knots age by ticks of it (`TRAIL_TICKS_PER_SECOND`).
|
|
46
|
+
*/
|
|
47
|
+
export class GPUTrailSystem {
|
|
48
|
+
/**
|
|
49
|
+
* @param {import("../GraphicsContext.js").GraphicsContext} graphics
|
|
50
|
+
*/
|
|
51
|
+
constructor(graphics: import("../GraphicsContext.js").GraphicsContext);
|
|
52
|
+
/** @returns {import("../GraphicsContext.js").GraphicsContext} */
|
|
53
|
+
get graphics(): import("../GraphicsContext.js").GraphicsContext;
|
|
54
|
+
/** @returns {GPUBuffer} the clock as the vertex stage reads it */
|
|
55
|
+
get frame_uniform(): GPUBuffer;
|
|
56
|
+
/**
|
|
57
|
+
* The draw classes by index, a hole where no trail uses one.
|
|
58
|
+
* @returns {(TrailDrawClass|undefined)[]}
|
|
59
|
+
*/
|
|
60
|
+
get draw_classes(): TrailDrawClass[];
|
|
61
|
+
/**
|
|
62
|
+
* The triangles of one segment of a tube of `radial` segments: two rings of `radial + 1` vertices,
|
|
63
|
+
* the head-ward ring first. Both faces are drawn, so the winding carries nothing.
|
|
64
|
+
*
|
|
65
|
+
* @param {number} radial
|
|
66
|
+
* @returns {GPUBuffer} `uint32` indices, `6 × radial` of them
|
|
67
|
+
*/
|
|
68
|
+
index_buffer(radial: number): GPUBuffer;
|
|
69
|
+
/** @returns {GPUDatabase} the trail and state tables */
|
|
70
|
+
get database(): GPUDatabase;
|
|
71
|
+
/** @returns {import("../buffer/table/GPUTypedTable.js").GPUTypedTable} */
|
|
72
|
+
get table(): import("../buffer/table/GPUTypedTable.js").GPUTypedTable<any>;
|
|
73
|
+
/** @returns {import("../buffer/table/GPUTypedTable.js").GPUTypedTable} */
|
|
74
|
+
get state_table(): import("../buffer/table/GPUTypedTable.js").GPUTypedTable<any>;
|
|
75
|
+
/** @returns {TrailKnotPool} */
|
|
76
|
+
get knots(): TrailKnotPool;
|
|
77
|
+
/** @returns {TrailFadeCurves} */
|
|
78
|
+
get fades(): TrailFadeCurves;
|
|
79
|
+
/** @returns {number} trails registered */
|
|
80
|
+
get count(): number;
|
|
81
|
+
/**
|
|
82
|
+
* @returns {number} the clock, in ticks, wrapped to a u32
|
|
83
|
+
*/
|
|
84
|
+
get now(): number;
|
|
85
|
+
/**
|
|
86
|
+
* Radial counts by class index, a hole where no trail uses one.
|
|
87
|
+
* @returns {(number|undefined)[]}
|
|
88
|
+
*/
|
|
89
|
+
get class_radials(): number[];
|
|
90
|
+
/**
|
|
91
|
+
* @returns {GPUTrailContext[]} trails waiting for the GPU to seed them; taken by the frame that seeds them
|
|
92
|
+
*/
|
|
93
|
+
get pending_seeds(): GPUTrailContext[];
|
|
94
|
+
/**
|
|
95
|
+
* Move the clock on.
|
|
96
|
+
*
|
|
97
|
+
* @param {number} seconds simulation time since the last call
|
|
98
|
+
*/
|
|
99
|
+
advance(seconds: number): void;
|
|
100
|
+
/**
|
|
101
|
+
* Register a trail whose head follows `node`.
|
|
102
|
+
*
|
|
103
|
+
* @param {TrailParameters} parameters
|
|
104
|
+
* @param {number} node the `transforms` row of the trail's entity
|
|
105
|
+
* @returns {GPUTrailContext|null} null when the knot pool cannot house the trail on this device
|
|
106
|
+
*/
|
|
107
|
+
add(parameters: TrailParameters, node: number): GPUTrailContext | null;
|
|
108
|
+
/**
|
|
109
|
+
* Bring a trail's record up to date with `parameters`. A change to a build-time parameter rebuilds
|
|
110
|
+
* the trail: a new knot run, and a seed.
|
|
111
|
+
*
|
|
112
|
+
* @param {GPUTrailContext} context
|
|
113
|
+
* @param {TrailParameters} parameters
|
|
114
|
+
* @returns {boolean} false when a rebuild could not be housed; the trail keeps its old build
|
|
115
|
+
*/
|
|
116
|
+
stage(context: GPUTrailContext, parameters: TrailParameters): boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Point a trail at another `transforms` row.
|
|
119
|
+
*
|
|
120
|
+
* @param {GPUTrailContext} context
|
|
121
|
+
* @param {number} node
|
|
122
|
+
*/
|
|
123
|
+
set_node(context: GPUTrailContext, node: number): void;
|
|
124
|
+
/**
|
|
125
|
+
* Expire every knot and collapse the tube onto the head at the next frame, keeping the trail's birth
|
|
126
|
+
* and its knots' frames: `Trail3D.clear()`.
|
|
127
|
+
*
|
|
128
|
+
* @param {GPUTrailContext} context
|
|
129
|
+
*/
|
|
130
|
+
clear(context: GPUTrailContext): void;
|
|
131
|
+
/**
|
|
132
|
+
* @param {GPUTrailContext} context
|
|
133
|
+
*/
|
|
134
|
+
remove(context: GPUTrailContext): void;
|
|
135
|
+
/**
|
|
136
|
+
* Send what changed since the last frame: the records and states staged, the fade curves.
|
|
137
|
+
*
|
|
138
|
+
* @returns {GPUBuffer} the fade key buffer, as it now is on the device
|
|
139
|
+
*/
|
|
140
|
+
upload(): GPUBuffer;
|
|
141
|
+
/**
|
|
142
|
+
* Take the trails waiting for the GPU to seed them, as rows.
|
|
143
|
+
*
|
|
144
|
+
* @returns {Uint32Array}
|
|
145
|
+
*/
|
|
146
|
+
take_seeds(): Uint32Array;
|
|
147
|
+
/**
|
|
148
|
+
* Upload what changed and record one frame of the trails into `graph`: the seeds asked for, the
|
|
149
|
+
* update, and the scan of live segments the per-view passes dispatch from. Once per frame, after
|
|
150
|
+
* the hierarchy has composed this frame's matrices.
|
|
151
|
+
*
|
|
152
|
+
* @param {import("../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph} graph
|
|
153
|
+
* @param {number} scene_database graph handle of the scene database
|
|
154
|
+
* @returns {import("./graph_trails.js").TrailSimulationHandles}
|
|
155
|
+
*/
|
|
156
|
+
record_simulation(graph: import("../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph, scene_database: number): import("./graph_trails.js").TrailSimulationHandles;
|
|
157
|
+
destroy(): void;
|
|
158
|
+
#private;
|
|
159
|
+
}
|
|
160
|
+
import { TrailParameters } from "./runtime/TrailParameters.js";
|
|
161
|
+
import { GPUDatabase } from "../buffer/table/GPUDatabase.js";
|
|
162
|
+
import { TrailKnotPool } from "./runtime/TrailKnotPool.js";
|
|
163
|
+
import { TrailFadeCurves } from "./runtime/TrailFadeCurves.js";
|
|
164
|
+
//# sourceMappingURL=GPUTrailSystem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GPUTrailSystem.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/trails/GPUTrailSystem.js"],"names":[],"mappings":"AA4BA;;;GAGG;AACH;IACI,uDAAuD;IACvD,KADW,MAAM,CACR;IAET,2DAA2D;IAC3D,MADW,MAAM,CACR;IAET,uGAAuG;IACvG,OADW,OAAO,mDAAmD,EAAE,UAAU,GAAC,IAAI,CACzE;IAEb,yEAAyE;IACzE,MADW,OAAO,8BAA8B,EAAE,cAAc,GAAC,IAAI,CACzD;IAEZ,uDAAuD;IACvD,YADW,MAAM,CACD;IAEhB,yDAAyD;IACzD,OADW,MAAM,CACP;IAEV,gGAAgG;IAChG,QADW,OAAO,CACH;IAEf,mDAAmD;IACnD,QADW,eAAe,CACK;CAClC;AAED;;GAEG;AACH;IACI,qBAAqB;IACrB,QADW,MAAM,CACN;IAEX,yCAAyC;IACzC,YADW,MAAM,CACF;IAEf,8FAA8F;IAC9F,UADW,MAAM,CACJ;CAChB;AAQD;;;;;;;;;;;;GAYG;AACH;IA2FI;;OAEG;IACH,sBAFW,OAAO,uBAAuB,EAAE,eAAe,EAqBzD;IAED,iEAAiE;IACjE,gEAEC;IAED,kEAAkE;IAClE,+BAEC;IAED;;;OAGG;IACH,qCAEC;IAED;;;;;;OAMG;IACH,qBAHW,MAAM,aAmChB;IAED,wDAAwD;IACxD,4BAEC;IAED,0EAA0E;IAC1E,2EAEC;IAED,0EAA0E;IAC1E,iFAEC;IAED,+BAA+B;IAC/B,2BAEC;IAED,iCAAiC;IACjC,6BAEC;IAED,0CAA0C;IAC1C,oBAEC;IAED;;OAEG;IACH,kBAEC;IAED;;;OAGG;IACH,8BAEC;IAED;;OAEG;IACH,uCAEC;IAED;;;;OAIG;IACH,iBAFW,MAAM,QAMhB;IAED;;;;;;OAMG;IACH,gBAJW,eAAe,QACf,MAAM,GACJ,eAAe,GAAC,IAAI,CA2BhC;IAED;;;;;;;OAOG;IACH,eAJW,eAAe,cACf,eAAe,GACb,OAAO,CA+CnB;IAED;;;;;OAKG;IACH,kBAHW,eAAe,QACf,MAAM,QAYhB;IAED;;;;;OAKG;IACH,eAFW,eAAe,QAWzB;IAED;;OAEG;IACH,gBAFW,eAAe,QAwBzB;IAED;;;;OAIG;IACH,oBAYC;IAED;;;;OAIG;IACH,cAFa,WAAW,CAavB;IAED;;;;;;;;OAQG;IACH,yBAJW,OAAO,2DAA2D,EAAE,UAAU,kBAC9E,MAAM,GACJ,OAAO,mBAAmB,EAAE,sBAAsB,CAgB9D;IAED,gBAaC;;CA0KJ;gCA1sB+B,8BAA8B;4BARlC,gCAAgC;8BAO9B,4BAA4B;gCAD1B,8BAA8B"}
|