@woosh/meep-engine 3.2.0 → 3.3.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/package.json +1 -1
- package/src/avif/encoder_worker.js +5 -18
- package/src/core/color/PQ/PQ_constants.d.ts +43 -0
- package/src/core/color/PQ/PQ_constants.d.ts.map +1 -0
- package/src/core/color/PQ/PQ_constants.js +50 -0
- package/src/core/color/PQ/PQ_to_linear.d.ts +24 -0
- package/src/core/color/PQ/PQ_to_linear.d.ts.map +1 -0
- package/src/core/color/PQ/PQ_to_linear.js +35 -0
- package/src/core/color/PQ/linear_to_PQ.d.ts +27 -0
- package/src/core/color/PQ/linear_to_PQ.d.ts.map +1 -0
- package/src/core/color/PQ/linear_to_PQ.js +32 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_edge_other_face.d.ts +32 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_edge_other_face.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_edge_other_face.js +59 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_third_vertex.d.ts +26 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_third_vertex.d.ts.map +1 -0
- package/src/core/geom/3d/topology/struct/binary/query/bt_face_third_vertex.js +55 -0
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +269 -265
- package/src/engine/graphics3/VolumetricLightMap.d.ts +90 -0
- package/src/engine/graphics3/VolumetricLightMap.d.ts.map +1 -0
- package/src/engine/graphics3/VolumetricLightMap.js +160 -0
- package/src/engine/graphics3/VolumetricLightMapSerializationAdapter.d.ts +32 -0
- package/src/engine/graphics3/VolumetricLightMapSerializationAdapter.d.ts.map +1 -0
- package/src/engine/graphics3/VolumetricLightMapSerializationAdapter.js +67 -0
- package/src/engine/graphics3/VolumetricLightMapSystem3.d.ts +98 -0
- package/src/engine/graphics3/VolumetricLightMapSystem3.d.ts.map +1 -0
- package/src/engine/graphics3/VolumetricLightMapSystem3.js +261 -0
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/shade/renderer/global_illumination/brick4/cpu/brick4_empty_gpu_structure.d.ts +23 -0
- package/src/shade/renderer/global_illumination/brick4/cpu/brick4_empty_gpu_structure.d.ts.map +1 -0
- package/src/shade/renderer/global_illumination/brick4/cpu/brick4_empty_gpu_structure.js +34 -0
- package/src/shade/renderer/scene/optimization/geometry/internal/anchor_grow_topological.d.ts.map +1 -1
- package/src/shade/renderer/scene/optimization/geometry/internal/anchor_grow_topological.js +12 -3
- package/src/shade/renderer/scene/optimization/geometry/internal/match_validate_topology.js +3 -3
- package/src/shade/renderer/scene/optimization/geometry/internal/seed_correspondence_from_window.js +3 -3
- package/src/shade/renderer/scene/serialization/deserialize_scene.d.ts.map +1 -1
- package/src/shade/renderer/scene/serialization/deserialize_scene.js +0 -2
- package/src/shade/renderer/scene/optimization/geometry/internal/bt_face_loop_helpers.d.ts +0 -32
- package/src/shade/renderer/scene/optimization/geometry/internal/bt_face_loop_helpers.d.ts.map +0 -1
- package/src/shade/renderer/scene/optimization/geometry/internal/bt_face_loop_helpers.js +0 -77
- package/src/shade/renderer/scene/optimization/geometry/internal/bt_find_edge_between.d.ts +0 -12
- package/src/shade/renderer/scene/optimization/geometry/internal/bt_find_edge_between.d.ts.map +0 -1
- package/src/shade/renderer/scene/optimization/geometry/internal/bt_find_edge_between.js +0 -35
- package/src/shade/renderer/scene/serialization/linear_to_pq.d.ts +0 -2
- package/src/shade/renderer/scene/serialization/linear_to_pq.d.ts.map +0 -1
- package/src/shade/renderer/scene/serialization/linear_to_pq.js +0 -14
- package/src/shade/renderer/scene/serialization/pq_to_linear.d.ts +0 -9
- package/src/shade/renderer/scene/serialization/pq_to_linear.d.ts.map +0 -1
- package/src/shade/renderer/scene/serialization/pq_to_linear.js +0 -30
|
@@ -1,265 +1,269 @@
|
|
|
1
|
-
import { AnimationSerializationAdapter } from "../animation/AnimationSerializationAdapter.js";
|
|
2
|
-
import { PropertySetSerializationAdapter } from "../components/PropertySetSerializationAdapter.js";
|
|
3
|
-
import {
|
|
4
|
-
SerializationMetadataSerializationAdapter
|
|
5
|
-
} from "../components/SerializationMetadataSerializationAdapter.js";
|
|
6
|
-
import { Tag } from "../components/Tag.js";
|
|
7
|
-
import { TagSerializationAdapter } from "../components/TagSerializationAdapter.js";
|
|
8
|
-
import { TagSerializationUpgrader_0_1 } from "../components/TagSerializationUpgrader_0_1.js";
|
|
9
|
-
import { FogOfWar } from "../fow/FogOfWar.js";
|
|
10
|
-
import {
|
|
11
|
-
FogOfWarRevealerSerializationAdapter
|
|
12
|
-
} from "../fow/serialization/FogOfWarRevealerSerializationAdapter.js";
|
|
13
|
-
import { FogOfWarSerializationAdapter } from "../fow/serialization/FogOfWarSerializationAdapter.js";
|
|
14
|
-
import { FogOfWarSerializationUpdater_0_1 } from "../fow/serialization/FogOfWarSerializationUpdater_0_1.js";
|
|
15
|
-
import { GUIElementSerializationAdapter } from "../gui/GUIElementSerializationAdapter.js";
|
|
16
|
-
import { HeadsUpDisplaySerializationAdapter } from "../gui/hud/HeadsUpDisplaySerializationAdapter.js";
|
|
17
|
-
import {
|
|
18
|
-
ViewportPositionSerializationAdapter
|
|
19
|
-
} from "../gui/position/ViewportPositionSerializationAdapter.js";
|
|
20
|
-
import { InverseKinematicsSerializationAdapter } from "../ik/InverseKinematicsSerializationAdapter.js";
|
|
21
|
-
import { NameSerializationAdapter } from "../name/NameSerializationAdapter.js";
|
|
22
|
-
import { TeamSerializationAdapter } from "../team/TeamSerializationAdapter.js";
|
|
23
|
-
import ClingToTerrain from "../terrain/ecs/cling/ClingToTerrain.js";
|
|
24
|
-
import {
|
|
25
|
-
ClingToTerrainSerializationAdapter
|
|
26
|
-
} from "../terrain/ecs/cling/ClingToTerrainSerializationAdapter.js";
|
|
27
|
-
import {
|
|
28
|
-
ClingToTerrainSerializationUpgrader_0_1
|
|
29
|
-
} from "../terrain/ecs/cling/ClingToTerrainSerializationUpgrader_0_1.js";
|
|
30
|
-
import Terrain from "../terrain/ecs/Terrain.js";
|
|
31
|
-
import { TerrainSerializationAdapter } from "../terrain/serialization/TerrainSerializationAdapter.js";
|
|
32
|
-
import {
|
|
33
|
-
TerrainSerializationUpgrader_0_1
|
|
34
|
-
} from "../terrain/serialization/TerrainSerializationUpgrader_0_1.js";
|
|
35
|
-
import {
|
|
36
|
-
TerrainSerializationUpgrader_1_2
|
|
37
|
-
} from "../terrain/serialization/TerrainSerializationUpgrader_1_2.js";
|
|
38
|
-
import { TooltipComponentSerializationAdapter } from "../tooltip/TooltipComponentSerializationAdapter.js";
|
|
39
|
-
import { PickableSerializationAdapter } from "../../graphics3/Pickable.js";
|
|
40
|
-
import {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
import {
|
|
44
|
-
|
|
45
|
-
} from "
|
|
46
|
-
import {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
} from "../../graphics/ecs/camera/
|
|
50
|
-
import {
|
|
51
|
-
|
|
52
|
-
} from "../../graphics/ecs/camera/serialization/
|
|
53
|
-
import
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
import {
|
|
58
|
-
|
|
59
|
-
} from "../../graphics/ecs/camera/topdown/
|
|
60
|
-
import {
|
|
61
|
-
|
|
62
|
-
} from "../../graphics/ecs/camera/topdown/
|
|
63
|
-
import {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
} from "../../graphics/ecs/decal/v2/
|
|
68
|
-
import
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
} from "../../graphics/ecs/highlight/
|
|
73
|
-
import {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
} from "../../graphics/ecs/
|
|
77
|
-
import
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
import
|
|
81
|
-
import {
|
|
82
|
-
|
|
83
|
-
} from "../../graphics/particles/particular/engine/emitter/
|
|
84
|
-
import {
|
|
85
|
-
|
|
86
|
-
} from "../../graphics/particles/particular/engine/emitter/serde/
|
|
87
|
-
import {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
} from "../../grid/grid2transform/
|
|
91
|
-
import {
|
|
92
|
-
|
|
93
|
-
} from "../../grid/grid2transform/
|
|
94
|
-
import {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
import {
|
|
98
|
-
|
|
99
|
-
} from "../../grid/position/
|
|
100
|
-
import {
|
|
101
|
-
|
|
102
|
-
} from "../../
|
|
103
|
-
import {
|
|
104
|
-
|
|
105
|
-
} from "../../intelligence/behavior/composite/
|
|
106
|
-
import {
|
|
107
|
-
|
|
108
|
-
} from "../../intelligence/behavior/
|
|
109
|
-
import {
|
|
110
|
-
|
|
111
|
-
} from "../../intelligence/behavior/decorator/
|
|
112
|
-
import {
|
|
113
|
-
|
|
114
|
-
} from "../../intelligence/behavior/
|
|
115
|
-
import {
|
|
116
|
-
|
|
117
|
-
} from "../../intelligence/behavior/ecs/
|
|
118
|
-
import {
|
|
119
|
-
|
|
120
|
-
} from "../../intelligence/behavior/
|
|
121
|
-
import {
|
|
122
|
-
|
|
123
|
-
} from "../../intelligence/behavior/primitive/
|
|
124
|
-
import {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
import {
|
|
128
|
-
|
|
129
|
-
} from "../../navigation/ecs/components/
|
|
130
|
-
import {
|
|
131
|
-
|
|
132
|
-
} from "../../navigation/ecs/components/
|
|
133
|
-
import {
|
|
134
|
-
|
|
135
|
-
} from "../../navigation/ecs/components/
|
|
136
|
-
import
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
import {
|
|
141
|
-
|
|
142
|
-
} from "../../navigation/ecs/path_following/
|
|
143
|
-
import {
|
|
144
|
-
|
|
145
|
-
} from "../../navigation/ecs/path_following/
|
|
146
|
-
import {
|
|
147
|
-
|
|
148
|
-
} from "../../navigation/ecs/path_following/
|
|
149
|
-
import {
|
|
150
|
-
|
|
151
|
-
} from "../../navigation/ecs/path_following/
|
|
152
|
-
import {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
} from "../../sound/ecs/emitter/
|
|
157
|
-
import {
|
|
158
|
-
|
|
159
|
-
} from "../../sound/ecs/emitter/
|
|
160
|
-
import {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
*
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
new
|
|
179
|
-
new
|
|
180
|
-
new
|
|
181
|
-
new
|
|
182
|
-
new
|
|
183
|
-
new
|
|
184
|
-
new
|
|
185
|
-
new
|
|
186
|
-
new
|
|
187
|
-
new
|
|
188
|
-
new
|
|
189
|
-
new
|
|
190
|
-
new
|
|
191
|
-
new
|
|
192
|
-
new
|
|
193
|
-
new
|
|
194
|
-
new
|
|
195
|
-
new
|
|
196
|
-
new
|
|
197
|
-
new
|
|
198
|
-
new
|
|
199
|
-
new
|
|
200
|
-
new
|
|
201
|
-
new
|
|
202
|
-
new
|
|
203
|
-
new
|
|
204
|
-
new
|
|
205
|
-
new
|
|
206
|
-
new
|
|
207
|
-
new
|
|
208
|
-
new
|
|
209
|
-
new
|
|
210
|
-
new
|
|
211
|
-
new
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
//
|
|
221
|
-
new
|
|
222
|
-
new
|
|
223
|
-
|
|
224
|
-
//
|
|
225
|
-
new
|
|
226
|
-
new
|
|
227
|
-
|
|
228
|
-
//
|
|
229
|
-
new
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
registry.registerUpgrader(
|
|
238
|
-
|
|
239
|
-
registry.registerUpgrader(
|
|
240
|
-
|
|
241
|
-
registry.registerUpgrader(
|
|
242
|
-
|
|
243
|
-
registry.registerUpgrader(
|
|
244
|
-
|
|
245
|
-
registry.registerUpgrader(
|
|
246
|
-
|
|
247
|
-
registry.registerUpgrader(
|
|
248
|
-
registry.registerUpgrader(
|
|
249
|
-
registry.registerUpgrader(
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
registry.registerUpgrader(
|
|
253
|
-
registry.registerUpgrader(
|
|
254
|
-
registry.registerUpgrader(
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
registry.registerUpgrader(
|
|
258
|
-
registry.registerUpgrader(
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
registry.registerUpgrader(
|
|
263
|
-
|
|
264
|
-
registry.registerUpgrader(
|
|
265
|
-
|
|
1
|
+
import { AnimationSerializationAdapter } from "../animation/AnimationSerializationAdapter.js";
|
|
2
|
+
import { PropertySetSerializationAdapter } from "../components/PropertySetSerializationAdapter.js";
|
|
3
|
+
import {
|
|
4
|
+
SerializationMetadataSerializationAdapter
|
|
5
|
+
} from "../components/SerializationMetadataSerializationAdapter.js";
|
|
6
|
+
import { Tag } from "../components/Tag.js";
|
|
7
|
+
import { TagSerializationAdapter } from "../components/TagSerializationAdapter.js";
|
|
8
|
+
import { TagSerializationUpgrader_0_1 } from "../components/TagSerializationUpgrader_0_1.js";
|
|
9
|
+
import { FogOfWar } from "../fow/FogOfWar.js";
|
|
10
|
+
import {
|
|
11
|
+
FogOfWarRevealerSerializationAdapter
|
|
12
|
+
} from "../fow/serialization/FogOfWarRevealerSerializationAdapter.js";
|
|
13
|
+
import { FogOfWarSerializationAdapter } from "../fow/serialization/FogOfWarSerializationAdapter.js";
|
|
14
|
+
import { FogOfWarSerializationUpdater_0_1 } from "../fow/serialization/FogOfWarSerializationUpdater_0_1.js";
|
|
15
|
+
import { GUIElementSerializationAdapter } from "../gui/GUIElementSerializationAdapter.js";
|
|
16
|
+
import { HeadsUpDisplaySerializationAdapter } from "../gui/hud/HeadsUpDisplaySerializationAdapter.js";
|
|
17
|
+
import {
|
|
18
|
+
ViewportPositionSerializationAdapter
|
|
19
|
+
} from "../gui/position/ViewportPositionSerializationAdapter.js";
|
|
20
|
+
import { InverseKinematicsSerializationAdapter } from "../ik/InverseKinematicsSerializationAdapter.js";
|
|
21
|
+
import { NameSerializationAdapter } from "../name/NameSerializationAdapter.js";
|
|
22
|
+
import { TeamSerializationAdapter } from "../team/TeamSerializationAdapter.js";
|
|
23
|
+
import ClingToTerrain from "../terrain/ecs/cling/ClingToTerrain.js";
|
|
24
|
+
import {
|
|
25
|
+
ClingToTerrainSerializationAdapter
|
|
26
|
+
} from "../terrain/ecs/cling/ClingToTerrainSerializationAdapter.js";
|
|
27
|
+
import {
|
|
28
|
+
ClingToTerrainSerializationUpgrader_0_1
|
|
29
|
+
} from "../terrain/ecs/cling/ClingToTerrainSerializationUpgrader_0_1.js";
|
|
30
|
+
import Terrain from "../terrain/ecs/Terrain.js";
|
|
31
|
+
import { TerrainSerializationAdapter } from "../terrain/serialization/TerrainSerializationAdapter.js";
|
|
32
|
+
import {
|
|
33
|
+
TerrainSerializationUpgrader_0_1
|
|
34
|
+
} from "../terrain/serialization/TerrainSerializationUpgrader_0_1.js";
|
|
35
|
+
import {
|
|
36
|
+
TerrainSerializationUpgrader_1_2
|
|
37
|
+
} from "../terrain/serialization/TerrainSerializationUpgrader_1_2.js";
|
|
38
|
+
import { TooltipComponentSerializationAdapter } from "../tooltip/TooltipComponentSerializationAdapter.js";
|
|
39
|
+
import { PickableSerializationAdapter } from "../../graphics3/Pickable.js";
|
|
40
|
+
import {
|
|
41
|
+
VolumetricLightMapSerializationAdapter
|
|
42
|
+
} from "../../graphics3/VolumetricLightMapSerializationAdapter.js";
|
|
43
|
+
import { Transform } from "../transform/Transform.js";
|
|
44
|
+
import { TransformSerializationAdapter } from "../transform/TransformSerializationAdapter.js";
|
|
45
|
+
import { TransformSerializationUpgrader_0_1 } from "../transform/TransformSerializationUpgrader_0_1.js";
|
|
46
|
+
import {
|
|
47
|
+
AnimationControllerSerializationAdapter
|
|
48
|
+
} from "../../graphics/ecs/animation/AnimationControllerSerializationAdapter.js";
|
|
49
|
+
import { Camera } from "../../graphics/ecs/camera/Camera.js";
|
|
50
|
+
import {
|
|
51
|
+
CameraSerializationAdapter
|
|
52
|
+
} from "../../graphics/ecs/camera/serialization/CameraSerializationAdapter.js";
|
|
53
|
+
import {
|
|
54
|
+
CameraSerializationUpgrader_0_1
|
|
55
|
+
} from "../../graphics/ecs/camera/serialization/CameraSerializationUpgrader_0_1.js";
|
|
56
|
+
import TopDownCameraController from "../../graphics/ecs/camera/topdown/TopDownCameraController.js";
|
|
57
|
+
import {
|
|
58
|
+
TopDownCameraControllerSerializationAdapter
|
|
59
|
+
} from "../../graphics/ecs/camera/topdown/TopDownCameraControllerSerializationAdapter.js";
|
|
60
|
+
import {
|
|
61
|
+
TopDownCameraControllerSerializationUpgrader_0_1
|
|
62
|
+
} from "../../graphics/ecs/camera/topdown/TopDownCameraControllerSerializationUpgrader_0_1.js";
|
|
63
|
+
import {
|
|
64
|
+
TopDownCameraLanderSerializationAdapter
|
|
65
|
+
} from "../../graphics/ecs/camera/topdown/TopDownCameraLander.js";
|
|
66
|
+
import { Decal } from "../../graphics/ecs/decal/v2/Decal.js";
|
|
67
|
+
import { DecalSerializationAdapter } from "../../graphics/ecs/decal/v2/DecalSerializationAdapter.js";
|
|
68
|
+
import {
|
|
69
|
+
DecalSerializationUpgrader_0_1
|
|
70
|
+
} from "../../graphics/ecs/decal/v2/DecalSerializationUpgrader_0_1.js";
|
|
71
|
+
import Highlight from "../../graphics/ecs/highlight/Highlight.js";
|
|
72
|
+
import { HighlightSerializationAdapter } from "../../graphics/ecs/highlight/HighlightSerializationAdapter.js";
|
|
73
|
+
import {
|
|
74
|
+
HighlightSerializationUpgrader_0_1
|
|
75
|
+
} from "../../graphics/ecs/highlight/HighlightSerializationUpgrader_0_1.js";
|
|
76
|
+
import { LightSerializationAdapter } from "../../graphics/ecs/light/LightSerializationAdapter.js";
|
|
77
|
+
import {
|
|
78
|
+
SGMeshSerializationAdapter
|
|
79
|
+
} from "../../graphics/ecs/mesh-v2/aggregate/serialization/SGMeshSerializationAdapter.js";
|
|
80
|
+
import Water from "../../graphics/ecs/water/Water.js";
|
|
81
|
+
import { WaterSerializationAdapter } from "../../graphics/ecs/water/WaterSerializationAdapter.js";
|
|
82
|
+
import { WaterSerializationUpgrader_0_1 } from "../../graphics/ecs/water/WaterSerializationUpgrader_0_1.js";
|
|
83
|
+
import { ParticleEmitter } from "../../graphics/particles/particular/engine/emitter/ParticleEmitter.js";
|
|
84
|
+
import {
|
|
85
|
+
ParticleEmitterSerializationAdapter
|
|
86
|
+
} from "../../graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.js";
|
|
87
|
+
import {
|
|
88
|
+
ParticleEmitterSerializationUpgrader_0_1
|
|
89
|
+
} from "../../graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.js";
|
|
90
|
+
import { GridPosition2Transform } from "../../grid/grid2transform/GridPosition2Transform.js";
|
|
91
|
+
import {
|
|
92
|
+
GridPosition2TransformSerializationAdapter
|
|
93
|
+
} from "../../grid/grid2transform/GridPosition2TransformSerializationAdapter.js";
|
|
94
|
+
import {
|
|
95
|
+
GridPosition2TransformSerializationUpgrader_0_1
|
|
96
|
+
} from "../../grid/grid2transform/GridPosition2TransformSerializationUpgrader_0_1.js";
|
|
97
|
+
import { GridObstacleSerializationAdapter } from "../../grid/obstacle/GridObstacleSerializationAdapter.js";
|
|
98
|
+
import GridPosition from "../../grid/position/GridPosition.js";
|
|
99
|
+
import { GridPositionSerializationAdapter } from "../../grid/position/GridPositionSerializationAdapter.js";
|
|
100
|
+
import {
|
|
101
|
+
GridPositionSerializationUpdater_0_1
|
|
102
|
+
} from "../../grid/position/GridPositionSerializationUpdater_0_1.js";
|
|
103
|
+
import {
|
|
104
|
+
ParallelBehaviorSerializationAdapter
|
|
105
|
+
} from "../../intelligence/behavior/composite/ParallelBehaviorSerializationAdapter.js";
|
|
106
|
+
import {
|
|
107
|
+
SequenceBehaviorSerializationAdapter
|
|
108
|
+
} from "../../intelligence/behavior/composite/SequenceBehaviorSerializationAdapter.js";
|
|
109
|
+
import {
|
|
110
|
+
InvertStatusBehaviorSerializationAdapter
|
|
111
|
+
} from "../../intelligence/behavior/decorator/InvertStatusBehaviorSerializationAdapter.js";
|
|
112
|
+
import {
|
|
113
|
+
RepeatBehaviorSerializationAdapter
|
|
114
|
+
} from "../../intelligence/behavior/decorator/RepeatBehaviorSerializationAdapter.js";
|
|
115
|
+
import {
|
|
116
|
+
BehaviorComponentSerializationAdapter
|
|
117
|
+
} from "../../intelligence/behavior/ecs/BehaviorComponentSerializationAdapter.js";
|
|
118
|
+
import {
|
|
119
|
+
WaitForEventBehaviorSerializationAdapter
|
|
120
|
+
} from "../../intelligence/behavior/ecs/WaitForEventBehaviorSerializationAdapter.js";
|
|
121
|
+
import {
|
|
122
|
+
FailingBehaviorSerializationAdapter
|
|
123
|
+
} from "../../intelligence/behavior/primitive/FailingBehaviorSerializationAdapter.js";
|
|
124
|
+
import {
|
|
125
|
+
SucceedingBehaviorSerializationAdapter
|
|
126
|
+
} from "../../intelligence/behavior/primitive/SucceedingBehaviorSerializationAdapter.js";
|
|
127
|
+
import { BlackboardSerializationAdapter } from "../../intelligence/blackboard/BlackboardSerializationAdapter.js";
|
|
128
|
+
import Path from "../../navigation/ecs/components/Path.js";
|
|
129
|
+
import { PathSerializationAdapter } from "../../navigation/ecs/components/PathSerializationAdapter.js";
|
|
130
|
+
import {
|
|
131
|
+
PathSerializationUpgrader_0_1
|
|
132
|
+
} from "../../navigation/ecs/components/PathSerializationUpgrader_0_1.js";
|
|
133
|
+
import {
|
|
134
|
+
PathSerializationUpgrader_1_2
|
|
135
|
+
} from "../../navigation/ecs/components/PathSerializationUpgrader_1_2.js";
|
|
136
|
+
import {
|
|
137
|
+
PathSerializationUpgrader_2_3
|
|
138
|
+
} from "../../navigation/ecs/components/PathSerializationUpgrader_2_3.js";
|
|
139
|
+
import PathFollower from "../../navigation/ecs/path_following/PathFollower.js";
|
|
140
|
+
import {
|
|
141
|
+
PathFollowerSerializationAdapter
|
|
142
|
+
} from "../../navigation/ecs/path_following/PathFollowerSerializationAdapter.js";
|
|
143
|
+
import {
|
|
144
|
+
PathFollowerSerializationUpgrader_0_1
|
|
145
|
+
} from "../../navigation/ecs/path_following/PathFollowerSerializationUpgrader_0_1.js";
|
|
146
|
+
import {
|
|
147
|
+
PathFollowerSerializationUpgrader_1_2
|
|
148
|
+
} from "../../navigation/ecs/path_following/PathFollowerSerializationUpgrader_1_2.js";
|
|
149
|
+
import {
|
|
150
|
+
PathFollowerSerializationUpgrader_2_3
|
|
151
|
+
} from "../../navigation/ecs/path_following/PathFollowerSerializationUpgrader_2_3.js";
|
|
152
|
+
import {
|
|
153
|
+
PathFollowerSerializationUpgrader_3_4
|
|
154
|
+
} from "../../navigation/ecs/path_following/PathFollowerSerializationUpgrader_3_4.js";
|
|
155
|
+
import { SoundEmitter } from "../../sound/ecs/emitter/SoundEmitter.js";
|
|
156
|
+
import { SoundEmitterSerializationAdapter } from "../../sound/ecs/emitter/SoundEmitterSerializationAdapter.js";
|
|
157
|
+
import {
|
|
158
|
+
SoundEmitterSerializationUpgrader_0_1
|
|
159
|
+
} from "../../sound/ecs/emitter/SoundEmitterSerializationUpgrader_0_1.js";
|
|
160
|
+
import {
|
|
161
|
+
SoundEmitterSerializationUpgrader_1_2
|
|
162
|
+
} from "../../sound/ecs/emitter/SoundEmitterSerializationUpgrader_1_2.js";
|
|
163
|
+
import { SoundControllerSerializationAdapter } from "../../sound/ecs/SoundController.js";
|
|
164
|
+
import { SoundListenerSerializationAdapter } from "../../sound/ecs/SoundListener.js";
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Registers the serialization adapters and upgraders for every engine-side component type.
|
|
168
|
+
*
|
|
169
|
+
* This is the single source of truth for engine serialization coverage: hosts layer their own
|
|
170
|
+
* component adapters on top and must not re-register engine types (the registry keeps the first
|
|
171
|
+
* registration and warns on duplicates).
|
|
172
|
+
*
|
|
173
|
+
* @param {BinarySerializationRegistry} registry
|
|
174
|
+
*/
|
|
175
|
+
export function populateEngineSerializationRegistry(registry) {
|
|
176
|
+
|
|
177
|
+
registry.registerAdapters([
|
|
178
|
+
new TransformSerializationAdapter(),
|
|
179
|
+
new NameSerializationAdapter(),
|
|
180
|
+
new TeamSerializationAdapter(),
|
|
181
|
+
new PathFollowerSerializationAdapter(),
|
|
182
|
+
new PathSerializationAdapter(),
|
|
183
|
+
new TagSerializationAdapter(),
|
|
184
|
+
new ParticleEmitterSerializationAdapter(),
|
|
185
|
+
new SoundEmitterSerializationAdapter(),
|
|
186
|
+
new SoundControllerSerializationAdapter(),
|
|
187
|
+
new SoundListenerSerializationAdapter(),
|
|
188
|
+
new AnimationSerializationAdapter(),
|
|
189
|
+
new SGMeshSerializationAdapter(),
|
|
190
|
+
new TopDownCameraControllerSerializationAdapter(),
|
|
191
|
+
new TopDownCameraLanderSerializationAdapter(),
|
|
192
|
+
new CameraSerializationAdapter(),
|
|
193
|
+
new ClingToTerrainSerializationAdapter(),
|
|
194
|
+
new TerrainSerializationAdapter(),
|
|
195
|
+
new WaterSerializationAdapter(),
|
|
196
|
+
new GridPosition2TransformSerializationAdapter(),
|
|
197
|
+
new GridObstacleSerializationAdapter(),
|
|
198
|
+
new GridPositionSerializationAdapter(),
|
|
199
|
+
new HighlightSerializationAdapter(),
|
|
200
|
+
new LightSerializationAdapter(),
|
|
201
|
+
new AnimationControllerSerializationAdapter(),
|
|
202
|
+
new PropertySetSerializationAdapter(),
|
|
203
|
+
new FogOfWarSerializationAdapter(),
|
|
204
|
+
new FogOfWarRevealerSerializationAdapter(),
|
|
205
|
+
new BlackboardSerializationAdapter(),
|
|
206
|
+
new SerializationMetadataSerializationAdapter(),
|
|
207
|
+
new ViewportPositionSerializationAdapter(),
|
|
208
|
+
new GUIElementSerializationAdapter(),
|
|
209
|
+
new HeadsUpDisplaySerializationAdapter(),
|
|
210
|
+
new BehaviorComponentSerializationAdapter(),
|
|
211
|
+
new InverseKinematicsSerializationAdapter(),
|
|
212
|
+
new TooltipComponentSerializationAdapter(),
|
|
213
|
+
new DecalSerializationAdapter(),
|
|
214
|
+
new PickableSerializationAdapter(),
|
|
215
|
+
new VolumetricLightMapSerializationAdapter()
|
|
216
|
+
]);
|
|
217
|
+
|
|
218
|
+
// behaviors
|
|
219
|
+
registry.registerAdapters([
|
|
220
|
+
//primitives
|
|
221
|
+
new FailingBehaviorSerializationAdapter(),
|
|
222
|
+
new SucceedingBehaviorSerializationAdapter(),
|
|
223
|
+
|
|
224
|
+
//composite
|
|
225
|
+
new SequenceBehaviorSerializationAdapter(),
|
|
226
|
+
new ParallelBehaviorSerializationAdapter(),
|
|
227
|
+
|
|
228
|
+
//decorators
|
|
229
|
+
new InvertStatusBehaviorSerializationAdapter(),
|
|
230
|
+
new RepeatBehaviorSerializationAdapter(),
|
|
231
|
+
|
|
232
|
+
//ECS
|
|
233
|
+
new WaitForEventBehaviorSerializationAdapter()
|
|
234
|
+
]);
|
|
235
|
+
|
|
236
|
+
//upgraders
|
|
237
|
+
registry.registerUpgrader(GridPosition2Transform.typeName, new GridPosition2TransformSerializationUpgrader_0_1());
|
|
238
|
+
registry.registerUpgrader(GridPosition.typeName, new GridPositionSerializationUpdater_0_1());
|
|
239
|
+
registry.registerUpgrader(Transform.typeName, new TransformSerializationUpgrader_0_1());
|
|
240
|
+
registry.registerUpgrader(Tag.typeName, new TagSerializationUpgrader_0_1());
|
|
241
|
+
registry.registerUpgrader(Decal.typeName, new DecalSerializationUpgrader_0_1());
|
|
242
|
+
|
|
243
|
+
registry.registerUpgrader(FogOfWar.typeName, new FogOfWarSerializationUpdater_0_1());
|
|
244
|
+
|
|
245
|
+
registry.registerUpgrader(Camera.typeName, new CameraSerializationUpgrader_0_1());
|
|
246
|
+
|
|
247
|
+
registry.registerUpgrader(Path.typeName, new PathSerializationUpgrader_0_1());
|
|
248
|
+
registry.registerUpgrader(Path.typeName, new PathSerializationUpgrader_1_2());
|
|
249
|
+
registry.registerUpgrader(Path.typeName, new PathSerializationUpgrader_2_3());
|
|
250
|
+
|
|
251
|
+
registry.registerUpgrader(PathFollower.typeName, new PathFollowerSerializationUpgrader_0_1());
|
|
252
|
+
registry.registerUpgrader(PathFollower.typeName, new PathFollowerSerializationUpgrader_1_2());
|
|
253
|
+
registry.registerUpgrader(PathFollower.typeName, new PathFollowerSerializationUpgrader_2_3());
|
|
254
|
+
registry.registerUpgrader(PathFollower.typeName, new PathFollowerSerializationUpgrader_3_4());
|
|
255
|
+
|
|
256
|
+
registry.registerUpgrader(Terrain.typeName, new TerrainSerializationUpgrader_0_1());
|
|
257
|
+
registry.registerUpgrader(Terrain.typeName, new TerrainSerializationUpgrader_1_2());
|
|
258
|
+
registry.registerUpgrader(Highlight.typeName, new HighlightSerializationUpgrader_0_1());
|
|
259
|
+
registry.registerUpgrader(Water.typeName, new WaterSerializationUpgrader_0_1());
|
|
260
|
+
|
|
261
|
+
registry.registerUpgrader(SoundEmitter.typeName, new SoundEmitterSerializationUpgrader_0_1());
|
|
262
|
+
registry.registerUpgrader(SoundEmitter.typeName, new SoundEmitterSerializationUpgrader_1_2());
|
|
263
|
+
|
|
264
|
+
registry.registerUpgrader(ParticleEmitter.typeName, new ParticleEmitterSerializationUpgrader_0_1());
|
|
265
|
+
|
|
266
|
+
registry.registerUpgrader(TopDownCameraController.typeName, new TopDownCameraControllerSerializationUpgrader_0_1());
|
|
267
|
+
|
|
268
|
+
registry.registerUpgrader(ClingToTerrain.typeName, new ClingToTerrainSerializationUpgrader_0_1());
|
|
269
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A baked volumetric lightmap, as the bytes the GPU wants and nothing else.
|
|
3
|
+
*
|
|
4
|
+
* **The scene has one of these, and this component is which one.** Shade keeps a single
|
|
5
|
+
* `Brick4LightMap` per scene — one buffer, read by every indirect-lighting pass while the renderer
|
|
6
|
+
* is in Brick4 mode — so a level's lightmap is a property of the level, not of a thing standing in
|
|
7
|
+
* it. Making it a component is what gives it a lifetime an entity already has: it arrives when the
|
|
8
|
+
* level's entity is built, it is saved with it, and it goes away when the entity does. See
|
|
9
|
+
* {@link VolumetricLightMapSystem3} for what happens when two entities claim the scene at once.
|
|
10
|
+
*
|
|
11
|
+
* **The payload is opaque here on purpose.** It is brick4's own GPU structure — the format
|
|
12
|
+
* `brick4_to_gpu_structure` writes and the indirect-lighting shaders read — and everything inside
|
|
13
|
+
* it, the node layout, the probe section, the SH encoding, is the renderer's business. This
|
|
14
|
+
* component neither validates it nor knows how to make one; a bake writes it, a load reads it off
|
|
15
|
+
* disk, and this carries it.
|
|
16
|
+
*
|
|
17
|
+
* **It is not placed by the entity's transform, and does not need one.** A brick4 structure begins
|
|
18
|
+
* with the world-space bounds it was baked against, so the map already knows where it is. Moving
|
|
19
|
+
* the entity that carries it moves nothing.
|
|
20
|
+
*
|
|
21
|
+
* @see VolumetricLightMapSystem3
|
|
22
|
+
* @see Brick4LightMap
|
|
23
|
+
*/
|
|
24
|
+
export class VolumetricLightMap {
|
|
25
|
+
/**
|
|
26
|
+
* @param {*} json
|
|
27
|
+
* @returns {VolumetricLightMap}
|
|
28
|
+
*/
|
|
29
|
+
static fromJSON(json: any): VolumetricLightMap;
|
|
30
|
+
/**
|
|
31
|
+
* @param {ArrayBuffer|null} value
|
|
32
|
+
*/
|
|
33
|
+
set data(arg: ArrayBuffer);
|
|
34
|
+
/**
|
|
35
|
+
* The baked structure, or `null` while there isn't one.
|
|
36
|
+
*
|
|
37
|
+
* `null` is a normal state, not a broken one: the component says the entity carries the scene's
|
|
38
|
+
* lightmap, and the bytes may still be loading. A `null` map lights the scene with nothing.
|
|
39
|
+
*
|
|
40
|
+
* @returns {ArrayBuffer|null}
|
|
41
|
+
*/
|
|
42
|
+
get data(): ArrayBuffer;
|
|
43
|
+
/**
|
|
44
|
+
* Bumped every time {@link data} is assigned.
|
|
45
|
+
*
|
|
46
|
+
* What the system watches to decide whether the GPU is behind. A megabyte-scale upload per frame
|
|
47
|
+
* would be the alternative, and comparing the buffers to avoid it costs a full read of both.
|
|
48
|
+
*
|
|
49
|
+
* **Assignment is the only thing that moves this.** Writing into the `ArrayBuffer` in place goes
|
|
50
|
+
* unnoticed — publish such a change by assigning `data` again, even to the same buffer.
|
|
51
|
+
*
|
|
52
|
+
* @returns {number}
|
|
53
|
+
*/
|
|
54
|
+
get version(): number;
|
|
55
|
+
/**
|
|
56
|
+
* The bytes, base64'd.
|
|
57
|
+
*
|
|
58
|
+
* A lightmap runs to megabytes and base64 adds a third on top of that, so this is the expensive
|
|
59
|
+
* way to move one and the binary adapter is the cheap one. It exists because a blueprint that
|
|
60
|
+
* silently dropped the map would be worse than a large blueprint.
|
|
61
|
+
*
|
|
62
|
+
* @see VolumetricLightMapSerializationAdapter
|
|
63
|
+
*/
|
|
64
|
+
toJSON(): {
|
|
65
|
+
data: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* @param {string|null} [data]
|
|
69
|
+
*/
|
|
70
|
+
fromJSON({ data }?: string | null): void;
|
|
71
|
+
/**
|
|
72
|
+
* The byte length, and deliberately not the bytes.
|
|
73
|
+
*
|
|
74
|
+
* Hashing megabytes to answer "are these two the same component" is not a trade worth making,
|
|
75
|
+
* and a hash is allowed to collide. {@link equals} is the one that reads the buffer.
|
|
76
|
+
*
|
|
77
|
+
* @returns {number}
|
|
78
|
+
*/
|
|
79
|
+
hash(): number;
|
|
80
|
+
/**
|
|
81
|
+
* @param {VolumetricLightMap} other
|
|
82
|
+
* @returns {boolean}
|
|
83
|
+
*/
|
|
84
|
+
equals(other: VolumetricLightMap): boolean;
|
|
85
|
+
#private;
|
|
86
|
+
}
|
|
87
|
+
export namespace VolumetricLightMap {
|
|
88
|
+
let typeName: string;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=VolumetricLightMap.d.ts.map
|