@opsydyn/effect-three 0.3.0 → 0.6.4
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 +56 -0
- package/README.md +15 -1
- package/dist/{index-8cf8t6by.js → index-re3rrfwd.js} +2935 -104
- package/dist/index-re3rrfwd.js.map +56 -0
- package/dist/index-ttwy0znv.js +145 -0
- package/dist/index-ttwy0znv.js.map +12 -0
- package/dist/index.js +557 -147
- package/dist/index.js.map +8 -6
- package/dist/kernel/bodies.d.ts +20 -1
- package/dist/kernel/bodies.d.ts.map +1 -1
- package/dist/kernel/boxSelect.d.ts +22 -0
- package/dist/kernel/boxSelect.d.ts.map +1 -0
- package/dist/kernel/build.d.ts +165 -7
- package/dist/kernel/build.d.ts.map +1 -1
- package/dist/kernel/cameraShake.d.ts.map +1 -1
- package/dist/kernel/describeScene.d.ts +50 -0
- package/dist/kernel/describeScene.d.ts.map +1 -0
- package/dist/kernel/description.d.ts +223 -1
- package/dist/kernel/description.d.ts.map +1 -1
- package/dist/kernel/diff.d.ts +15 -0
- package/dist/kernel/diff.d.ts.map +1 -1
- package/dist/kernel/equality.d.ts +11 -1
- package/dist/kernel/equality.d.ts.map +1 -1
- package/dist/kernel/gizmo.d.ts +69 -0
- package/dist/kernel/gizmo.d.ts.map +1 -0
- package/dist/kernel/history.d.ts +61 -0
- package/dist/kernel/history.d.ts.map +1 -0
- package/dist/kernel/index.d.ts +19 -6
- package/dist/kernel/index.d.ts.map +1 -1
- package/dist/kernel/index.js +124 -3
- package/dist/kernel/index.js.map +1 -1
- package/dist/kernel/inspect.d.ts +85 -0
- package/dist/kernel/inspect.d.ts.map +1 -0
- package/dist/kernel/lineGeometry.d.ts +25 -0
- package/dist/kernel/lineGeometry.d.ts.map +1 -0
- package/dist/kernel/lockstep.d.ts +114 -0
- package/dist/kernel/lockstep.d.ts.map +1 -0
- package/dist/kernel/loop.d.ts.map +1 -1
- package/dist/kernel/materials.d.ts.map +1 -1
- package/dist/kernel/paintOrder.d.ts +53 -0
- package/dist/kernel/paintOrder.d.ts.map +1 -0
- package/dist/kernel/physics.d.ts +39 -0
- package/dist/kernel/physics.d.ts.map +1 -1
- package/dist/kernel/pivot.d.ts +54 -0
- package/dist/kernel/pivot.d.ts.map +1 -0
- package/dist/kernel/pointBuffers.d.ts +17 -0
- package/dist/kernel/pointBuffers.d.ts.map +1 -0
- package/dist/kernel/pointer.d.ts +31 -1
- package/dist/kernel/pointer.d.ts.map +1 -1
- package/dist/kernel/preview.d.ts +32 -0
- package/dist/kernel/preview.d.ts.map +1 -0
- package/dist/kernel/renderKit.d.ts +21 -1
- package/dist/kernel/renderKit.d.ts.map +1 -1
- package/dist/kernel/renderer.d.ts +6 -0
- package/dist/kernel/renderer.d.ts.map +1 -1
- package/dist/kernel/sceneChanges.d.ts +87 -0
- package/dist/kernel/sceneChanges.d.ts.map +1 -0
- package/dist/kernel/sceneGraph.d.ts +9 -1
- package/dist/kernel/sceneGraph.d.ts.map +1 -1
- package/dist/kernel/sceneIndex.d.ts +5 -0
- package/dist/kernel/sceneIndex.d.ts.map +1 -1
- package/dist/kernel/seeded.d.ts +9 -0
- package/dist/kernel/seeded.d.ts.map +1 -0
- package/dist/kernel/shots.d.ts +26 -0
- package/dist/kernel/shots.d.ts.map +1 -0
- package/dist/kernel/tape.d.ts +38 -0
- package/dist/kernel/tape.d.ts.map +1 -0
- package/dist/kernel/timeline.d.ts +60 -0
- package/dist/kernel/timeline.d.ts.map +1 -0
- package/dist/kernel/trail.d.ts +31 -0
- package/dist/kernel/trail.d.ts.map +1 -0
- package/dist/kernel/viewportGizmo.d.ts +25 -0
- package/dist/kernel/viewportGizmo.d.ts.map +1 -0
- package/dist/runtime/Inspector.d.ts +20 -0
- package/dist/runtime/Inspector.d.ts.map +1 -0
- package/dist/runtime/SceneFile.d.ts +462 -0
- package/dist/runtime/SceneFile.d.ts.map +1 -0
- package/dist/runtime/SceneSchema.d.ts +404 -0
- package/dist/runtime/SceneSchema.d.ts.map +1 -1
- package/dist/runtime/errors.d.ts +9 -0
- package/dist/runtime/errors.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +3 -1
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/webgl/index.d.ts.map +1 -1
- package/dist/webgl/index.js +228 -3
- package/dist/webgl/index.js.map +6 -4
- package/dist/webgl/line.d.ts +4 -0
- package/dist/webgl/line.d.ts.map +1 -0
- package/dist/webgl/points.d.ts +4 -0
- package/dist/webgl/points.d.ts.map +1 -0
- package/dist/webgpu/index.d.ts.map +1 -1
- package/dist/webgpu/index.js +206 -26
- package/dist/webgpu/index.js.map +6 -4
- package/dist/webgpu/line.d.ts +4 -0
- package/dist/webgpu/line.d.ts.map +1 -0
- package/dist/webgpu/points.d.ts +4 -0
- package/dist/webgpu/points.d.ts.map +1 -0
- package/package.json +4 -2
- package/src/kernel/bodies.ts +299 -17
- package/src/kernel/boxSelect.ts +73 -0
- package/src/kernel/build.ts +374 -1
- package/src/kernel/cameraShake.ts +3 -13
- package/src/kernel/describeScene.ts +224 -0
- package/src/kernel/description.ts +243 -0
- package/src/kernel/diff.ts +39 -0
- package/src/kernel/equality.ts +123 -0
- package/src/kernel/gizmo.ts +478 -0
- package/src/kernel/history.ts +118 -0
- package/src/kernel/index.ts +110 -1
- package/src/kernel/inspect.ts +214 -0
- package/src/kernel/lineGeometry.ts +75 -0
- package/src/kernel/lockstep.ts +237 -0
- package/src/kernel/loop.ts +7 -0
- package/src/kernel/materials.ts +3 -0
- package/src/kernel/paintOrder.ts +274 -0
- package/src/kernel/physics.ts +86 -1
- package/src/kernel/pivot.ts +418 -0
- package/src/kernel/pointBuffers.ts +115 -0
- package/src/kernel/pointer.ts +98 -17
- package/src/kernel/preview.ts +467 -0
- package/src/kernel/renderKit.ts +23 -1
- package/src/kernel/renderer.ts +6 -0
- package/src/kernel/sceneChanges.ts +265 -0
- package/src/kernel/sceneGraph.ts +354 -11
- package/src/kernel/sceneIndex.ts +8 -0
- package/src/kernel/seeded.ts +18 -0
- package/src/kernel/shots.ts +167 -0
- package/src/kernel/tape.ts +124 -0
- package/src/kernel/timeline.ts +93 -0
- package/src/kernel/trail.ts +170 -0
- package/src/kernel/viewportGizmo.ts +194 -0
- package/src/runtime/Inspector.ts +43 -0
- package/src/runtime/SceneFile.ts +46 -0
- package/src/runtime/SceneSchema.ts +319 -0
- package/src/runtime/errors.ts +6 -0
- package/src/runtime/index.ts +3 -1
- package/src/webgl/index.ts +4 -0
- package/src/webgl/line.ts +66 -0
- package/src/webgl/points.ts +205 -0
- package/src/webgpu/index.ts +4 -0
- package/src/webgpu/line.ts +67 -0
- package/src/webgpu/points.ts +193 -0
- package/dist/index-8cf8t6by.js.map +0 -41
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
__export,
|
|
2
3
|
handJoints2,
|
|
3
4
|
clipTime2,
|
|
4
5
|
clipRunning2,
|
|
@@ -30,6 +31,7 @@ import {
|
|
|
30
31
|
skyEquals2,
|
|
31
32
|
contactShadowsEquals2,
|
|
32
33
|
bodyEquals2,
|
|
34
|
+
assetsEqual2,
|
|
33
35
|
physicsEquals2,
|
|
34
36
|
xrEquals2,
|
|
35
37
|
capacityFor2,
|
|
@@ -68,6 +70,15 @@ import {
|
|
|
68
70
|
sharedMaterial2,
|
|
69
71
|
group2,
|
|
70
72
|
detailed2,
|
|
73
|
+
line2,
|
|
74
|
+
points2,
|
|
75
|
+
sparkles2,
|
|
76
|
+
stars2,
|
|
77
|
+
catmullRomPoints2,
|
|
78
|
+
catmullRomPointAt2,
|
|
79
|
+
catmullRomColors2,
|
|
80
|
+
cubicBezierPoints2,
|
|
81
|
+
quadraticBezierPoints2,
|
|
71
82
|
headSpace2,
|
|
72
83
|
jointSpace2,
|
|
73
84
|
controllerSpace2,
|
|
@@ -78,6 +89,8 @@ import {
|
|
|
78
89
|
xrMesh2,
|
|
79
90
|
xrAnchor2,
|
|
80
91
|
mesh2,
|
|
92
|
+
trail2,
|
|
93
|
+
edges2,
|
|
81
94
|
body2,
|
|
82
95
|
interactionGroups2,
|
|
83
96
|
cuboidCollider2,
|
|
@@ -123,7 +136,12 @@ import {
|
|
|
123
136
|
sunPositionFromAngles2,
|
|
124
137
|
sky2,
|
|
125
138
|
contactShadows2,
|
|
139
|
+
modelAsset2,
|
|
140
|
+
textureAsset2,
|
|
141
|
+
environmentAsset2,
|
|
142
|
+
fontAsset2,
|
|
126
143
|
overlay2,
|
|
144
|
+
hud2,
|
|
127
145
|
scene2,
|
|
128
146
|
emptyIndex2,
|
|
129
147
|
indexScene2,
|
|
@@ -147,6 +165,8 @@ import {
|
|
|
147
165
|
clipCamera2,
|
|
148
166
|
placeOverlays2,
|
|
149
167
|
interactionBits2,
|
|
168
|
+
snapshotText2,
|
|
169
|
+
snapshotBytes2,
|
|
150
170
|
colliderFor2,
|
|
151
171
|
describedColliders2,
|
|
152
172
|
collidersFor2,
|
|
@@ -167,22 +187,50 @@ import {
|
|
|
167
187
|
createPointerTracker2,
|
|
168
188
|
createSceneLoop2,
|
|
169
189
|
recordingRendererFactory2,
|
|
170
|
-
createSceneGraph2
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
190
|
+
createSceneGraph2,
|
|
191
|
+
previewSvg2,
|
|
192
|
+
gizmo2,
|
|
193
|
+
pressGizmo2,
|
|
194
|
+
releaseGizmo2,
|
|
195
|
+
hoverGizmo2,
|
|
196
|
+
dragGizmo2,
|
|
197
|
+
movedAlike2,
|
|
198
|
+
gizmoHandleOf2,
|
|
199
|
+
gizmoNodes2,
|
|
200
|
+
boxSelect2,
|
|
201
|
+
exports_history,
|
|
202
|
+
exports_lockstep,
|
|
203
|
+
exports_timeline,
|
|
204
|
+
thingsBounds2,
|
|
205
|
+
describeScene2,
|
|
206
|
+
formatSummary2,
|
|
207
|
+
shotAngles2,
|
|
208
|
+
shotCamera2,
|
|
209
|
+
moods2,
|
|
210
|
+
moodStaging2,
|
|
211
|
+
inspectFields2,
|
|
212
|
+
setAt2,
|
|
213
|
+
sceneChanges2,
|
|
214
|
+
formatChanges2,
|
|
215
|
+
tape2,
|
|
216
|
+
placeTapeEnd2,
|
|
217
|
+
pointTape2,
|
|
218
|
+
clearTape2,
|
|
219
|
+
tapeLength2,
|
|
220
|
+
tapeMiddle2,
|
|
221
|
+
tapeNodes2,
|
|
222
|
+
pivot2,
|
|
223
|
+
pressPivot2,
|
|
224
|
+
releasePivot2,
|
|
225
|
+
hoverPivot2,
|
|
226
|
+
dragPivot2,
|
|
227
|
+
pivotHandleOf2,
|
|
228
|
+
pivotNodes2,
|
|
229
|
+
viewportGizmoNodes2,
|
|
230
|
+
viewportAxisOf2,
|
|
231
|
+
cameraAlong2
|
|
232
|
+
} from "./index-re3rrfwd.js";
|
|
233
|
+
import"./index-ttwy0znv.js";
|
|
186
234
|
|
|
187
235
|
// src/runtime/FrameSource.ts
|
|
188
236
|
var exports_FrameSource = {};
|
|
@@ -192,17 +240,11 @@ __export(exports_FrameSource, {
|
|
|
192
240
|
layer: () => layer
|
|
193
241
|
});
|
|
194
242
|
|
|
195
|
-
// src/runtime/
|
|
196
|
-
var
|
|
197
|
-
__export(
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
});
|
|
201
|
-
|
|
202
|
-
// src/runtime/SceneRuntime.ts
|
|
203
|
-
var exports_SceneRuntime = {};
|
|
204
|
-
__export(exports_SceneRuntime, {
|
|
205
|
-
make: () => make
|
|
243
|
+
// src/runtime/Inspector.ts
|
|
244
|
+
var exports_Inspector = {};
|
|
245
|
+
__export(exports_Inspector, {
|
|
246
|
+
edit: () => edit,
|
|
247
|
+
fields: () => fields
|
|
206
248
|
});
|
|
207
249
|
|
|
208
250
|
// src/runtime/SceneSchema.ts
|
|
@@ -210,6 +252,10 @@ var exports_SceneSchema = {};
|
|
|
210
252
|
__export(exports_SceneSchema, {
|
|
211
253
|
AmbientLightNode: () => AmbientLightNode,
|
|
212
254
|
Animation: () => Animation,
|
|
255
|
+
Asset: () => Asset,
|
|
256
|
+
AssetFailedDetail: () => AssetFailedDetail,
|
|
257
|
+
AssetKind: () => AssetKind,
|
|
258
|
+
AssetLoadedDetail: () => AssetLoadedDetail,
|
|
213
259
|
AutoRotatedDetail: () => AutoRotatedDetail,
|
|
214
260
|
Axis: () => Axis,
|
|
215
261
|
BackdropGeometry: () => BackdropGeometry,
|
|
@@ -238,10 +284,15 @@ __export(exports_SceneSchema, {
|
|
|
238
284
|
GeometryRef: () => GeometryRef,
|
|
239
285
|
Gesture: () => Gesture,
|
|
240
286
|
GestureDetail: () => GestureDetail,
|
|
287
|
+
GestureEndDetail: () => GestureEndDetail,
|
|
241
288
|
Gestures: () => Gestures,
|
|
289
|
+
Gizmo: () => Gizmo,
|
|
242
290
|
GridNode: () => GridNode,
|
|
243
291
|
HemisphereLightNode: () => HemisphereLightNode,
|
|
292
|
+
History: () => History,
|
|
244
293
|
HitDetail: () => HitDetail,
|
|
294
|
+
Hud: () => Hud,
|
|
295
|
+
HudAlignment: () => HudAlignment,
|
|
245
296
|
Instance: () => Instance,
|
|
246
297
|
InstancesNode: () => InstancesNode,
|
|
247
298
|
InteractionGroups: () => InteractionGroups,
|
|
@@ -253,6 +304,10 @@ __export(exports_SceneSchema, {
|
|
|
253
304
|
LabelMeasuredDetail: () => LabelMeasuredDetail,
|
|
254
305
|
LabelNode: () => LabelNode,
|
|
255
306
|
LambertMaterial: () => LambertMaterial,
|
|
307
|
+
LineNode: () => LineNode,
|
|
308
|
+
Lockstep: () => Lockstep,
|
|
309
|
+
LockstepMember: () => LockstepMember,
|
|
310
|
+
LockstepPacket: () => LockstepPacket,
|
|
256
311
|
MaterialRef: () => MaterialRef,
|
|
257
312
|
MaterialSide: () => MaterialSide,
|
|
258
313
|
MeasuredDetail: () => MeasuredDetail,
|
|
@@ -267,8 +322,14 @@ __export(exports_SceneSchema, {
|
|
|
267
322
|
PhongMaterial: () => PhongMaterial,
|
|
268
323
|
PhysicalMaterial: () => PhysicalMaterial,
|
|
269
324
|
Physics: () => Physics,
|
|
325
|
+
PhysicsReachedDetail: () => PhysicsReachedDetail,
|
|
326
|
+
Pivot: () => Pivot,
|
|
327
|
+
PivotHandle: () => PivotHandle,
|
|
328
|
+
Placement: () => Placement,
|
|
270
329
|
PlaneGeometry: () => PlaneGeometry,
|
|
271
330
|
PointLightNode: () => PointLightNode,
|
|
331
|
+
PointLook: () => PointLook,
|
|
332
|
+
PointsNode: () => PointsNode,
|
|
272
333
|
PostEffect: () => PostEffect,
|
|
273
334
|
Ray: () => Ray,
|
|
274
335
|
RenderSettings: () => RenderSettings,
|
|
@@ -289,8 +350,11 @@ __export(exports_SceneSchema, {
|
|
|
289
350
|
SpotLightNode: () => SpotLightNode,
|
|
290
351
|
StandardMaterial: () => StandardMaterial,
|
|
291
352
|
SurfaceMaterial: () => SurfaceMaterial,
|
|
353
|
+
Tape: () => Tape,
|
|
292
354
|
TextGeometry: () => TextGeometry,
|
|
355
|
+
Timeline: () => Timeline,
|
|
293
356
|
TorusGeometry: () => TorusGeometry,
|
|
357
|
+
Trail: () => Trail,
|
|
294
358
|
Transition: () => Transition,
|
|
295
359
|
Vec3: () => Vec3,
|
|
296
360
|
View: () => View,
|
|
@@ -307,12 +371,36 @@ __export(exports_SceneSchema, {
|
|
|
307
371
|
XrStickDetail: () => XrStickDetail,
|
|
308
372
|
XrSurfaceDetail: () => XrSurfaceDetail
|
|
309
373
|
});
|
|
374
|
+
|
|
375
|
+
// src/runtime/ResourceRegistry.ts
|
|
376
|
+
var exports_ResourceRegistry = {};
|
|
377
|
+
__export(exports_ResourceRegistry, {
|
|
378
|
+
ResourceRegistry: () => ResourceRegistry,
|
|
379
|
+
layer: () => layer2
|
|
380
|
+
});
|
|
381
|
+
|
|
382
|
+
// src/runtime/SceneFile.ts
|
|
383
|
+
var exports_SceneFile = {};
|
|
384
|
+
__export(exports_SceneFile, {
|
|
385
|
+
SceneFile: () => SceneFile,
|
|
386
|
+
read: () => read,
|
|
387
|
+
save: () => save
|
|
388
|
+
});
|
|
389
|
+
|
|
390
|
+
// src/runtime/SceneRuntime.ts
|
|
391
|
+
var exports_SceneRuntime = {};
|
|
392
|
+
__export(exports_SceneRuntime, {
|
|
393
|
+
make: () => make
|
|
394
|
+
});
|
|
310
395
|
// src/runtime/errors.ts
|
|
311
396
|
import { Data } from "effect";
|
|
312
397
|
|
|
313
398
|
class InvalidScene extends Data.TaggedError("InvalidScene") {
|
|
314
399
|
}
|
|
315
400
|
|
|
401
|
+
class UnreadableScene extends Data.TaggedError("UnreadableScene") {
|
|
402
|
+
}
|
|
403
|
+
|
|
316
404
|
class RendererUnavailable extends Data.TaggedError("RendererUnavailable") {
|
|
317
405
|
}
|
|
318
406
|
// src/runtime/FrameSource.ts
|
|
@@ -336,128 +424,18 @@ var fromScheduler = (scheduler) => ({
|
|
|
336
424
|
class FrameSource extends Context.Service()("effect-three/FrameSource") {
|
|
337
425
|
}
|
|
338
426
|
var layer = (scheduler) => Layer.succeed(FrameSource, fromScheduler(scheduler));
|
|
339
|
-
// src/runtime/
|
|
340
|
-
import {
|
|
341
|
-
|
|
342
|
-
}
|
|
343
|
-
var acquireStore = Effect2.sync(createResourceStore2);
|
|
344
|
-
var toService = (store) => ({ store });
|
|
345
|
-
var scopedStore = Effect2.acquireRelease(acquireStore, (store) => Effect2.sync(store.dispose));
|
|
346
|
-
var layer2 = Layer2.effect(ResourceRegistry, scopedStore.pipe(Effect2.map(toService)));
|
|
347
|
-
// src/runtime/SceneRuntime.ts
|
|
348
|
-
import { Clock, Effect as Effect3, Exit, Match, Option, Queue, Result, Scope, Stream } from "effect";
|
|
349
|
-
var defaultEventCapacity = 64;
|
|
350
|
-
var noBehaviours = {};
|
|
351
|
-
var ignorePlacements = (_placements) => {
|
|
352
|
-
return;
|
|
353
|
-
};
|
|
354
|
-
var nanosPerMillisecond = 1e6;
|
|
355
|
-
var nanosPerSecond = 1e9;
|
|
356
|
-
var toResult = (result) => Match.valueTags(result, {
|
|
357
|
-
Applied: (applied) => Result.succeed(applied.ops),
|
|
358
|
-
Invalid: ({ error }) => Result.fail(new InvalidScene({ error }))
|
|
359
|
-
});
|
|
360
|
-
var applyViewport = (graph, renderer, viewport) => {
|
|
361
|
-
graph.resize(viewport.width, viewport.height);
|
|
362
|
-
renderer.setViewport(viewport);
|
|
363
|
-
};
|
|
364
|
-
var sceneGraph = (registry, behaviours, engines) => () => createSceneGraph2({
|
|
365
|
-
store: registry.store,
|
|
366
|
-
behaviours,
|
|
367
|
-
physics: engines.physics,
|
|
368
|
-
labels: engines.labels,
|
|
369
|
-
kit: engines.renderer.kit
|
|
370
|
-
});
|
|
371
|
-
var reconcileNow = (graph, sceneClock, scene) => {
|
|
372
|
-
graph.tick(sceneClock.elapsedSeconds());
|
|
373
|
-
return graph.reconcile(scene);
|
|
374
|
-
};
|
|
375
|
-
var viewportChange = (graph, renderer, viewport) => () => applyViewport(graph, renderer, viewport);
|
|
376
|
-
var animationChange = (sceneClock, graph, animating) => () => {
|
|
377
|
-
sceneClock.setAnimating(animating);
|
|
378
|
-
graph.setAnimating(animating);
|
|
379
|
-
};
|
|
380
|
-
var acquireGraph = (registry, behaviours, engines) => {
|
|
381
|
-
const create = Effect3.sync(sceneGraph(registry, behaviours, engines));
|
|
382
|
-
return Effect3.acquireRelease(create, (graph) => Effect3.sync(graph.dispose));
|
|
383
|
-
};
|
|
384
|
-
var acquireRenderer = (factory) => {
|
|
385
|
-
const create = Effect3.try({
|
|
386
|
-
try: factory.create,
|
|
387
|
-
catch: (cause) => new RendererUnavailable({ cause })
|
|
388
|
-
});
|
|
389
|
-
return Effect3.acquireRelease(create, (renderer) => Effect3.sync(renderer.dispose));
|
|
390
|
-
};
|
|
391
|
-
var awaitReady = (renderer) => Option.match(Option.fromNullishOr(renderer.ready), {
|
|
392
|
-
onNone: () => Effect3.void,
|
|
393
|
-
onSome: (ready) => Effect3.tryPromise({ try: ready, catch: (cause) => new RendererUnavailable({ cause }) })
|
|
394
|
-
});
|
|
395
|
-
var invalidationListening = (graph, onInvalidated) => () => graph.onInvalidated(onInvalidated);
|
|
396
|
-
var acquireInvalidation = (graph, onInvalidated) => {
|
|
397
|
-
const listen = Effect3.sync(invalidationListening(graph, onInvalidated));
|
|
398
|
-
return Effect3.acquireRelease(listen, Effect3.sync);
|
|
399
|
-
};
|
|
400
|
-
var acquireEvents = (capacity) => {
|
|
401
|
-
const create = Queue.sliding(capacity);
|
|
402
|
-
return Effect3.acquireRelease(create, Queue.shutdown);
|
|
403
|
-
};
|
|
404
|
-
function* startScene(options) {
|
|
405
|
-
const registry = yield* ResourceRegistry;
|
|
406
|
-
const frames = yield* FrameSource;
|
|
407
|
-
const clock = yield* Clock.Clock;
|
|
408
|
-
const graph = yield* acquireGraph(registry, options.behaviours ?? noBehaviours, options);
|
|
409
|
-
const startupOps = yield* Effect3.fromResult(toResult(graph.reconcile(options.scene)));
|
|
410
|
-
const renderer = yield* acquireRenderer(options.renderer);
|
|
411
|
-
yield* awaitReady(renderer);
|
|
412
|
-
applyViewport(graph, renderer, options.viewport);
|
|
413
|
-
const events = yield* acquireEvents(options.eventCapacity ?? defaultEventCapacity);
|
|
414
|
-
const sceneClock = createSceneClock2(() => Number(clock.monotonicTimeNanosUnsafe()) / nanosPerSecond);
|
|
415
|
-
const loop = createSceneLoop2({
|
|
416
|
-
graph,
|
|
417
|
-
renderer,
|
|
418
|
-
elapsedSeconds: sceneClock.elapsedSeconds,
|
|
419
|
-
emit: (event) => {
|
|
420
|
-
Queue.offerUnsafe(events, event);
|
|
421
|
-
},
|
|
422
|
-
now: () => Number(clock.monotonicTimeNanosUnsafe()) / nanosPerMillisecond,
|
|
423
|
-
placeOverlays: options.placeOverlays ?? ignorePlacements
|
|
424
|
-
});
|
|
425
|
-
yield* Effect3.addFinalizer(() => Effect3.sync(loop.dispose));
|
|
426
|
-
const pacer = createFramePacer2(loop);
|
|
427
|
-
pacer.attach(yield* frames.subscribe(pacer.frame));
|
|
428
|
-
yield* acquireInvalidation(graph, pacer.wake);
|
|
429
|
-
return {
|
|
430
|
-
graph,
|
|
431
|
-
startupOps,
|
|
432
|
-
update: (scene) => Effect3.suspend(() => Effect3.fromResult(toResult(reconcileNow(graph, sceneClock, scene)))),
|
|
433
|
-
resize: (viewport) => Effect3.sync(viewportChange(graph, renderer, viewport)),
|
|
434
|
-
setAnimating: (animating) => Effect3.sync(animationChange(sceneClock, graph, animating)),
|
|
435
|
-
advance: Effect3.sync(pacer.advance),
|
|
436
|
-
drawNow: pacer.advance,
|
|
437
|
-
pointer: loop.pointer,
|
|
438
|
-
xrInput: loop.xrInput,
|
|
439
|
-
events: Stream.fromQueue(events),
|
|
440
|
-
drainEvents: Queue.clear(events)
|
|
441
|
-
};
|
|
442
|
-
}
|
|
443
|
-
function* startAtomically(options) {
|
|
444
|
-
const parent = yield* Effect3.scope;
|
|
445
|
-
const child = yield* Scope.fork(parent);
|
|
446
|
-
return yield* Effect3.gen(() => startScene(options)).pipe(Scope.provide(child), Effect3.onError((cause) => Scope.close(child, Exit.failCause(cause))));
|
|
447
|
-
}
|
|
448
|
-
var make = (options) => {
|
|
449
|
-
const program = Effect3.gen(() => startAtomically(options));
|
|
450
|
-
return program.pipe(Effect3.withSpan("effect-three/SceneRuntime.make"));
|
|
451
|
-
};
|
|
427
|
+
// src/runtime/Inspector.ts
|
|
428
|
+
import { Result, Schema as Schema2 } from "effect";
|
|
429
|
+
|
|
452
430
|
// src/runtime/SceneSchema.ts
|
|
453
|
-
import { Effect as
|
|
431
|
+
import { Effect as Effect2, Schema } from "effect";
|
|
454
432
|
var NonNegative = Schema.Finite.check(Schema.isGreaterThanOrEqualTo(0));
|
|
455
433
|
var Positive = Schema.Finite.check(Schema.isGreaterThan(0));
|
|
456
434
|
var UnitInterval = Schema.Finite.check(Schema.isBetween({ minimum: 0, maximum: 1 }));
|
|
457
435
|
var Vec3 = Schema.Tuple([Schema.Finite, Schema.Finite, Schema.Finite]);
|
|
458
436
|
var Axis = Schema.Literals(["x", "y", "z"]);
|
|
459
|
-
var absentAsNull = (schema) => Schema.NullOr(schema).pipe(Schema.withDecodingDefaultKey(
|
|
460
|
-
var absentAsFalse = Schema.Boolean.pipe(Schema.withDecodingDefaultKey(
|
|
437
|
+
var absentAsNull = (schema) => Schema.NullOr(schema).pipe(Schema.withDecodingDefaultKey(Effect2.succeed(null)));
|
|
438
|
+
var absentAsFalse = Schema.Boolean.pipe(Schema.withDecodingDefaultKey(Effect2.succeed(false)));
|
|
461
439
|
var Rgb = Schema.Int.check(Schema.isBetween({ minimum: 0, maximum: 16777215 }));
|
|
462
440
|
var Rotation = Schema.Union([
|
|
463
441
|
Schema.TaggedStruct("Fixed", { euler: Vec3 }),
|
|
@@ -583,7 +561,8 @@ var shaded = { ...surface, flatShading: Schema.Boolean };
|
|
|
583
561
|
var BasicMaterial = Schema.TaggedStruct("Basic", {
|
|
584
562
|
color: Rgb,
|
|
585
563
|
map: TextureId,
|
|
586
|
-
...surface
|
|
564
|
+
...surface,
|
|
565
|
+
depthTest: Schema.Boolean.pipe(Schema.withDecodingDefaultKey(Effect2.succeed(true)))
|
|
587
566
|
});
|
|
588
567
|
var LambertMaterial = Schema.TaggedStruct("Lambert", {
|
|
589
568
|
color: Rgb,
|
|
@@ -717,6 +696,17 @@ var JointKind = Schema.Union([
|
|
|
717
696
|
damping: Schema.Finite
|
|
718
697
|
})
|
|
719
698
|
]);
|
|
699
|
+
var Trail = absentAsNull(Schema.Struct({
|
|
700
|
+
width: NonNegative,
|
|
701
|
+
length: NonNegative,
|
|
702
|
+
decay: NonNegative,
|
|
703
|
+
local: Schema.Boolean,
|
|
704
|
+
stride: NonNegative,
|
|
705
|
+
interval: NonNegative,
|
|
706
|
+
color: Rgb,
|
|
707
|
+
taper: Schema.Literals(["none", "linear", "quadratic"]),
|
|
708
|
+
fade: Schema.Boolean
|
|
709
|
+
}));
|
|
720
710
|
var Joint = Schema.Struct({
|
|
721
711
|
key: Schema.String,
|
|
722
712
|
a: BodyRef,
|
|
@@ -726,11 +716,17 @@ var Joint = Schema.Struct({
|
|
|
726
716
|
kind: JointKind,
|
|
727
717
|
contacts: Schema.Boolean
|
|
728
718
|
});
|
|
719
|
+
var StepCount = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
|
|
729
720
|
var Physics = Schema.Struct({
|
|
730
721
|
gravity: Vec3,
|
|
731
722
|
paused: Schema.Boolean,
|
|
732
723
|
timeStep: Positive,
|
|
733
724
|
interpolate: Schema.Boolean,
|
|
725
|
+
until: absentAsNull(StepCount),
|
|
726
|
+
run: Schema.Int.pipe(Schema.withDecodingDefaultKey(Effect2.succeed(0))),
|
|
727
|
+
snapshotAt: absentAsNull(StepCount),
|
|
728
|
+
from: absentAsNull(Schema.Struct({ step: StepCount, snapshot: Schema.NullOr(Schema.String) })),
|
|
729
|
+
keep: StepCount.pipe(Schema.withDecodingDefaultKey(Effect2.succeed(0))),
|
|
734
730
|
debug: Schema.Boolean,
|
|
735
731
|
joints: Schema.Array(Joint)
|
|
736
732
|
});
|
|
@@ -746,7 +742,19 @@ var MeshNode = Schema.TaggedStruct("Mesh", {
|
|
|
746
742
|
interactive: Schema.Boolean,
|
|
747
743
|
castShadow: Schema.Boolean,
|
|
748
744
|
receiveShadow: Schema.Boolean,
|
|
749
|
-
body: Schema.NullOr(Body)
|
|
745
|
+
body: Schema.NullOr(Body),
|
|
746
|
+
edges: absentAsNull(Schema.Struct({
|
|
747
|
+
threshold: NonNegative,
|
|
748
|
+
color: Rgb,
|
|
749
|
+
width: NonNegative,
|
|
750
|
+
worldUnits: Schema.Boolean,
|
|
751
|
+
dashed: Schema.Boolean,
|
|
752
|
+
dashSize: NonNegative,
|
|
753
|
+
gapSize: NonNegative,
|
|
754
|
+
opacity: NonNegative,
|
|
755
|
+
transparent: Schema.Boolean
|
|
756
|
+
})),
|
|
757
|
+
trail: Trail
|
|
750
758
|
});
|
|
751
759
|
var Instance = Schema.Struct({
|
|
752
760
|
key: Schema.String,
|
|
@@ -894,6 +902,70 @@ var HemisphereLightNode = Schema.TaggedStruct("HemisphereLight", {
|
|
|
894
902
|
intensity: NonNegative,
|
|
895
903
|
position: Vec3
|
|
896
904
|
});
|
|
905
|
+
var PointLook = Schema.Union([
|
|
906
|
+
Schema.TaggedStruct("Dots", {
|
|
907
|
+
positions: Schema.Array(Vec3),
|
|
908
|
+
colors: Schema.NullOr(Schema.Array(Rgb)),
|
|
909
|
+
sizes: Schema.NullOr(Schema.Array(NonNegative)),
|
|
910
|
+
color: Rgb,
|
|
911
|
+
size: NonNegative,
|
|
912
|
+
sizeAttenuation: Schema.Boolean,
|
|
913
|
+
round: Schema.Boolean,
|
|
914
|
+
opacity: NonNegative,
|
|
915
|
+
transparent: Schema.Boolean
|
|
916
|
+
}),
|
|
917
|
+
Schema.TaggedStruct("Sparkles", {
|
|
918
|
+
count: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),
|
|
919
|
+
speed: Schema.Finite,
|
|
920
|
+
opacity: NonNegative,
|
|
921
|
+
scale: Vec3,
|
|
922
|
+
size: Schema.NullOr(NonNegative),
|
|
923
|
+
color: Rgb,
|
|
924
|
+
noise: Vec3,
|
|
925
|
+
seed: Schema.Finite
|
|
926
|
+
}),
|
|
927
|
+
Schema.TaggedStruct("Stars", {
|
|
928
|
+
radius: NonNegative,
|
|
929
|
+
depth: NonNegative,
|
|
930
|
+
count: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),
|
|
931
|
+
factor: NonNegative,
|
|
932
|
+
saturation: NonNegative,
|
|
933
|
+
fade: Schema.Boolean,
|
|
934
|
+
speed: Schema.Finite,
|
|
935
|
+
seed: Schema.Finite
|
|
936
|
+
})
|
|
937
|
+
]);
|
|
938
|
+
var PointsNode = Schema.TaggedStruct("Points", {
|
|
939
|
+
key: Schema.String,
|
|
940
|
+
position: Vec3,
|
|
941
|
+
rotation: Rotation,
|
|
942
|
+
scale: Vec3,
|
|
943
|
+
transition: Transition,
|
|
944
|
+
behaviour: Schema.NullOr(Behave),
|
|
945
|
+
look: PointLook
|
|
946
|
+
});
|
|
947
|
+
var LineNode = Schema.TaggedStruct("Line", {
|
|
948
|
+
key: Schema.String,
|
|
949
|
+
position: Vec3,
|
|
950
|
+
rotation: Rotation,
|
|
951
|
+
scale: Vec3,
|
|
952
|
+
transition: Transition,
|
|
953
|
+
behaviour: Schema.NullOr(Behave),
|
|
954
|
+
interactive: Schema.Boolean,
|
|
955
|
+
points: Schema.Array(Vec3),
|
|
956
|
+
segments: Schema.Boolean,
|
|
957
|
+
color: Rgb,
|
|
958
|
+
vertexColors: Schema.NullOr(Schema.Array(Rgb)),
|
|
959
|
+
width: NonNegative,
|
|
960
|
+
worldUnits: Schema.Boolean,
|
|
961
|
+
dashed: Schema.Boolean,
|
|
962
|
+
dashSize: NonNegative,
|
|
963
|
+
gapSize: NonNegative,
|
|
964
|
+
dashScale: NonNegative,
|
|
965
|
+
dashOffset: Schema.Finite,
|
|
966
|
+
opacity: NonNegative,
|
|
967
|
+
transparent: Schema.Boolean
|
|
968
|
+
});
|
|
897
969
|
var SceneNode = Schema.Union([
|
|
898
970
|
Schema.TaggedStruct("Group", {
|
|
899
971
|
key: Schema.String,
|
|
@@ -906,12 +978,15 @@ var SceneNode = Schema.Union([
|
|
|
906
978
|
children: Schema.Array(Schema.suspend(() => SceneNode)),
|
|
907
979
|
body: Schema.NullOr(Body),
|
|
908
980
|
follow: Schema.NullOr(XrSpace),
|
|
909
|
-
detail: absentAsNull(Schema.Struct({ distances: Schema.Array(NonNegative), hysteresis: NonNegative }))
|
|
981
|
+
detail: absentAsNull(Schema.Struct({ distances: Schema.Array(NonNegative), hysteresis: NonNegative })),
|
|
982
|
+
trail: Trail
|
|
910
983
|
}),
|
|
911
984
|
MeshNode,
|
|
912
985
|
InstancesNode,
|
|
913
986
|
BorrowedNode,
|
|
914
987
|
LabelNode,
|
|
988
|
+
LineNode,
|
|
989
|
+
PointsNode,
|
|
915
990
|
ShaderGridNode,
|
|
916
991
|
AmbientLightNode,
|
|
917
992
|
DirectionalLightNode,
|
|
@@ -991,6 +1066,22 @@ var RenderTexture = Schema.Struct({
|
|
|
991
1066
|
background: Schema.NullOr(Rgb),
|
|
992
1067
|
children: Schema.Array(SceneNode)
|
|
993
1068
|
});
|
|
1069
|
+
var HudAlignment = Schema.Literals([
|
|
1070
|
+
"top-left",
|
|
1071
|
+
"top-center",
|
|
1072
|
+
"top-right",
|
|
1073
|
+
"center-left",
|
|
1074
|
+
"center-center",
|
|
1075
|
+
"center-right",
|
|
1076
|
+
"bottom-left",
|
|
1077
|
+
"bottom-center",
|
|
1078
|
+
"bottom-right"
|
|
1079
|
+
]);
|
|
1080
|
+
var Hud = Schema.Struct({
|
|
1081
|
+
alignment: HudAlignment,
|
|
1082
|
+
margin: Schema.Tuple([Schema.Finite, Schema.Finite]),
|
|
1083
|
+
children: Schema.Array(SceneNode)
|
|
1084
|
+
});
|
|
994
1085
|
var Overlay = Schema.Struct({
|
|
995
1086
|
key: Schema.String,
|
|
996
1087
|
node: Schema.NullOr(Schema.String),
|
|
@@ -1048,11 +1139,19 @@ var Xr = Schema.Struct({
|
|
|
1048
1139
|
}))
|
|
1049
1140
|
});
|
|
1050
1141
|
var Gestures = Schema.Literals(["page", "scene"]);
|
|
1142
|
+
var AssetKind = Schema.Literals(["model", "texture", "environment", "font"]);
|
|
1143
|
+
var Asset = Schema.Struct({
|
|
1144
|
+
kind: AssetKind,
|
|
1145
|
+
id: Schema.String,
|
|
1146
|
+
url: Schema.String,
|
|
1147
|
+
levels: Schema.Array(Schema.String).pipe(Schema.withDecodingDefaultKey(Effect2.succeed([])))
|
|
1148
|
+
});
|
|
1051
1149
|
var SceneDescription = Schema.Struct({
|
|
1052
1150
|
camera: Camera,
|
|
1053
1151
|
gestures: Gestures,
|
|
1054
1152
|
views: Schema.Array(View),
|
|
1055
1153
|
renderTextures: Schema.Array(RenderTexture),
|
|
1154
|
+
hud: absentAsNull(Hud),
|
|
1056
1155
|
overlays: Schema.Array(Overlay),
|
|
1057
1156
|
environment: Schema.NullOr(Environment),
|
|
1058
1157
|
sky: Schema.NullOr(Sky),
|
|
@@ -1060,10 +1159,28 @@ var SceneDescription = Schema.Struct({
|
|
|
1060
1159
|
physics: Schema.NullOr(Physics),
|
|
1061
1160
|
xr: Schema.NullOr(Xr),
|
|
1062
1161
|
measure: Schema.Array(Schema.String),
|
|
1162
|
+
assets: Schema.Array(Asset).pipe(Schema.withDecodingDefaultKey(Effect2.succeed([]))),
|
|
1063
1163
|
render: RenderSettings,
|
|
1064
1164
|
resources: ResourceDefinitions,
|
|
1065
1165
|
children: Schema.Array(SceneNode)
|
|
1066
1166
|
});
|
|
1167
|
+
var AssetLoadedDetail = Schema.Struct({
|
|
1168
|
+
kind: AssetKind,
|
|
1169
|
+
id: Schema.String,
|
|
1170
|
+
url: Schema.String,
|
|
1171
|
+
levels: Schema.Array(Schema.String),
|
|
1172
|
+
level: Schema.Int,
|
|
1173
|
+
final: Schema.Boolean,
|
|
1174
|
+
parts: Schema.Array(Schema.String),
|
|
1175
|
+
clips: Schema.Array(Schema.String)
|
|
1176
|
+
});
|
|
1177
|
+
var AssetFailedDetail = Schema.Struct({
|
|
1178
|
+
kind: AssetKind,
|
|
1179
|
+
id: Schema.String,
|
|
1180
|
+
url: Schema.String,
|
|
1181
|
+
levels: Schema.Array(Schema.String),
|
|
1182
|
+
reason: Schema.String
|
|
1183
|
+
});
|
|
1067
1184
|
var KeyDetail = Schema.Struct({ key: Schema.String });
|
|
1068
1185
|
var HitDetail = Schema.Struct({
|
|
1069
1186
|
key: Schema.String,
|
|
@@ -1134,6 +1251,12 @@ var CollisionDetail = Schema.Struct({
|
|
|
1134
1251
|
bPart: Schema.optionalKey(Schema.String),
|
|
1135
1252
|
started: Schema.Boolean
|
|
1136
1253
|
});
|
|
1254
|
+
var PhysicsReachedDetail = Schema.Struct({
|
|
1255
|
+
run: Schema.Int,
|
|
1256
|
+
step: StepCount,
|
|
1257
|
+
checksum: Schema.String,
|
|
1258
|
+
snapshot: Schema.optionalKey(Schema.String)
|
|
1259
|
+
});
|
|
1137
1260
|
var XrHand = Schema.Literals(["left", "right", "none"]);
|
|
1138
1261
|
var XrStickDetail = Schema.Struct({
|
|
1139
1262
|
hand: XrHand,
|
|
@@ -1186,6 +1309,12 @@ var AutoRotatedDetail = Schema.Struct({
|
|
|
1186
1309
|
position: Vec3
|
|
1187
1310
|
});
|
|
1188
1311
|
var GestureDetail = Schema.Struct({ gesture: Gesture });
|
|
1312
|
+
var GestureEndDetail = Schema.Struct({
|
|
1313
|
+
button: Schema.Int,
|
|
1314
|
+
modifiers: Modifiers,
|
|
1315
|
+
key: Schema.optionalKey(Schema.String),
|
|
1316
|
+
view: Schema.optionalKey(Schema.String)
|
|
1317
|
+
});
|
|
1189
1318
|
var SceneEvent = Schema.Union([
|
|
1190
1319
|
Schema.TaggedStruct("PointerEnter", HitDetail.fields),
|
|
1191
1320
|
Schema.TaggedStruct("PointerLeave", KeyDetail.fields),
|
|
@@ -1200,11 +1329,13 @@ var SceneEvent = Schema.Union([
|
|
|
1200
1329
|
Schema.TaggedStruct("Drag", DragDetail.fields),
|
|
1201
1330
|
Schema.TaggedStruct("DragEnd", DragDetail.fields),
|
|
1202
1331
|
Schema.TaggedStruct("Gesture", GestureDetail.fields),
|
|
1332
|
+
Schema.TaggedStruct("GestureEnd", GestureEndDetail.fields),
|
|
1203
1333
|
Schema.TaggedStruct("AutoRotated", AutoRotatedDetail.fields),
|
|
1204
1334
|
Schema.TaggedStruct("Collision", CollisionDetail.fields),
|
|
1205
1335
|
Schema.TaggedStruct("Measured", MeasuredDetail.fields),
|
|
1206
1336
|
Schema.TaggedStruct("LabelMeasured", LabelMeasuredDetail.fields),
|
|
1207
1337
|
Schema.TaggedStruct("ContactForce", ContactForceDetail.fields),
|
|
1338
|
+
Schema.TaggedStruct("PhysicsReached", PhysicsReachedDetail.fields),
|
|
1208
1339
|
Schema.TaggedStruct("XrStick", XrStickDetail.fields),
|
|
1209
1340
|
Schema.TaggedStruct("XrButton", XrButtonDetail.fields),
|
|
1210
1341
|
Schema.TaggedStruct("XrSurface", XrSurfaceDetail.fields),
|
|
@@ -1228,21 +1359,244 @@ var DescriptionError = Schema.Union([
|
|
|
1228
1359
|
Schema.TaggedStruct("UnknownOverlayNode", { key: Schema.String, node: Schema.String }),
|
|
1229
1360
|
Schema.TaggedStruct("UnknownOverlayView", { key: Schema.String, view: Schema.String }),
|
|
1230
1361
|
Schema.TaggedStruct("UnknownMeasuredNode", { key: Schema.String }),
|
|
1362
|
+
Schema.TaggedStruct("DuplicateAssetId", { id: Schema.String }),
|
|
1231
1363
|
Schema.TaggedStruct("DuplicateJointKey", { key: Schema.String }),
|
|
1232
1364
|
Schema.TaggedStruct("UnknownJointBody", { joint: Schema.String, body: Schema.String }),
|
|
1233
1365
|
Schema.TaggedStruct("DuplicateRenderTextureId", { id: Schema.String })
|
|
1234
1366
|
]);
|
|
1367
|
+
var Placement = Schema.Struct({ position: Vec3, rotation: Vec3, scale: Vec3 });
|
|
1368
|
+
var GizmoHandle = Schema.Literals(["x", "y", "z", "xy", "yz", "xz", "xyz"]);
|
|
1369
|
+
var Gizmo = Schema.Struct({
|
|
1370
|
+
mode: Schema.Literals(["translate", "rotate", "scale"]),
|
|
1371
|
+
space: Schema.Literals(["world", "local"]),
|
|
1372
|
+
size: Positive,
|
|
1373
|
+
translationSnap: Schema.NullOr(Positive),
|
|
1374
|
+
rotationSnap: Schema.NullOr(Positive),
|
|
1375
|
+
scaleSnap: Schema.NullOr(Positive),
|
|
1376
|
+
showX: Schema.Boolean,
|
|
1377
|
+
showY: Schema.Boolean,
|
|
1378
|
+
showZ: Schema.Boolean,
|
|
1379
|
+
hovered: Schema.NullOr(GizmoHandle),
|
|
1380
|
+
grab: Schema.NullOr(Schema.Struct({
|
|
1381
|
+
handle: GizmoHandle,
|
|
1382
|
+
start: Placement,
|
|
1383
|
+
from: Vec3,
|
|
1384
|
+
plane: Schema.Struct({ normal: Vec3, constant: Schema.Finite }),
|
|
1385
|
+
eye: Vec3,
|
|
1386
|
+
distance: Schema.Finite
|
|
1387
|
+
}))
|
|
1388
|
+
});
|
|
1389
|
+
var History = (value) => Schema.Struct({
|
|
1390
|
+
entries: Schema.Array(Schema.Struct({
|
|
1391
|
+
id: Schema.Int,
|
|
1392
|
+
parent: Schema.NullOr(Schema.Int),
|
|
1393
|
+
label: Schema.String,
|
|
1394
|
+
value,
|
|
1395
|
+
next: Schema.NullOr(Schema.Int)
|
|
1396
|
+
})),
|
|
1397
|
+
current: Schema.Int
|
|
1398
|
+
});
|
|
1399
|
+
var LockstepEntry = (input) => Schema.Union([
|
|
1400
|
+
Schema.TaggedStruct("Input", { input }),
|
|
1401
|
+
Schema.TaggedStruct("Admit", { peer: Schema.String })
|
|
1402
|
+
]);
|
|
1403
|
+
var LockstepPacket = (input) => Schema.Struct({
|
|
1404
|
+
peer: Schema.String,
|
|
1405
|
+
turn: Schema.Int,
|
|
1406
|
+
entries: Schema.Array(LockstepEntry(input))
|
|
1407
|
+
});
|
|
1408
|
+
var LockstepMember = Schema.Struct({
|
|
1409
|
+
peer: Schema.String,
|
|
1410
|
+
from: Schema.Int,
|
|
1411
|
+
until: Schema.NullOr(Schema.Int)
|
|
1412
|
+
});
|
|
1413
|
+
var Lockstep = (input) => Schema.Struct({
|
|
1414
|
+
self: Schema.String,
|
|
1415
|
+
members: Schema.Array(LockstepMember),
|
|
1416
|
+
turn: Schema.Int,
|
|
1417
|
+
sent: Schema.Int,
|
|
1418
|
+
lead: Schema.Int,
|
|
1419
|
+
pending: Schema.Array(LockstepEntry(input)),
|
|
1420
|
+
received: Schema.Array(LockstepPacket(input))
|
|
1421
|
+
});
|
|
1422
|
+
var Timeline = (input) => Schema.Struct({
|
|
1423
|
+
inputs: Schema.Array(Schema.Struct({ step: StepCount, input })),
|
|
1424
|
+
applied: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),
|
|
1425
|
+
reached: Schema.NullOr(StepCount),
|
|
1426
|
+
frontier: StepCount
|
|
1427
|
+
});
|
|
1428
|
+
var Tape = Schema.Struct({
|
|
1429
|
+
from: Schema.NullOr(Vec3),
|
|
1430
|
+
to: Schema.NullOr(Vec3),
|
|
1431
|
+
pointer: Schema.NullOr(Vec3),
|
|
1432
|
+
snap: Schema.NullOr(Positive)
|
|
1433
|
+
});
|
|
1434
|
+
var PivotHandle = Schema.Literals(["arrow", "slider", "rotator", "sphere"].flatMap((kind) => ["x", "y", "z"].map((axis) => `${kind}-${axis}`)));
|
|
1435
|
+
var Pivot = Schema.Struct({
|
|
1436
|
+
scale: Positive,
|
|
1437
|
+
depthTest: Schema.Boolean,
|
|
1438
|
+
disableAxes: Schema.Boolean,
|
|
1439
|
+
disableSliders: Schema.Boolean,
|
|
1440
|
+
disableRotations: Schema.Boolean,
|
|
1441
|
+
disableScaling: Schema.Boolean,
|
|
1442
|
+
hovered: Schema.NullOr(PivotHandle),
|
|
1443
|
+
grab: Schema.NullOr(Schema.Struct({
|
|
1444
|
+
handle: PivotHandle,
|
|
1445
|
+
start: Placement,
|
|
1446
|
+
point: Vec3,
|
|
1447
|
+
e1: Vec3,
|
|
1448
|
+
e2: Vec3,
|
|
1449
|
+
normal: Vec3
|
|
1450
|
+
}))
|
|
1451
|
+
});
|
|
1452
|
+
|
|
1453
|
+
// src/runtime/Inspector.ts
|
|
1454
|
+
var hints = { colours: [Rgb.ast], vectors: [Vec3.ast] };
|
|
1455
|
+
var inspectable = (schema) => schema.ast;
|
|
1456
|
+
var fields = (schema, value) => inspectFields2(inspectable(schema), value, hints);
|
|
1457
|
+
var edit = (schema, value, path, next) => Schema2.decodeUnknownResult(schema)(setAt2(value, path, next)).pipe(Result.mapError((error) => error.message));
|
|
1458
|
+
// src/runtime/ResourceRegistry.ts
|
|
1459
|
+
import { Context as Context2, Effect as Effect3, Layer as Layer2 } from "effect";
|
|
1460
|
+
class ResourceRegistry extends Context2.Service()("effect-three/ResourceRegistry") {
|
|
1461
|
+
}
|
|
1462
|
+
var acquireStore = Effect3.sync(createResourceStore2);
|
|
1463
|
+
var toService = (store) => ({ store });
|
|
1464
|
+
var scopedStore = Effect3.acquireRelease(acquireStore, (store) => Effect3.sync(store.dispose));
|
|
1465
|
+
var layer2 = Layer2.effect(ResourceRegistry, scopedStore.pipe(Effect3.map(toService)));
|
|
1466
|
+
// src/runtime/SceneFile.ts
|
|
1467
|
+
import { Result as Result2, Schema as Schema3 } from "effect";
|
|
1468
|
+
var SceneFile = Schema3.Struct({
|
|
1469
|
+
format: Schema3.Literal("effect-three/scene"),
|
|
1470
|
+
version: Schema3.Literal(1),
|
|
1471
|
+
scene: SceneDescription
|
|
1472
|
+
});
|
|
1473
|
+
var asJson = Schema3.fromJsonString(SceneFile, { space: 2 });
|
|
1474
|
+
var save = (scene) => Schema3.encodeSync(asJson)(SceneFile.make({ format: "effect-three/scene", version: 1, scene }));
|
|
1475
|
+
var unreadable = (error) => new UnreadableScene({ issue: error.message });
|
|
1476
|
+
var read = (text) => Schema3.decodeUnknownResult(asJson)(text).pipe(Result2.map((file) => file.scene), Result2.mapError(unreadable));
|
|
1477
|
+
// src/runtime/SceneRuntime.ts
|
|
1478
|
+
import { Clock, Effect as Effect4, Exit, Match, Option, Queue, Result as Result3, Scope, Stream } from "effect";
|
|
1479
|
+
var defaultEventCapacity = 64;
|
|
1480
|
+
var noBehaviours = {};
|
|
1481
|
+
var ignorePlacements = (_placements) => {
|
|
1482
|
+
return;
|
|
1483
|
+
};
|
|
1484
|
+
var nanosPerMillisecond = 1e6;
|
|
1485
|
+
var nanosPerSecond = 1e9;
|
|
1486
|
+
var toResult = (result) => Match.valueTags(result, {
|
|
1487
|
+
Applied: (applied) => Result3.succeed(applied.ops),
|
|
1488
|
+
Invalid: ({ error }) => Result3.fail(new InvalidScene({ error }))
|
|
1489
|
+
});
|
|
1490
|
+
var applyViewport = (graph, renderer, viewport) => {
|
|
1491
|
+
graph.resize(viewport.width, viewport.height);
|
|
1492
|
+
renderer.setViewport(viewport);
|
|
1493
|
+
};
|
|
1494
|
+
var sceneGraph = (registry, behaviours, engines) => () => createSceneGraph2({
|
|
1495
|
+
store: registry.store,
|
|
1496
|
+
behaviours,
|
|
1497
|
+
physics: engines.physics,
|
|
1498
|
+
labels: engines.labels,
|
|
1499
|
+
kit: engines.renderer.kit
|
|
1500
|
+
});
|
|
1501
|
+
var reconcileNow = (graph, sceneClock, scene) => {
|
|
1502
|
+
graph.tick(sceneClock.elapsedSeconds());
|
|
1503
|
+
return graph.reconcile(scene);
|
|
1504
|
+
};
|
|
1505
|
+
var viewportChange = (graph, renderer, viewport) => () => applyViewport(graph, renderer, viewport);
|
|
1506
|
+
var animationChange = (sceneClock, graph, animating) => () => {
|
|
1507
|
+
sceneClock.setAnimating(animating);
|
|
1508
|
+
graph.setAnimating(animating);
|
|
1509
|
+
};
|
|
1510
|
+
var acquireGraph = (registry, behaviours, engines) => {
|
|
1511
|
+
const create = Effect4.sync(sceneGraph(registry, behaviours, engines));
|
|
1512
|
+
return Effect4.acquireRelease(create, (graph) => Effect4.sync(graph.dispose));
|
|
1513
|
+
};
|
|
1514
|
+
var acquireRenderer = (factory) => {
|
|
1515
|
+
const create = Effect4.try({
|
|
1516
|
+
try: factory.create,
|
|
1517
|
+
catch: (cause) => new RendererUnavailable({ cause })
|
|
1518
|
+
});
|
|
1519
|
+
return Effect4.acquireRelease(create, (renderer) => Effect4.sync(renderer.dispose));
|
|
1520
|
+
};
|
|
1521
|
+
var awaitReady = (renderer) => Option.match(Option.fromNullishOr(renderer.ready), {
|
|
1522
|
+
onNone: () => Effect4.void,
|
|
1523
|
+
onSome: (ready) => Effect4.tryPromise({ try: ready, catch: (cause) => new RendererUnavailable({ cause }) })
|
|
1524
|
+
});
|
|
1525
|
+
var invalidationListening = (graph, onInvalidated) => () => graph.onInvalidated(onInvalidated);
|
|
1526
|
+
var acquireInvalidation = (graph, onInvalidated) => {
|
|
1527
|
+
const listen = Effect4.sync(invalidationListening(graph, onInvalidated));
|
|
1528
|
+
return Effect4.acquireRelease(listen, Effect4.sync);
|
|
1529
|
+
};
|
|
1530
|
+
var acquireEvents = (capacity) => {
|
|
1531
|
+
const create = Queue.sliding(capacity);
|
|
1532
|
+
return Effect4.acquireRelease(create, Queue.shutdown);
|
|
1533
|
+
};
|
|
1534
|
+
function* startScene(options) {
|
|
1535
|
+
const registry = yield* ResourceRegistry;
|
|
1536
|
+
const frames = yield* FrameSource;
|
|
1537
|
+
const clock = yield* Clock.Clock;
|
|
1538
|
+
const graph = yield* acquireGraph(registry, options.behaviours ?? noBehaviours, options);
|
|
1539
|
+
const startupOps = yield* Effect4.fromResult(toResult(graph.reconcile(options.scene)));
|
|
1540
|
+
const renderer = yield* acquireRenderer(options.renderer);
|
|
1541
|
+
yield* awaitReady(renderer);
|
|
1542
|
+
applyViewport(graph, renderer, options.viewport);
|
|
1543
|
+
const events = yield* acquireEvents(options.eventCapacity ?? defaultEventCapacity);
|
|
1544
|
+
const sceneClock = createSceneClock2(() => Number(clock.monotonicTimeNanosUnsafe()) / nanosPerSecond);
|
|
1545
|
+
const loop = createSceneLoop2({
|
|
1546
|
+
graph,
|
|
1547
|
+
renderer,
|
|
1548
|
+
elapsedSeconds: sceneClock.elapsedSeconds,
|
|
1549
|
+
emit: (event) => {
|
|
1550
|
+
Queue.offerUnsafe(events, event);
|
|
1551
|
+
},
|
|
1552
|
+
now: () => Number(clock.monotonicTimeNanosUnsafe()) / nanosPerMillisecond,
|
|
1553
|
+
placeOverlays: options.placeOverlays ?? ignorePlacements
|
|
1554
|
+
});
|
|
1555
|
+
yield* Effect4.addFinalizer(() => Effect4.sync(loop.dispose));
|
|
1556
|
+
const pacer = createFramePacer2(loop);
|
|
1557
|
+
pacer.attach(yield* frames.subscribe(pacer.frame));
|
|
1558
|
+
yield* acquireInvalidation(graph, pacer.wake);
|
|
1559
|
+
return {
|
|
1560
|
+
graph,
|
|
1561
|
+
startupOps,
|
|
1562
|
+
update: (scene) => Effect4.suspend(() => Effect4.fromResult(toResult(reconcileNow(graph, sceneClock, scene)))),
|
|
1563
|
+
resize: (viewport) => Effect4.sync(viewportChange(graph, renderer, viewport)),
|
|
1564
|
+
setAnimating: (animating) => Effect4.sync(animationChange(sceneClock, graph, animating)),
|
|
1565
|
+
advance: Effect4.sync(pacer.advance),
|
|
1566
|
+
drawNow: pacer.advance,
|
|
1567
|
+
pointer: loop.pointer,
|
|
1568
|
+
xrInput: loop.xrInput,
|
|
1569
|
+
events: Stream.fromQueue(events),
|
|
1570
|
+
drainEvents: Queue.clear(events)
|
|
1571
|
+
};
|
|
1572
|
+
}
|
|
1573
|
+
function* startAtomically(options) {
|
|
1574
|
+
const parent = yield* Effect4.scope;
|
|
1575
|
+
const child = yield* Scope.fork(parent);
|
|
1576
|
+
return yield* Effect4.gen(() => startScene(options)).pipe(Scope.provide(child), Effect4.onError((cause) => Scope.close(child, Exit.failCause(cause))));
|
|
1577
|
+
}
|
|
1578
|
+
var make = (options) => {
|
|
1579
|
+
const program = Effect4.gen(() => startAtomically(options));
|
|
1580
|
+
return program.pipe(Effect4.withSpan("effect-three/SceneRuntime.make"));
|
|
1581
|
+
};
|
|
1235
1582
|
export {
|
|
1236
1583
|
exports_FrameSource as FrameSource,
|
|
1584
|
+
exports_history as History,
|
|
1585
|
+
exports_Inspector as Inspector,
|
|
1237
1586
|
InvalidScene,
|
|
1587
|
+
exports_lockstep as Lockstep,
|
|
1238
1588
|
RendererUnavailable,
|
|
1239
1589
|
exports_ResourceRegistry as ResourceRegistry,
|
|
1590
|
+
exports_SceneFile as SceneFile,
|
|
1240
1591
|
exports_SceneRuntime as SceneRuntime,
|
|
1241
1592
|
exports_SceneSchema as SceneSchema,
|
|
1593
|
+
exports_timeline as Timeline,
|
|
1594
|
+
UnreadableScene,
|
|
1242
1595
|
ambientLight2 as ambientLight,
|
|
1243
1596
|
anchorSpace2 as anchorSpace,
|
|
1244
1597
|
animationEquals2 as animationEquals,
|
|
1245
1598
|
applyTween2 as applyTween,
|
|
1599
|
+
assetsEqual2 as assetsEqual,
|
|
1246
1600
|
autoRotated2 as autoRotated,
|
|
1247
1601
|
backdrop2 as backdrop,
|
|
1248
1602
|
ballCollider2 as ballCollider,
|
|
@@ -1256,16 +1610,22 @@ export {
|
|
|
1256
1610
|
bodyRef2 as bodyRef,
|
|
1257
1611
|
borrowed2 as borrowed,
|
|
1258
1612
|
box2 as box,
|
|
1613
|
+
boxSelect2 as boxSelect,
|
|
1259
1614
|
buildMaterial2 as buildMaterial,
|
|
1260
1615
|
builtinBehaviours2 as builtinBehaviours,
|
|
1616
|
+
cameraAlong2 as cameraAlong,
|
|
1261
1617
|
cameraEquals2 as cameraEquals,
|
|
1262
1618
|
cameraShake2 as cameraShake,
|
|
1263
1619
|
capacityFor2 as capacityFor,
|
|
1264
1620
|
capsule2 as capsule,
|
|
1265
1621
|
capsuleCollider2 as capsuleCollider,
|
|
1622
|
+
catmullRomColors2 as catmullRomColors,
|
|
1623
|
+
catmullRomPointAt2 as catmullRomPointAt,
|
|
1624
|
+
catmullRomPoints2 as catmullRomPoints,
|
|
1266
1625
|
centerOffset2 as centerOffset,
|
|
1267
1626
|
changedFields2 as changedFields,
|
|
1268
1627
|
circle2 as circle,
|
|
1628
|
+
clearTape2 as clearTape,
|
|
1269
1629
|
clipCamera2 as clipCamera,
|
|
1270
1630
|
clipRunning2 as clipRunning,
|
|
1271
1631
|
clipTime2 as clipTime,
|
|
@@ -1290,21 +1650,27 @@ export {
|
|
|
1290
1650
|
createSceneGraph2 as createSceneGraph,
|
|
1291
1651
|
createSceneLoop2 as createSceneLoop,
|
|
1292
1652
|
createXrTracker2 as createXrTracker,
|
|
1653
|
+
cubicBezierPoints2 as cubicBezierPoints,
|
|
1293
1654
|
cuboidCollider2 as cuboidCollider,
|
|
1294
1655
|
cylinder2 as cylinder,
|
|
1295
1656
|
cylinderCollider2 as cylinderCollider,
|
|
1296
1657
|
defaultOrbit2 as defaultOrbit,
|
|
1658
|
+
describeScene2 as describeScene,
|
|
1297
1659
|
describedColliders2 as describedColliders,
|
|
1298
1660
|
detailed2 as detailed,
|
|
1299
1661
|
diff2 as diff,
|
|
1300
1662
|
directionalLight2 as directionalLight,
|
|
1301
1663
|
dollyCamera2 as dollyCamera,
|
|
1302
1664
|
dollyCameraToward2 as dollyCameraToward,
|
|
1665
|
+
dragGizmo2 as dragGizmo,
|
|
1666
|
+
dragPivot2 as dragPivot,
|
|
1303
1667
|
ease2 as ease,
|
|
1304
1668
|
easeProgress2 as easeProgress,
|
|
1669
|
+
edges2 as edges,
|
|
1305
1670
|
effectsEqual2 as effectsEqual,
|
|
1306
1671
|
emptyIndex2 as emptyIndex,
|
|
1307
1672
|
environment2 as environment,
|
|
1673
|
+
environmentAsset2 as environmentAsset,
|
|
1308
1674
|
environmentEquals2 as environmentEquals,
|
|
1309
1675
|
environmentPresetUrl2 as environmentPresetUrl,
|
|
1310
1676
|
environmentPresets2 as environmentPresets,
|
|
@@ -1313,7 +1679,13 @@ export {
|
|
|
1313
1679
|
fixed2 as fixed,
|
|
1314
1680
|
fixedJoint2 as fixedJoint,
|
|
1315
1681
|
float2 as float,
|
|
1682
|
+
fontAsset2 as fontAsset,
|
|
1683
|
+
formatChanges2 as formatChanges,
|
|
1684
|
+
formatSummary2 as formatSummary,
|
|
1316
1685
|
geometryRefEquals2 as geometryRefEquals,
|
|
1686
|
+
gizmo2 as gizmo,
|
|
1687
|
+
gizmoHandleOf2 as gizmoHandleOf,
|
|
1688
|
+
gizmoNodes2 as gizmoNodes,
|
|
1317
1689
|
glide2 as glide,
|
|
1318
1690
|
glided2 as glided,
|
|
1319
1691
|
grid2 as grid,
|
|
@@ -1321,7 +1693,11 @@ export {
|
|
|
1321
1693
|
handJoints2 as handJoints,
|
|
1322
1694
|
headSpace2 as headSpace,
|
|
1323
1695
|
hemisphereLight2 as hemisphereLight,
|
|
1696
|
+
hoverGizmo2 as hoverGizmo,
|
|
1697
|
+
hoverPivot2 as hoverPivot,
|
|
1698
|
+
hud2 as hud,
|
|
1324
1699
|
indexScene2 as indexScene,
|
|
1700
|
+
inspectFields2 as inspectFields,
|
|
1325
1701
|
instance2 as instance,
|
|
1326
1702
|
instanceEquals2 as instanceEquals,
|
|
1327
1703
|
instances2 as instances,
|
|
@@ -1334,10 +1710,15 @@ export {
|
|
|
1334
1710
|
label2 as label,
|
|
1335
1711
|
lambert2 as lambert,
|
|
1336
1712
|
lentGeometry2 as lentGeometry,
|
|
1713
|
+
line2 as line,
|
|
1337
1714
|
locomote2 as locomote,
|
|
1338
1715
|
materialRefEquals2 as materialRefEquals,
|
|
1339
1716
|
mesh2 as mesh,
|
|
1340
1717
|
meshSpace2 as meshSpace,
|
|
1718
|
+
modelAsset2 as modelAsset,
|
|
1719
|
+
moodStaging2 as moodStaging,
|
|
1720
|
+
moods2 as moods,
|
|
1721
|
+
movedAlike2 as movedAlike,
|
|
1341
1722
|
noModifiers2 as noModifiers,
|
|
1342
1723
|
normalMaterial2 as normalMaterial,
|
|
1343
1724
|
orbit2 as orbit,
|
|
@@ -1352,15 +1733,27 @@ export {
|
|
|
1352
1733
|
physical2 as physical,
|
|
1353
1734
|
physics2 as physics,
|
|
1354
1735
|
physicsEquals2 as physicsEquals,
|
|
1736
|
+
pivot2 as pivot,
|
|
1737
|
+
pivotHandleOf2 as pivotHandleOf,
|
|
1738
|
+
pivotNodes2 as pivotNodes,
|
|
1355
1739
|
placeOverlays2 as placeOverlays,
|
|
1740
|
+
placeTapeEnd2 as placeTapeEnd,
|
|
1356
1741
|
plane2 as plane,
|
|
1357
1742
|
planeSpace2 as planeSpace,
|
|
1358
1743
|
play2 as play,
|
|
1359
1744
|
pointLight2 as pointLight,
|
|
1360
1745
|
pointOnPlane2 as pointOnPlane,
|
|
1746
|
+
pointTape2 as pointTape,
|
|
1747
|
+
points2 as points,
|
|
1361
1748
|
positionMotor2 as positionMotor,
|
|
1749
|
+
pressGizmo2 as pressGizmo,
|
|
1750
|
+
pressPivot2 as pressPivot,
|
|
1751
|
+
previewSvg2 as previewSvg,
|
|
1362
1752
|
prismaticJoint2 as prismaticJoint,
|
|
1753
|
+
quadraticBezierPoints2 as quadraticBezierPoints,
|
|
1363
1754
|
recordingRendererFactory2 as recordingRendererFactory,
|
|
1755
|
+
releaseGizmo2 as releaseGizmo,
|
|
1756
|
+
releasePivot2 as releasePivot,
|
|
1364
1757
|
renderSettings2 as renderSettings,
|
|
1365
1758
|
renderSettingsEquals2 as renderSettingsEquals,
|
|
1366
1759
|
renderTexture2 as renderTexture,
|
|
@@ -1373,13 +1766,20 @@ export {
|
|
|
1373
1766
|
rotationEquals2 as rotationEquals,
|
|
1374
1767
|
roundedBox2 as roundedBox,
|
|
1375
1768
|
scene2 as scene,
|
|
1769
|
+
sceneChanges2 as sceneChanges,
|
|
1770
|
+
setAt2 as setAt,
|
|
1376
1771
|
shaderGrid2 as shaderGrid,
|
|
1377
1772
|
shadowMaterial2 as shadowMaterial,
|
|
1378
1773
|
shapeEquals2 as shapeEquals,
|
|
1379
1774
|
sharedGeometry2 as sharedGeometry,
|
|
1380
1775
|
sharedMaterial2 as sharedMaterial,
|
|
1776
|
+
shotAngles2 as shotAngles,
|
|
1777
|
+
shotCamera2 as shotCamera,
|
|
1381
1778
|
sky2 as sky,
|
|
1382
1779
|
skyEquals2 as skyEquals,
|
|
1780
|
+
snapshotBytes2 as snapshotBytes,
|
|
1781
|
+
snapshotText2 as snapshotText,
|
|
1782
|
+
sparkles2 as sparkles,
|
|
1383
1783
|
sphere2 as sphere,
|
|
1384
1784
|
sphericalJoint2 as sphericalJoint,
|
|
1385
1785
|
spin2 as spin,
|
|
@@ -1390,16 +1790,26 @@ export {
|
|
|
1390
1790
|
stageBounds2 as stageBounds,
|
|
1391
1791
|
stagePresets2 as stagePresets,
|
|
1392
1792
|
standard2 as standard,
|
|
1793
|
+
stars2 as stars,
|
|
1393
1794
|
startTween2 as startTween,
|
|
1394
1795
|
sunPositionFromAngles2 as sunPositionFromAngles,
|
|
1796
|
+
tape2 as tape,
|
|
1797
|
+
tapeLength2 as tapeLength,
|
|
1798
|
+
tapeMiddle2 as tapeMiddle,
|
|
1799
|
+
tapeNodes2 as tapeNodes,
|
|
1395
1800
|
teleport2 as teleport,
|
|
1396
1801
|
text2 as text,
|
|
1802
|
+
textureAsset2 as textureAsset,
|
|
1803
|
+
thingsBounds2 as thingsBounds,
|
|
1397
1804
|
torus2 as torus,
|
|
1805
|
+
trail2 as trail,
|
|
1398
1806
|
transitionEquals2 as transitionEquals,
|
|
1399
1807
|
updateMaterial2 as updateMaterial,
|
|
1400
1808
|
vec3Equals2 as vec3Equals,
|
|
1401
1809
|
velocityMotor2 as velocityMotor,
|
|
1402
1810
|
view2 as view,
|
|
1811
|
+
viewportAxisOf2 as viewportAxisOf,
|
|
1812
|
+
viewportGizmoNodes2 as viewportGizmoNodes,
|
|
1403
1813
|
viewsEqual2 as viewsEqual,
|
|
1404
1814
|
vignette2 as vignette,
|
|
1405
1815
|
writeRotation2 as writeRotation,
|
|
@@ -1410,5 +1820,5 @@ export {
|
|
|
1410
1820
|
xrMeshGeometryId2 as xrMeshGeometryId
|
|
1411
1821
|
};
|
|
1412
1822
|
|
|
1413
|
-
//# debugId=
|
|
1823
|
+
//# debugId=95B403F31DB6CB4364756E2164756E21
|
|
1414
1824
|
//# sourceMappingURL=index.js.map
|