@opsydyn/effect-three 0.2.0 → 0.4.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 +21 -1
- package/README.md +14 -1
- package/dist/{index-01kwfekm.js → index-h3vf50fn.js} +2418 -85
- package/dist/index-h3vf50fn.js.map +53 -0
- package/dist/index-ttwy0znv.js +145 -0
- package/dist/index-ttwy0znv.js.map +12 -0
- package/dist/index.js +543 -149
- package/dist/index.js.map +8 -6
- package/dist/kernel/behaviours.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 +197 -6
- package/dist/kernel/build.d.ts.map +1 -1
- package/dist/kernel/cameraMotion.d.ts +3 -1
- package/dist/kernel/cameraMotion.d.ts.map +1 -1
- package/dist/kernel/cameraShake.d.ts +33 -0
- package/dist/kernel/cameraShake.d.ts.map +1 -0
- package/dist/kernel/describeScene.d.ts +50 -0
- package/dist/kernel/describeScene.d.ts.map +1 -0
- package/dist/kernel/description.d.ts +240 -2
- package/dist/kernel/description.d.ts.map +1 -1
- package/dist/kernel/diff.d.ts +18 -1
- package/dist/kernel/diff.d.ts.map +1 -1
- package/dist/kernel/equality.d.ts +13 -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 +13 -2
- package/dist/kernel/index.d.ts.map +1 -1
- package/dist/kernel/index.js +116 -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/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 +12 -0
- package/dist/kernel/pointer.d.ts.map +1 -1
- 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/resources.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 +6 -1
- package/dist/kernel/sceneGraph.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/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 +448 -0
- package/dist/runtime/SceneFile.d.ts.map +1 -0
- package/dist/runtime/SceneSchema.d.ts +614 -5
- 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 +2 -1
- package/src/kernel/behaviours.ts +5 -0
- package/src/kernel/bodySources.ts +1 -1
- package/src/kernel/boxSelect.ts +73 -0
- package/src/kernel/build.ts +430 -0
- package/src/kernel/cameraMotion.ts +3 -0
- package/src/kernel/cameraShake.ts +87 -0
- package/src/kernel/describeScene.ts +224 -0
- package/src/kernel/description.ts +266 -1
- package/src/kernel/diff.ts +46 -1
- package/src/kernel/equality.ts +148 -0
- package/src/kernel/gizmo.ts +478 -0
- package/src/kernel/history.ts +118 -0
- package/src/kernel/index.ts +102 -0
- 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 +5 -0
- package/src/kernel/materials.ts +3 -0
- package/src/kernel/pivot.ts +418 -0
- package/src/kernel/pointBuffers.ts +115 -0
- package/src/kernel/pointer.ts +63 -12
- package/src/kernel/renderKit.ts +23 -1
- package/src/kernel/renderer.ts +6 -0
- package/src/kernel/resources.ts +69 -0
- package/src/kernel/sceneChanges.ts +265 -0
- package/src/kernel/sceneGraph.ts +461 -9
- package/src/kernel/seeded.ts +18 -0
- package/src/kernel/shots.ts +167 -0
- package/src/kernel/tape.ts +124 -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 +305 -4
- 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-01kwfekm.js.map +0 -40
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
__export,
|
|
2
3
|
handJoints2,
|
|
3
4
|
clipTime2,
|
|
4
5
|
clipRunning2,
|
|
@@ -39,6 +40,7 @@ import {
|
|
|
39
40
|
applyTween2,
|
|
40
41
|
fixed2,
|
|
41
42
|
spin2,
|
|
43
|
+
billboard2,
|
|
42
44
|
box2,
|
|
43
45
|
sphere2,
|
|
44
46
|
plane2,
|
|
@@ -46,6 +48,8 @@ import {
|
|
|
46
48
|
torus2,
|
|
47
49
|
cone2,
|
|
48
50
|
capsule2,
|
|
51
|
+
roundedBox2,
|
|
52
|
+
backdrop2,
|
|
49
53
|
ring2,
|
|
50
54
|
circle2,
|
|
51
55
|
text2,
|
|
@@ -64,6 +68,16 @@ import {
|
|
|
64
68
|
lentGeometry2,
|
|
65
69
|
sharedMaterial2,
|
|
66
70
|
group2,
|
|
71
|
+
detailed2,
|
|
72
|
+
line2,
|
|
73
|
+
points2,
|
|
74
|
+
sparkles2,
|
|
75
|
+
stars2,
|
|
76
|
+
catmullRomPoints2,
|
|
77
|
+
catmullRomPointAt2,
|
|
78
|
+
catmullRomColors2,
|
|
79
|
+
cubicBezierPoints2,
|
|
80
|
+
quadraticBezierPoints2,
|
|
67
81
|
headSpace2,
|
|
68
82
|
jointSpace2,
|
|
69
83
|
controllerSpace2,
|
|
@@ -74,6 +88,8 @@ import {
|
|
|
74
88
|
xrMesh2,
|
|
75
89
|
xrAnchor2,
|
|
76
90
|
mesh2,
|
|
91
|
+
trail2,
|
|
92
|
+
edges2,
|
|
77
93
|
body2,
|
|
78
94
|
interactionGroups2,
|
|
79
95
|
cuboidCollider2,
|
|
@@ -108,6 +124,7 @@ import {
|
|
|
108
124
|
hemisphereLight2,
|
|
109
125
|
perspectiveCamera2,
|
|
110
126
|
orthographicCamera2,
|
|
127
|
+
cameraShake2,
|
|
111
128
|
bloom2,
|
|
112
129
|
vignette2,
|
|
113
130
|
film2,
|
|
@@ -119,6 +136,7 @@ import {
|
|
|
119
136
|
sky2,
|
|
120
137
|
contactShadows2,
|
|
121
138
|
overlay2,
|
|
139
|
+
hud2,
|
|
122
140
|
scene2,
|
|
123
141
|
emptyIndex2,
|
|
124
142
|
indexScene2,
|
|
@@ -162,22 +180,48 @@ import {
|
|
|
162
180
|
createPointerTracker2,
|
|
163
181
|
createSceneLoop2,
|
|
164
182
|
recordingRendererFactory2,
|
|
165
|
-
createSceneGraph2
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
183
|
+
createSceneGraph2,
|
|
184
|
+
gizmo2,
|
|
185
|
+
pressGizmo2,
|
|
186
|
+
releaseGizmo2,
|
|
187
|
+
hoverGizmo2,
|
|
188
|
+
dragGizmo2,
|
|
189
|
+
movedAlike2,
|
|
190
|
+
gizmoHandleOf2,
|
|
191
|
+
gizmoNodes2,
|
|
192
|
+
boxSelect2,
|
|
193
|
+
exports_history,
|
|
194
|
+
exports_lockstep,
|
|
195
|
+
thingsBounds2,
|
|
196
|
+
describeScene2,
|
|
197
|
+
formatSummary2,
|
|
198
|
+
shotAngles2,
|
|
199
|
+
shotCamera2,
|
|
200
|
+
moods2,
|
|
201
|
+
moodStaging2,
|
|
202
|
+
inspectFields2,
|
|
203
|
+
setAt2,
|
|
204
|
+
sceneChanges2,
|
|
205
|
+
formatChanges2,
|
|
206
|
+
tape2,
|
|
207
|
+
placeTapeEnd2,
|
|
208
|
+
pointTape2,
|
|
209
|
+
clearTape2,
|
|
210
|
+
tapeLength2,
|
|
211
|
+
tapeMiddle2,
|
|
212
|
+
tapeNodes2,
|
|
213
|
+
pivot2,
|
|
214
|
+
pressPivot2,
|
|
215
|
+
releasePivot2,
|
|
216
|
+
hoverPivot2,
|
|
217
|
+
dragPivot2,
|
|
218
|
+
pivotHandleOf2,
|
|
219
|
+
pivotNodes2,
|
|
220
|
+
viewportGizmoNodes2,
|
|
221
|
+
viewportAxisOf2,
|
|
222
|
+
cameraAlong2
|
|
223
|
+
} from "./index-h3vf50fn.js";
|
|
224
|
+
import"./index-ttwy0znv.js";
|
|
181
225
|
|
|
182
226
|
// src/runtime/FrameSource.ts
|
|
183
227
|
var exports_FrameSource = {};
|
|
@@ -187,17 +231,11 @@ __export(exports_FrameSource, {
|
|
|
187
231
|
layer: () => layer
|
|
188
232
|
});
|
|
189
233
|
|
|
190
|
-
// src/runtime/
|
|
191
|
-
var
|
|
192
|
-
__export(
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
});
|
|
196
|
-
|
|
197
|
-
// src/runtime/SceneRuntime.ts
|
|
198
|
-
var exports_SceneRuntime = {};
|
|
199
|
-
__export(exports_SceneRuntime, {
|
|
200
|
-
make: () => make
|
|
234
|
+
// src/runtime/Inspector.ts
|
|
235
|
+
var exports_Inspector = {};
|
|
236
|
+
__export(exports_Inspector, {
|
|
237
|
+
edit: () => edit,
|
|
238
|
+
fields: () => fields
|
|
201
239
|
});
|
|
202
240
|
|
|
203
241
|
// src/runtime/SceneSchema.ts
|
|
@@ -207,6 +245,7 @@ __export(exports_SceneSchema, {
|
|
|
207
245
|
Animation: () => Animation,
|
|
208
246
|
AutoRotatedDetail: () => AutoRotatedDetail,
|
|
209
247
|
Axis: () => Axis,
|
|
248
|
+
BackdropGeometry: () => BackdropGeometry,
|
|
210
249
|
BasicMaterial: () => BasicMaterial,
|
|
211
250
|
Behave: () => Behave,
|
|
212
251
|
Body: () => Body,
|
|
@@ -215,6 +254,7 @@ __export(exports_SceneSchema, {
|
|
|
215
254
|
BoxGeometry: () => BoxGeometry,
|
|
216
255
|
ButtonDetail: () => ButtonDetail,
|
|
217
256
|
Camera: () => Camera,
|
|
257
|
+
CameraShake: () => CameraShake,
|
|
218
258
|
CapsuleGeometry: () => CapsuleGeometry,
|
|
219
259
|
CircleGeometry: () => CircleGeometry,
|
|
220
260
|
ColliderDescription: () => ColliderDescription,
|
|
@@ -231,10 +271,15 @@ __export(exports_SceneSchema, {
|
|
|
231
271
|
GeometryRef: () => GeometryRef,
|
|
232
272
|
Gesture: () => Gesture,
|
|
233
273
|
GestureDetail: () => GestureDetail,
|
|
274
|
+
GestureEndDetail: () => GestureEndDetail,
|
|
234
275
|
Gestures: () => Gestures,
|
|
276
|
+
Gizmo: () => Gizmo,
|
|
235
277
|
GridNode: () => GridNode,
|
|
236
278
|
HemisphereLightNode: () => HemisphereLightNode,
|
|
279
|
+
History: () => History,
|
|
237
280
|
HitDetail: () => HitDetail,
|
|
281
|
+
Hud: () => Hud,
|
|
282
|
+
HudAlignment: () => HudAlignment,
|
|
238
283
|
Instance: () => Instance,
|
|
239
284
|
InstancesNode: () => InstancesNode,
|
|
240
285
|
InteractionGroups: () => InteractionGroups,
|
|
@@ -246,6 +291,10 @@ __export(exports_SceneSchema, {
|
|
|
246
291
|
LabelMeasuredDetail: () => LabelMeasuredDetail,
|
|
247
292
|
LabelNode: () => LabelNode,
|
|
248
293
|
LambertMaterial: () => LambertMaterial,
|
|
294
|
+
LineNode: () => LineNode,
|
|
295
|
+
Lockstep: () => Lockstep,
|
|
296
|
+
LockstepMember: () => LockstepMember,
|
|
297
|
+
LockstepPacket: () => LockstepPacket,
|
|
249
298
|
MaterialRef: () => MaterialRef,
|
|
250
299
|
MaterialSide: () => MaterialSide,
|
|
251
300
|
MeasuredDetail: () => MeasuredDetail,
|
|
@@ -260,8 +309,13 @@ __export(exports_SceneSchema, {
|
|
|
260
309
|
PhongMaterial: () => PhongMaterial,
|
|
261
310
|
PhysicalMaterial: () => PhysicalMaterial,
|
|
262
311
|
Physics: () => Physics,
|
|
312
|
+
Pivot: () => Pivot,
|
|
313
|
+
PivotHandle: () => PivotHandle,
|
|
314
|
+
Placement: () => Placement,
|
|
263
315
|
PlaneGeometry: () => PlaneGeometry,
|
|
264
316
|
PointLightNode: () => PointLightNode,
|
|
317
|
+
PointLook: () => PointLook,
|
|
318
|
+
PointsNode: () => PointsNode,
|
|
265
319
|
PostEffect: () => PostEffect,
|
|
266
320
|
Ray: () => Ray,
|
|
267
321
|
RenderSettings: () => RenderSettings,
|
|
@@ -270,6 +324,7 @@ __export(exports_SceneSchema, {
|
|
|
270
324
|
Rgb: () => Rgb,
|
|
271
325
|
RingGeometry: () => RingGeometry,
|
|
272
326
|
Rotation: () => Rotation,
|
|
327
|
+
RoundedBoxGeometry: () => RoundedBoxGeometry,
|
|
273
328
|
SceneDescription: () => SceneDescription,
|
|
274
329
|
SceneEvent: () => SceneEvent,
|
|
275
330
|
SceneNode: () => SceneNode,
|
|
@@ -281,8 +336,10 @@ __export(exports_SceneSchema, {
|
|
|
281
336
|
SpotLightNode: () => SpotLightNode,
|
|
282
337
|
StandardMaterial: () => StandardMaterial,
|
|
283
338
|
SurfaceMaterial: () => SurfaceMaterial,
|
|
339
|
+
Tape: () => Tape,
|
|
284
340
|
TextGeometry: () => TextGeometry,
|
|
285
341
|
TorusGeometry: () => TorusGeometry,
|
|
342
|
+
Trail: () => Trail,
|
|
286
343
|
Transition: () => Transition,
|
|
287
344
|
Vec3: () => Vec3,
|
|
288
345
|
View: () => View,
|
|
@@ -299,12 +356,36 @@ __export(exports_SceneSchema, {
|
|
|
299
356
|
XrStickDetail: () => XrStickDetail,
|
|
300
357
|
XrSurfaceDetail: () => XrSurfaceDetail
|
|
301
358
|
});
|
|
359
|
+
|
|
360
|
+
// src/runtime/ResourceRegistry.ts
|
|
361
|
+
var exports_ResourceRegistry = {};
|
|
362
|
+
__export(exports_ResourceRegistry, {
|
|
363
|
+
ResourceRegistry: () => ResourceRegistry,
|
|
364
|
+
layer: () => layer2
|
|
365
|
+
});
|
|
366
|
+
|
|
367
|
+
// src/runtime/SceneFile.ts
|
|
368
|
+
var exports_SceneFile = {};
|
|
369
|
+
__export(exports_SceneFile, {
|
|
370
|
+
SceneFile: () => SceneFile,
|
|
371
|
+
read: () => read,
|
|
372
|
+
save: () => save
|
|
373
|
+
});
|
|
374
|
+
|
|
375
|
+
// src/runtime/SceneRuntime.ts
|
|
376
|
+
var exports_SceneRuntime = {};
|
|
377
|
+
__export(exports_SceneRuntime, {
|
|
378
|
+
make: () => make
|
|
379
|
+
});
|
|
302
380
|
// src/runtime/errors.ts
|
|
303
381
|
import { Data } from "effect";
|
|
304
382
|
|
|
305
383
|
class InvalidScene extends Data.TaggedError("InvalidScene") {
|
|
306
384
|
}
|
|
307
385
|
|
|
386
|
+
class UnreadableScene extends Data.TaggedError("UnreadableScene") {
|
|
387
|
+
}
|
|
388
|
+
|
|
308
389
|
class RendererUnavailable extends Data.TaggedError("RendererUnavailable") {
|
|
309
390
|
}
|
|
310
391
|
// src/runtime/FrameSource.ts
|
|
@@ -328,126 +409,18 @@ var fromScheduler = (scheduler) => ({
|
|
|
328
409
|
class FrameSource extends Context.Service()("effect-three/FrameSource") {
|
|
329
410
|
}
|
|
330
411
|
var layer = (scheduler) => Layer.succeed(FrameSource, fromScheduler(scheduler));
|
|
331
|
-
// src/runtime/
|
|
332
|
-
import {
|
|
333
|
-
|
|
334
|
-
}
|
|
335
|
-
var acquireStore = Effect2.sync(createResourceStore2);
|
|
336
|
-
var toService = (store) => ({ store });
|
|
337
|
-
var scopedStore = Effect2.acquireRelease(acquireStore, (store) => Effect2.sync(store.dispose));
|
|
338
|
-
var layer2 = Layer2.effect(ResourceRegistry, scopedStore.pipe(Effect2.map(toService)));
|
|
339
|
-
// src/runtime/SceneRuntime.ts
|
|
340
|
-
import { Clock, Effect as Effect3, Exit, Match, Option, Queue, Result, Scope, Stream } from "effect";
|
|
341
|
-
var defaultEventCapacity = 64;
|
|
342
|
-
var noBehaviours = {};
|
|
343
|
-
var ignorePlacements = (_placements) => {
|
|
344
|
-
return;
|
|
345
|
-
};
|
|
346
|
-
var nanosPerMillisecond = 1e6;
|
|
347
|
-
var nanosPerSecond = 1e9;
|
|
348
|
-
var toResult = (result) => Match.valueTags(result, {
|
|
349
|
-
Applied: (applied) => Result.succeed(applied.ops),
|
|
350
|
-
Invalid: ({ error }) => Result.fail(new InvalidScene({ error }))
|
|
351
|
-
});
|
|
352
|
-
var applyViewport = (graph, renderer, viewport) => {
|
|
353
|
-
graph.resize(viewport.width, viewport.height);
|
|
354
|
-
renderer.setViewport(viewport);
|
|
355
|
-
};
|
|
356
|
-
var sceneGraph = (registry, behaviours, engines) => () => createSceneGraph2({
|
|
357
|
-
store: registry.store,
|
|
358
|
-
behaviours,
|
|
359
|
-
physics: engines.physics,
|
|
360
|
-
labels: engines.labels,
|
|
361
|
-
kit: engines.renderer.kit
|
|
362
|
-
});
|
|
363
|
-
var reconcileNow = (graph, sceneClock, scene) => {
|
|
364
|
-
graph.tick(sceneClock.elapsedSeconds());
|
|
365
|
-
return graph.reconcile(scene);
|
|
366
|
-
};
|
|
367
|
-
var viewportChange = (graph, renderer, viewport) => () => applyViewport(graph, renderer, viewport);
|
|
368
|
-
var animationChange = (sceneClock, graph, animating) => () => {
|
|
369
|
-
sceneClock.setAnimating(animating);
|
|
370
|
-
graph.setAnimating(animating);
|
|
371
|
-
};
|
|
372
|
-
var acquireGraph = (registry, behaviours, engines) => {
|
|
373
|
-
const create = Effect3.sync(sceneGraph(registry, behaviours, engines));
|
|
374
|
-
return Effect3.acquireRelease(create, (graph) => Effect3.sync(graph.dispose));
|
|
375
|
-
};
|
|
376
|
-
var acquireRenderer = (factory) => {
|
|
377
|
-
const create = Effect3.try({
|
|
378
|
-
try: factory.create,
|
|
379
|
-
catch: (cause) => new RendererUnavailable({ cause })
|
|
380
|
-
});
|
|
381
|
-
return Effect3.acquireRelease(create, (renderer) => Effect3.sync(renderer.dispose));
|
|
382
|
-
};
|
|
383
|
-
var awaitReady = (renderer) => Option.match(Option.fromNullishOr(renderer.ready), {
|
|
384
|
-
onNone: () => Effect3.void,
|
|
385
|
-
onSome: (ready) => Effect3.tryPromise({ try: ready, catch: (cause) => new RendererUnavailable({ cause }) })
|
|
386
|
-
});
|
|
387
|
-
var invalidationListening = (graph, onInvalidated) => () => graph.onInvalidated(onInvalidated);
|
|
388
|
-
var acquireInvalidation = (graph, onInvalidated) => {
|
|
389
|
-
const listen = Effect3.sync(invalidationListening(graph, onInvalidated));
|
|
390
|
-
return Effect3.acquireRelease(listen, Effect3.sync);
|
|
391
|
-
};
|
|
392
|
-
var acquireEvents = (capacity) => {
|
|
393
|
-
const create = Queue.sliding(capacity);
|
|
394
|
-
return Effect3.acquireRelease(create, Queue.shutdown);
|
|
395
|
-
};
|
|
396
|
-
function* startScene(options) {
|
|
397
|
-
const registry = yield* ResourceRegistry;
|
|
398
|
-
const frames = yield* FrameSource;
|
|
399
|
-
const clock = yield* Clock.Clock;
|
|
400
|
-
const graph = yield* acquireGraph(registry, options.behaviours ?? noBehaviours, options);
|
|
401
|
-
const startupOps = yield* Effect3.fromResult(toResult(graph.reconcile(options.scene)));
|
|
402
|
-
const renderer = yield* acquireRenderer(options.renderer);
|
|
403
|
-
yield* awaitReady(renderer);
|
|
404
|
-
applyViewport(graph, renderer, options.viewport);
|
|
405
|
-
const events = yield* acquireEvents(options.eventCapacity ?? defaultEventCapacity);
|
|
406
|
-
const sceneClock = createSceneClock2(() => Number(clock.monotonicTimeNanosUnsafe()) / nanosPerSecond);
|
|
407
|
-
const loop = createSceneLoop2({
|
|
408
|
-
graph,
|
|
409
|
-
renderer,
|
|
410
|
-
elapsedSeconds: sceneClock.elapsedSeconds,
|
|
411
|
-
emit: (event) => {
|
|
412
|
-
Queue.offerUnsafe(events, event);
|
|
413
|
-
},
|
|
414
|
-
now: () => Number(clock.monotonicTimeNanosUnsafe()) / nanosPerMillisecond,
|
|
415
|
-
placeOverlays: options.placeOverlays ?? ignorePlacements
|
|
416
|
-
});
|
|
417
|
-
yield* Effect3.addFinalizer(() => Effect3.sync(loop.dispose));
|
|
418
|
-
const pacer = createFramePacer2(loop);
|
|
419
|
-
pacer.attach(yield* frames.subscribe(pacer.frame));
|
|
420
|
-
yield* acquireInvalidation(graph, pacer.wake);
|
|
421
|
-
return {
|
|
422
|
-
graph,
|
|
423
|
-
startupOps,
|
|
424
|
-
update: (scene) => Effect3.suspend(() => Effect3.fromResult(toResult(reconcileNow(graph, sceneClock, scene)))),
|
|
425
|
-
resize: (viewport) => Effect3.sync(viewportChange(graph, renderer, viewport)),
|
|
426
|
-
setAnimating: (animating) => Effect3.sync(animationChange(sceneClock, graph, animating)),
|
|
427
|
-
advance: Effect3.sync(pacer.advance),
|
|
428
|
-
drawNow: pacer.advance,
|
|
429
|
-
pointer: loop.pointer,
|
|
430
|
-
xrInput: loop.xrInput,
|
|
431
|
-
events: Stream.fromQueue(events),
|
|
432
|
-
drainEvents: Queue.clear(events)
|
|
433
|
-
};
|
|
434
|
-
}
|
|
435
|
-
function* startAtomically(options) {
|
|
436
|
-
const parent = yield* Effect3.scope;
|
|
437
|
-
const child = yield* Scope.fork(parent);
|
|
438
|
-
return yield* Effect3.gen(() => startScene(options)).pipe(Scope.provide(child), Effect3.onError((cause) => Scope.close(child, Exit.failCause(cause))));
|
|
439
|
-
}
|
|
440
|
-
var make = (options) => {
|
|
441
|
-
const program = Effect3.gen(() => startAtomically(options));
|
|
442
|
-
return program.pipe(Effect3.withSpan("effect-three/SceneRuntime.make"));
|
|
443
|
-
};
|
|
412
|
+
// src/runtime/Inspector.ts
|
|
413
|
+
import { Result, Schema as Schema2 } from "effect";
|
|
414
|
+
|
|
444
415
|
// src/runtime/SceneSchema.ts
|
|
445
|
-
import { Schema } from "effect";
|
|
416
|
+
import { Effect as Effect2, Schema } from "effect";
|
|
446
417
|
var NonNegative = Schema.Finite.check(Schema.isGreaterThanOrEqualTo(0));
|
|
447
418
|
var Positive = Schema.Finite.check(Schema.isGreaterThan(0));
|
|
448
419
|
var UnitInterval = Schema.Finite.check(Schema.isBetween({ minimum: 0, maximum: 1 }));
|
|
449
420
|
var Vec3 = Schema.Tuple([Schema.Finite, Schema.Finite, Schema.Finite]);
|
|
450
421
|
var Axis = Schema.Literals(["x", "y", "z"]);
|
|
422
|
+
var absentAsNull = (schema) => Schema.NullOr(schema).pipe(Schema.withDecodingDefaultKey(Effect2.succeed(null)));
|
|
423
|
+
var absentAsFalse = Schema.Boolean.pipe(Schema.withDecodingDefaultKey(Effect2.succeed(false)));
|
|
451
424
|
var Rgb = Schema.Int.check(Schema.isBetween({ minimum: 0, maximum: 16777215 }));
|
|
452
425
|
var Rotation = Schema.Union([
|
|
453
426
|
Schema.TaggedStruct("Fixed", { euler: Vec3 }),
|
|
@@ -455,6 +428,11 @@ var Rotation = Schema.Union([
|
|
|
455
428
|
axis: Axis,
|
|
456
429
|
radiansPerSecond: Schema.Finite,
|
|
457
430
|
phase: Schema.Finite
|
|
431
|
+
}),
|
|
432
|
+
Schema.TaggedStruct("Billboard", {
|
|
433
|
+
lockX: Schema.Boolean,
|
|
434
|
+
lockY: Schema.Boolean,
|
|
435
|
+
lockZ: Schema.Boolean
|
|
458
436
|
})
|
|
459
437
|
]);
|
|
460
438
|
var BoxGeometry = Schema.TaggedStruct("Box", {
|
|
@@ -492,6 +470,20 @@ var CapsuleGeometry = Schema.TaggedStruct("Capsule", {
|
|
|
492
470
|
capSegments: Schema.Int.check(Schema.isGreaterThanOrEqualTo(1)),
|
|
493
471
|
radialSegments: Segments
|
|
494
472
|
});
|
|
473
|
+
var RoundedBoxGeometry = Schema.TaggedStruct("RoundedBox", {
|
|
474
|
+
width: Positive,
|
|
475
|
+
height: Positive,
|
|
476
|
+
depth: Positive,
|
|
477
|
+
radius: NonNegative,
|
|
478
|
+
smoothness: Schema.Int.check(Schema.isGreaterThanOrEqualTo(1)),
|
|
479
|
+
bevelSegments: Schema.Int.check(Schema.isGreaterThanOrEqualTo(1)),
|
|
480
|
+
steps: Schema.Int.check(Schema.isGreaterThanOrEqualTo(1)),
|
|
481
|
+
creaseAngle: NonNegative
|
|
482
|
+
});
|
|
483
|
+
var BackdropGeometry = Schema.TaggedStruct("Backdrop", {
|
|
484
|
+
floor: NonNegative,
|
|
485
|
+
segments: Schema.Int.check(Schema.isGreaterThanOrEqualTo(1))
|
|
486
|
+
});
|
|
495
487
|
var RingGeometry = Schema.TaggedStruct("Ring", {
|
|
496
488
|
innerRadius: NonNegative,
|
|
497
489
|
outerRadius: Positive,
|
|
@@ -529,7 +521,9 @@ var ShapeGeometry = Schema.Union([
|
|
|
529
521
|
ConeGeometry,
|
|
530
522
|
CapsuleGeometry,
|
|
531
523
|
RingGeometry,
|
|
532
|
-
CircleGeometry
|
|
524
|
+
CircleGeometry,
|
|
525
|
+
RoundedBoxGeometry,
|
|
526
|
+
BackdropGeometry
|
|
533
527
|
]);
|
|
534
528
|
var Behave = Schema.Struct({
|
|
535
529
|
name: Schema.String,
|
|
@@ -552,7 +546,8 @@ var shaded = { ...surface, flatShading: Schema.Boolean };
|
|
|
552
546
|
var BasicMaterial = Schema.TaggedStruct("Basic", {
|
|
553
547
|
color: Rgb,
|
|
554
548
|
map: TextureId,
|
|
555
|
-
...surface
|
|
549
|
+
...surface,
|
|
550
|
+
depthTest: Schema.Boolean.pipe(Schema.withDecodingDefaultKey(Effect2.succeed(true)))
|
|
556
551
|
});
|
|
557
552
|
var LambertMaterial = Schema.TaggedStruct("Lambert", {
|
|
558
553
|
color: Rgb,
|
|
@@ -686,6 +681,17 @@ var JointKind = Schema.Union([
|
|
|
686
681
|
damping: Schema.Finite
|
|
687
682
|
})
|
|
688
683
|
]);
|
|
684
|
+
var Trail = absentAsNull(Schema.Struct({
|
|
685
|
+
width: NonNegative,
|
|
686
|
+
length: NonNegative,
|
|
687
|
+
decay: NonNegative,
|
|
688
|
+
local: Schema.Boolean,
|
|
689
|
+
stride: NonNegative,
|
|
690
|
+
interval: NonNegative,
|
|
691
|
+
color: Rgb,
|
|
692
|
+
taper: Schema.Literals(["none", "linear", "quadratic"]),
|
|
693
|
+
fade: Schema.Boolean
|
|
694
|
+
}));
|
|
689
695
|
var Joint = Schema.Struct({
|
|
690
696
|
key: Schema.String,
|
|
691
697
|
a: BodyRef,
|
|
@@ -715,7 +721,19 @@ var MeshNode = Schema.TaggedStruct("Mesh", {
|
|
|
715
721
|
interactive: Schema.Boolean,
|
|
716
722
|
castShadow: Schema.Boolean,
|
|
717
723
|
receiveShadow: Schema.Boolean,
|
|
718
|
-
body: Schema.NullOr(Body)
|
|
724
|
+
body: Schema.NullOr(Body),
|
|
725
|
+
edges: absentAsNull(Schema.Struct({
|
|
726
|
+
threshold: NonNegative,
|
|
727
|
+
color: Rgb,
|
|
728
|
+
width: NonNegative,
|
|
729
|
+
worldUnits: Schema.Boolean,
|
|
730
|
+
dashed: Schema.Boolean,
|
|
731
|
+
dashSize: NonNegative,
|
|
732
|
+
gapSize: NonNegative,
|
|
733
|
+
opacity: NonNegative,
|
|
734
|
+
transparent: Schema.Boolean
|
|
735
|
+
})),
|
|
736
|
+
trail: Trail
|
|
719
737
|
});
|
|
720
738
|
var Instance = Schema.Struct({
|
|
721
739
|
key: Schema.String,
|
|
@@ -754,7 +772,9 @@ var BorrowedNode = Schema.TaggedStruct("Borrowed", {
|
|
|
754
772
|
transition: Transition,
|
|
755
773
|
behaviour: Schema.NullOr(Behave),
|
|
756
774
|
interactive: Schema.Boolean,
|
|
757
|
-
body: Schema.NullOr(Body)
|
|
775
|
+
body: Schema.NullOr(Body),
|
|
776
|
+
castShadow: absentAsFalse,
|
|
777
|
+
receiveShadow: absentAsFalse
|
|
758
778
|
});
|
|
759
779
|
var LabelNode = Schema.TaggedStruct("Label", {
|
|
760
780
|
key: Schema.String,
|
|
@@ -861,6 +881,70 @@ var HemisphereLightNode = Schema.TaggedStruct("HemisphereLight", {
|
|
|
861
881
|
intensity: NonNegative,
|
|
862
882
|
position: Vec3
|
|
863
883
|
});
|
|
884
|
+
var PointLook = Schema.Union([
|
|
885
|
+
Schema.TaggedStruct("Dots", {
|
|
886
|
+
positions: Schema.Array(Vec3),
|
|
887
|
+
colors: Schema.NullOr(Schema.Array(Rgb)),
|
|
888
|
+
sizes: Schema.NullOr(Schema.Array(NonNegative)),
|
|
889
|
+
color: Rgb,
|
|
890
|
+
size: NonNegative,
|
|
891
|
+
sizeAttenuation: Schema.Boolean,
|
|
892
|
+
round: Schema.Boolean,
|
|
893
|
+
opacity: NonNegative,
|
|
894
|
+
transparent: Schema.Boolean
|
|
895
|
+
}),
|
|
896
|
+
Schema.TaggedStruct("Sparkles", {
|
|
897
|
+
count: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),
|
|
898
|
+
speed: Schema.Finite,
|
|
899
|
+
opacity: NonNegative,
|
|
900
|
+
scale: Vec3,
|
|
901
|
+
size: Schema.NullOr(NonNegative),
|
|
902
|
+
color: Rgb,
|
|
903
|
+
noise: Vec3,
|
|
904
|
+
seed: Schema.Finite
|
|
905
|
+
}),
|
|
906
|
+
Schema.TaggedStruct("Stars", {
|
|
907
|
+
radius: NonNegative,
|
|
908
|
+
depth: NonNegative,
|
|
909
|
+
count: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),
|
|
910
|
+
factor: NonNegative,
|
|
911
|
+
saturation: NonNegative,
|
|
912
|
+
fade: Schema.Boolean,
|
|
913
|
+
speed: Schema.Finite,
|
|
914
|
+
seed: Schema.Finite
|
|
915
|
+
})
|
|
916
|
+
]);
|
|
917
|
+
var PointsNode = Schema.TaggedStruct("Points", {
|
|
918
|
+
key: Schema.String,
|
|
919
|
+
position: Vec3,
|
|
920
|
+
rotation: Rotation,
|
|
921
|
+
scale: Vec3,
|
|
922
|
+
transition: Transition,
|
|
923
|
+
behaviour: Schema.NullOr(Behave),
|
|
924
|
+
look: PointLook
|
|
925
|
+
});
|
|
926
|
+
var LineNode = Schema.TaggedStruct("Line", {
|
|
927
|
+
key: Schema.String,
|
|
928
|
+
position: Vec3,
|
|
929
|
+
rotation: Rotation,
|
|
930
|
+
scale: Vec3,
|
|
931
|
+
transition: Transition,
|
|
932
|
+
behaviour: Schema.NullOr(Behave),
|
|
933
|
+
interactive: Schema.Boolean,
|
|
934
|
+
points: Schema.Array(Vec3),
|
|
935
|
+
segments: Schema.Boolean,
|
|
936
|
+
color: Rgb,
|
|
937
|
+
vertexColors: Schema.NullOr(Schema.Array(Rgb)),
|
|
938
|
+
width: NonNegative,
|
|
939
|
+
worldUnits: Schema.Boolean,
|
|
940
|
+
dashed: Schema.Boolean,
|
|
941
|
+
dashSize: NonNegative,
|
|
942
|
+
gapSize: NonNegative,
|
|
943
|
+
dashScale: NonNegative,
|
|
944
|
+
dashOffset: Schema.Finite,
|
|
945
|
+
opacity: NonNegative,
|
|
946
|
+
transparent: Schema.Boolean
|
|
947
|
+
});
|
|
864
948
|
var SceneNode = Schema.Union([
|
|
865
949
|
Schema.TaggedStruct("Group", {
|
|
866
950
|
key: Schema.String,
|
|
@@ -872,12 +956,16 @@ var SceneNode = Schema.Union([
|
|
|
872
956
|
interactive: Schema.Boolean,
|
|
873
957
|
children: Schema.Array(Schema.suspend(() => SceneNode)),
|
|
874
958
|
body: Schema.NullOr(Body),
|
|
875
|
-
follow: Schema.NullOr(XrSpace)
|
|
959
|
+
follow: Schema.NullOr(XrSpace),
|
|
960
|
+
detail: absentAsNull(Schema.Struct({ distances: Schema.Array(NonNegative), hysteresis: NonNegative })),
|
|
961
|
+
trail: Trail
|
|
876
962
|
}),
|
|
877
963
|
MeshNode,
|
|
878
964
|
InstancesNode,
|
|
879
965
|
BorrowedNode,
|
|
880
966
|
LabelNode,
|
|
967
|
+
LineNode,
|
|
968
|
+
PointsNode,
|
|
881
969
|
ShaderGridNode,
|
|
882
970
|
AmbientLightNode,
|
|
883
971
|
DirectionalLightNode,
|
|
@@ -887,6 +975,18 @@ var SceneNode = Schema.Union([
|
|
|
887
975
|
GridNode
|
|
888
976
|
]);
|
|
889
977
|
var CameraDamping = Schema.Finite.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThan(1));
|
|
978
|
+
var CameraShake = Schema.Struct({
|
|
979
|
+
intensity: NonNegative,
|
|
980
|
+
decay: Schema.Boolean,
|
|
981
|
+
decayRate: NonNegative,
|
|
982
|
+
maxYaw: NonNegative,
|
|
983
|
+
maxPitch: NonNegative,
|
|
984
|
+
maxRoll: NonNegative,
|
|
985
|
+
yawFrequency: NonNegative,
|
|
986
|
+
pitchFrequency: NonNegative,
|
|
987
|
+
rollFrequency: NonNegative,
|
|
988
|
+
trigger: Schema.Finite
|
|
989
|
+
});
|
|
890
990
|
var PerspectiveCamera = Schema.TaggedStruct("Perspective", {
|
|
891
991
|
fov: Schema.Finite.check(Schema.isBetween({ minimum: 0, maximum: 180, exclusiveMinimum: true })),
|
|
892
992
|
near: Positive,
|
|
@@ -894,7 +994,8 @@ var PerspectiveCamera = Schema.TaggedStruct("Perspective", {
|
|
|
894
994
|
position: Vec3,
|
|
895
995
|
lookAt: Vec3,
|
|
896
996
|
damping: CameraDamping,
|
|
897
|
-
autoRotate: Schema.Finite
|
|
997
|
+
autoRotate: Schema.Finite,
|
|
998
|
+
shake: absentAsNull(CameraShake)
|
|
898
999
|
});
|
|
899
1000
|
var OrthographicCamera = Schema.TaggedStruct("Orthographic", {
|
|
900
1001
|
zoom: Positive,
|
|
@@ -903,7 +1004,8 @@ var OrthographicCamera = Schema.TaggedStruct("Orthographic", {
|
|
|
903
1004
|
position: Vec3,
|
|
904
1005
|
lookAt: Vec3,
|
|
905
1006
|
damping: CameraDamping,
|
|
906
|
-
autoRotate: Schema.Finite
|
|
1007
|
+
autoRotate: Schema.Finite,
|
|
1008
|
+
shake: absentAsNull(CameraShake)
|
|
907
1009
|
});
|
|
908
1010
|
var Camera = Schema.Union([PerspectiveCamera, OrthographicCamera]);
|
|
909
1011
|
var NonNegativeFinite = Schema.Finite.check(Schema.isGreaterThanOrEqualTo(0));
|
|
@@ -943,6 +1045,22 @@ var RenderTexture = Schema.Struct({
|
|
|
943
1045
|
background: Schema.NullOr(Rgb),
|
|
944
1046
|
children: Schema.Array(SceneNode)
|
|
945
1047
|
});
|
|
1048
|
+
var HudAlignment = Schema.Literals([
|
|
1049
|
+
"top-left",
|
|
1050
|
+
"top-center",
|
|
1051
|
+
"top-right",
|
|
1052
|
+
"center-left",
|
|
1053
|
+
"center-center",
|
|
1054
|
+
"center-right",
|
|
1055
|
+
"bottom-left",
|
|
1056
|
+
"bottom-center",
|
|
1057
|
+
"bottom-right"
|
|
1058
|
+
]);
|
|
1059
|
+
var Hud = Schema.Struct({
|
|
1060
|
+
alignment: HudAlignment,
|
|
1061
|
+
margin: Schema.Tuple([Schema.Finite, Schema.Finite]),
|
|
1062
|
+
children: Schema.Array(SceneNode)
|
|
1063
|
+
});
|
|
946
1064
|
var Overlay = Schema.Struct({
|
|
947
1065
|
key: Schema.String,
|
|
948
1066
|
node: Schema.NullOr(Schema.String),
|
|
@@ -1005,6 +1123,7 @@ var SceneDescription = Schema.Struct({
|
|
|
1005
1123
|
gestures: Gestures,
|
|
1006
1124
|
views: Schema.Array(View),
|
|
1007
1125
|
renderTextures: Schema.Array(RenderTexture),
|
|
1126
|
+
hud: absentAsNull(Hud),
|
|
1008
1127
|
overlays: Schema.Array(Overlay),
|
|
1009
1128
|
environment: Schema.NullOr(Environment),
|
|
1010
1129
|
sky: Schema.NullOr(Sky),
|
|
@@ -1138,6 +1257,12 @@ var AutoRotatedDetail = Schema.Struct({
|
|
|
1138
1257
|
position: Vec3
|
|
1139
1258
|
});
|
|
1140
1259
|
var GestureDetail = Schema.Struct({ gesture: Gesture });
|
|
1260
|
+
var GestureEndDetail = Schema.Struct({
|
|
1261
|
+
button: Schema.Int,
|
|
1262
|
+
modifiers: Modifiers,
|
|
1263
|
+
key: Schema.optionalKey(Schema.String),
|
|
1264
|
+
view: Schema.optionalKey(Schema.String)
|
|
1265
|
+
});
|
|
1141
1266
|
var SceneEvent = Schema.Union([
|
|
1142
1267
|
Schema.TaggedStruct("PointerEnter", HitDetail.fields),
|
|
1143
1268
|
Schema.TaggedStruct("PointerLeave", KeyDetail.fields),
|
|
@@ -1152,6 +1277,7 @@ var SceneEvent = Schema.Union([
|
|
|
1152
1277
|
Schema.TaggedStruct("Drag", DragDetail.fields),
|
|
1153
1278
|
Schema.TaggedStruct("DragEnd", DragDetail.fields),
|
|
1154
1279
|
Schema.TaggedStruct("Gesture", GestureDetail.fields),
|
|
1280
|
+
Schema.TaggedStruct("GestureEnd", GestureEndDetail.fields),
|
|
1155
1281
|
Schema.TaggedStruct("AutoRotated", AutoRotatedDetail.fields),
|
|
1156
1282
|
Schema.TaggedStruct("Collision", CollisionDetail.fields),
|
|
1157
1283
|
Schema.TaggedStruct("Measured", MeasuredDetail.fields),
|
|
@@ -1184,37 +1310,260 @@ var DescriptionError = Schema.Union([
|
|
|
1184
1310
|
Schema.TaggedStruct("UnknownJointBody", { joint: Schema.String, body: Schema.String }),
|
|
1185
1311
|
Schema.TaggedStruct("DuplicateRenderTextureId", { id: Schema.String })
|
|
1186
1312
|
]);
|
|
1313
|
+
var Placement = Schema.Struct({ position: Vec3, rotation: Vec3, scale: Vec3 });
|
|
1314
|
+
var GizmoHandle = Schema.Literals(["x", "y", "z", "xy", "yz", "xz", "xyz"]);
|
|
1315
|
+
var Gizmo = Schema.Struct({
|
|
1316
|
+
mode: Schema.Literals(["translate", "rotate", "scale"]),
|
|
1317
|
+
space: Schema.Literals(["world", "local"]),
|
|
1318
|
+
size: Positive,
|
|
1319
|
+
translationSnap: Schema.NullOr(Positive),
|
|
1320
|
+
rotationSnap: Schema.NullOr(Positive),
|
|
1321
|
+
scaleSnap: Schema.NullOr(Positive),
|
|
1322
|
+
showX: Schema.Boolean,
|
|
1323
|
+
showY: Schema.Boolean,
|
|
1324
|
+
showZ: Schema.Boolean,
|
|
1325
|
+
hovered: Schema.NullOr(GizmoHandle),
|
|
1326
|
+
grab: Schema.NullOr(Schema.Struct({
|
|
1327
|
+
handle: GizmoHandle,
|
|
1328
|
+
start: Placement,
|
|
1329
|
+
from: Vec3,
|
|
1330
|
+
plane: Schema.Struct({ normal: Vec3, constant: Schema.Finite }),
|
|
1331
|
+
eye: Vec3,
|
|
1332
|
+
distance: Schema.Finite
|
|
1333
|
+
}))
|
|
1334
|
+
});
|
|
1335
|
+
var History = (value) => Schema.Struct({
|
|
1336
|
+
entries: Schema.Array(Schema.Struct({
|
|
1337
|
+
id: Schema.Int,
|
|
1338
|
+
parent: Schema.NullOr(Schema.Int),
|
|
1339
|
+
label: Schema.String,
|
|
1340
|
+
value,
|
|
1341
|
+
next: Schema.NullOr(Schema.Int)
|
|
1342
|
+
})),
|
|
1343
|
+
current: Schema.Int
|
|
1344
|
+
});
|
|
1345
|
+
var LockstepEntry = (input) => Schema.Union([
|
|
1346
|
+
Schema.TaggedStruct("Input", { input }),
|
|
1347
|
+
Schema.TaggedStruct("Admit", { peer: Schema.String })
|
|
1348
|
+
]);
|
|
1349
|
+
var LockstepPacket = (input) => Schema.Struct({
|
|
1350
|
+
peer: Schema.String,
|
|
1351
|
+
turn: Schema.Int,
|
|
1352
|
+
entries: Schema.Array(LockstepEntry(input))
|
|
1353
|
+
});
|
|
1354
|
+
var LockstepMember = Schema.Struct({
|
|
1355
|
+
peer: Schema.String,
|
|
1356
|
+
from: Schema.Int,
|
|
1357
|
+
until: Schema.NullOr(Schema.Int)
|
|
1358
|
+
});
|
|
1359
|
+
var Lockstep = (input) => Schema.Struct({
|
|
1360
|
+
self: Schema.String,
|
|
1361
|
+
members: Schema.Array(LockstepMember),
|
|
1362
|
+
turn: Schema.Int,
|
|
1363
|
+
sent: Schema.Int,
|
|
1364
|
+
lead: Schema.Int,
|
|
1365
|
+
pending: Schema.Array(LockstepEntry(input)),
|
|
1366
|
+
received: Schema.Array(LockstepPacket(input))
|
|
1367
|
+
});
|
|
1368
|
+
var Tape = Schema.Struct({
|
|
1369
|
+
from: Schema.NullOr(Vec3),
|
|
1370
|
+
to: Schema.NullOr(Vec3),
|
|
1371
|
+
pointer: Schema.NullOr(Vec3),
|
|
1372
|
+
snap: Schema.NullOr(Positive)
|
|
1373
|
+
});
|
|
1374
|
+
var PivotHandle = Schema.Literals(["arrow", "slider", "rotator", "sphere"].flatMap((kind) => ["x", "y", "z"].map((axis) => `${kind}-${axis}`)));
|
|
1375
|
+
var Pivot = Schema.Struct({
|
|
1376
|
+
scale: Positive,
|
|
1377
|
+
depthTest: Schema.Boolean,
|
|
1378
|
+
disableAxes: Schema.Boolean,
|
|
1379
|
+
disableSliders: Schema.Boolean,
|
|
1380
|
+
disableRotations: Schema.Boolean,
|
|
1381
|
+
disableScaling: Schema.Boolean,
|
|
1382
|
+
hovered: Schema.NullOr(PivotHandle),
|
|
1383
|
+
grab: Schema.NullOr(Schema.Struct({
|
|
1384
|
+
handle: PivotHandle,
|
|
1385
|
+
start: Placement,
|
|
1386
|
+
point: Vec3,
|
|
1387
|
+
e1: Vec3,
|
|
1388
|
+
e2: Vec3,
|
|
1389
|
+
normal: Vec3
|
|
1390
|
+
}))
|
|
1391
|
+
});
|
|
1392
|
+
|
|
1393
|
+
// src/runtime/Inspector.ts
|
|
1394
|
+
var hints = { colours: [Rgb.ast], vectors: [Vec3.ast] };
|
|
1395
|
+
var inspectable = (schema) => schema.ast;
|
|
1396
|
+
var fields = (schema, value) => inspectFields2(inspectable(schema), value, hints);
|
|
1397
|
+
var edit = (schema, value, path, next) => Schema2.decodeUnknownResult(schema)(setAt2(value, path, next)).pipe(Result.mapError((error) => error.message));
|
|
1398
|
+
// src/runtime/ResourceRegistry.ts
|
|
1399
|
+
import { Context as Context2, Effect as Effect3, Layer as Layer2 } from "effect";
|
|
1400
|
+
class ResourceRegistry extends Context2.Service()("effect-three/ResourceRegistry") {
|
|
1401
|
+
}
|
|
1402
|
+
var acquireStore = Effect3.sync(createResourceStore2);
|
|
1403
|
+
var toService = (store) => ({ store });
|
|
1404
|
+
var scopedStore = Effect3.acquireRelease(acquireStore, (store) => Effect3.sync(store.dispose));
|
|
1405
|
+
var layer2 = Layer2.effect(ResourceRegistry, scopedStore.pipe(Effect3.map(toService)));
|
|
1406
|
+
// src/runtime/SceneFile.ts
|
|
1407
|
+
import { Result as Result2, Schema as Schema3 } from "effect";
|
|
1408
|
+
var SceneFile = Schema3.Struct({
|
|
1409
|
+
format: Schema3.Literal("effect-three/scene"),
|
|
1410
|
+
version: Schema3.Literal(1),
|
|
1411
|
+
scene: SceneDescription
|
|
1412
|
+
});
|
|
1413
|
+
var asJson = Schema3.fromJsonString(SceneFile, { space: 2 });
|
|
1414
|
+
var save = (scene) => Schema3.encodeSync(asJson)(SceneFile.make({ format: "effect-three/scene", version: 1, scene }));
|
|
1415
|
+
var unreadable = (error) => new UnreadableScene({ issue: error.message });
|
|
1416
|
+
var read = (text) => Schema3.decodeUnknownResult(asJson)(text).pipe(Result2.map((file) => file.scene), Result2.mapError(unreadable));
|
|
1417
|
+
// src/runtime/SceneRuntime.ts
|
|
1418
|
+
import { Clock, Effect as Effect4, Exit, Match, Option, Queue, Result as Result3, Scope, Stream } from "effect";
|
|
1419
|
+
var defaultEventCapacity = 64;
|
|
1420
|
+
var noBehaviours = {};
|
|
1421
|
+
var ignorePlacements = (_placements) => {
|
|
1422
|
+
return;
|
|
1423
|
+
};
|
|
1424
|
+
var nanosPerMillisecond = 1e6;
|
|
1425
|
+
var nanosPerSecond = 1e9;
|
|
1426
|
+
var toResult = (result) => Match.valueTags(result, {
|
|
1427
|
+
Applied: (applied) => Result3.succeed(applied.ops),
|
|
1428
|
+
Invalid: ({ error }) => Result3.fail(new InvalidScene({ error }))
|
|
1429
|
+
});
|
|
1430
|
+
var applyViewport = (graph, renderer, viewport) => {
|
|
1431
|
+
graph.resize(viewport.width, viewport.height);
|
|
1432
|
+
renderer.setViewport(viewport);
|
|
1433
|
+
};
|
|
1434
|
+
var sceneGraph = (registry, behaviours, engines) => () => createSceneGraph2({
|
|
1435
|
+
store: registry.store,
|
|
1436
|
+
behaviours,
|
|
1437
|
+
physics: engines.physics,
|
|
1438
|
+
labels: engines.labels,
|
|
1439
|
+
kit: engines.renderer.kit
|
|
1440
|
+
});
|
|
1441
|
+
var reconcileNow = (graph, sceneClock, scene) => {
|
|
1442
|
+
graph.tick(sceneClock.elapsedSeconds());
|
|
1443
|
+
return graph.reconcile(scene);
|
|
1444
|
+
};
|
|
1445
|
+
var viewportChange = (graph, renderer, viewport) => () => applyViewport(graph, renderer, viewport);
|
|
1446
|
+
var animationChange = (sceneClock, graph, animating) => () => {
|
|
1447
|
+
sceneClock.setAnimating(animating);
|
|
1448
|
+
graph.setAnimating(animating);
|
|
1449
|
+
};
|
|
1450
|
+
var acquireGraph = (registry, behaviours, engines) => {
|
|
1451
|
+
const create = Effect4.sync(sceneGraph(registry, behaviours, engines));
|
|
1452
|
+
return Effect4.acquireRelease(create, (graph) => Effect4.sync(graph.dispose));
|
|
1453
|
+
};
|
|
1454
|
+
var acquireRenderer = (factory) => {
|
|
1455
|
+
const create = Effect4.try({
|
|
1456
|
+
try: factory.create,
|
|
1457
|
+
catch: (cause) => new RendererUnavailable({ cause })
|
|
1458
|
+
});
|
|
1459
|
+
return Effect4.acquireRelease(create, (renderer) => Effect4.sync(renderer.dispose));
|
|
1460
|
+
};
|
|
1461
|
+
var awaitReady = (renderer) => Option.match(Option.fromNullishOr(renderer.ready), {
|
|
1462
|
+
onNone: () => Effect4.void,
|
|
1463
|
+
onSome: (ready) => Effect4.tryPromise({ try: ready, catch: (cause) => new RendererUnavailable({ cause }) })
|
|
1464
|
+
});
|
|
1465
|
+
var invalidationListening = (graph, onInvalidated) => () => graph.onInvalidated(onInvalidated);
|
|
1466
|
+
var acquireInvalidation = (graph, onInvalidated) => {
|
|
1467
|
+
const listen = Effect4.sync(invalidationListening(graph, onInvalidated));
|
|
1468
|
+
return Effect4.acquireRelease(listen, Effect4.sync);
|
|
1469
|
+
};
|
|
1470
|
+
var acquireEvents = (capacity) => {
|
|
1471
|
+
const create = Queue.sliding(capacity);
|
|
1472
|
+
return Effect4.acquireRelease(create, Queue.shutdown);
|
|
1473
|
+
};
|
|
1474
|
+
function* startScene(options) {
|
|
1475
|
+
const registry = yield* ResourceRegistry;
|
|
1476
|
+
const frames = yield* FrameSource;
|
|
1477
|
+
const clock = yield* Clock.Clock;
|
|
1478
|
+
const graph = yield* acquireGraph(registry, options.behaviours ?? noBehaviours, options);
|
|
1479
|
+
const startupOps = yield* Effect4.fromResult(toResult(graph.reconcile(options.scene)));
|
|
1480
|
+
const renderer = yield* acquireRenderer(options.renderer);
|
|
1481
|
+
yield* awaitReady(renderer);
|
|
1482
|
+
applyViewport(graph, renderer, options.viewport);
|
|
1483
|
+
const events = yield* acquireEvents(options.eventCapacity ?? defaultEventCapacity);
|
|
1484
|
+
const sceneClock = createSceneClock2(() => Number(clock.monotonicTimeNanosUnsafe()) / nanosPerSecond);
|
|
1485
|
+
const loop = createSceneLoop2({
|
|
1486
|
+
graph,
|
|
1487
|
+
renderer,
|
|
1488
|
+
elapsedSeconds: sceneClock.elapsedSeconds,
|
|
1489
|
+
emit: (event) => {
|
|
1490
|
+
Queue.offerUnsafe(events, event);
|
|
1491
|
+
},
|
|
1492
|
+
now: () => Number(clock.monotonicTimeNanosUnsafe()) / nanosPerMillisecond,
|
|
1493
|
+
placeOverlays: options.placeOverlays ?? ignorePlacements
|
|
1494
|
+
});
|
|
1495
|
+
yield* Effect4.addFinalizer(() => Effect4.sync(loop.dispose));
|
|
1496
|
+
const pacer = createFramePacer2(loop);
|
|
1497
|
+
pacer.attach(yield* frames.subscribe(pacer.frame));
|
|
1498
|
+
yield* acquireInvalidation(graph, pacer.wake);
|
|
1499
|
+
return {
|
|
1500
|
+
graph,
|
|
1501
|
+
startupOps,
|
|
1502
|
+
update: (scene) => Effect4.suspend(() => Effect4.fromResult(toResult(reconcileNow(graph, sceneClock, scene)))),
|
|
1503
|
+
resize: (viewport) => Effect4.sync(viewportChange(graph, renderer, viewport)),
|
|
1504
|
+
setAnimating: (animating) => Effect4.sync(animationChange(sceneClock, graph, animating)),
|
|
1505
|
+
advance: Effect4.sync(pacer.advance),
|
|
1506
|
+
drawNow: pacer.advance,
|
|
1507
|
+
pointer: loop.pointer,
|
|
1508
|
+
xrInput: loop.xrInput,
|
|
1509
|
+
events: Stream.fromQueue(events),
|
|
1510
|
+
drainEvents: Queue.clear(events)
|
|
1511
|
+
};
|
|
1512
|
+
}
|
|
1513
|
+
function* startAtomically(options) {
|
|
1514
|
+
const parent = yield* Effect4.scope;
|
|
1515
|
+
const child = yield* Scope.fork(parent);
|
|
1516
|
+
return yield* Effect4.gen(() => startScene(options)).pipe(Scope.provide(child), Effect4.onError((cause) => Scope.close(child, Exit.failCause(cause))));
|
|
1517
|
+
}
|
|
1518
|
+
var make = (options) => {
|
|
1519
|
+
const program = Effect4.gen(() => startAtomically(options));
|
|
1520
|
+
return program.pipe(Effect4.withSpan("effect-three/SceneRuntime.make"));
|
|
1521
|
+
};
|
|
1187
1522
|
export {
|
|
1188
1523
|
exports_FrameSource as FrameSource,
|
|
1524
|
+
exports_history as History,
|
|
1525
|
+
exports_Inspector as Inspector,
|
|
1189
1526
|
InvalidScene,
|
|
1527
|
+
exports_lockstep as Lockstep,
|
|
1190
1528
|
RendererUnavailable,
|
|
1191
1529
|
exports_ResourceRegistry as ResourceRegistry,
|
|
1530
|
+
exports_SceneFile as SceneFile,
|
|
1192
1531
|
exports_SceneRuntime as SceneRuntime,
|
|
1193
1532
|
exports_SceneSchema as SceneSchema,
|
|
1533
|
+
UnreadableScene,
|
|
1194
1534
|
ambientLight2 as ambientLight,
|
|
1195
1535
|
anchorSpace2 as anchorSpace,
|
|
1196
1536
|
animationEquals2 as animationEquals,
|
|
1197
1537
|
applyTween2 as applyTween,
|
|
1198
1538
|
autoRotated2 as autoRotated,
|
|
1539
|
+
backdrop2 as backdrop,
|
|
1199
1540
|
ballCollider2 as ballCollider,
|
|
1200
1541
|
basic2 as basic,
|
|
1201
1542
|
behave2 as behave,
|
|
1202
1543
|
behaviourEquals2 as behaviourEquals,
|
|
1544
|
+
billboard2 as billboard,
|
|
1203
1545
|
bloom2 as bloom,
|
|
1204
1546
|
body2 as body,
|
|
1205
1547
|
bodyEquals2 as bodyEquals,
|
|
1206
1548
|
bodyRef2 as bodyRef,
|
|
1207
1549
|
borrowed2 as borrowed,
|
|
1208
1550
|
box2 as box,
|
|
1551
|
+
boxSelect2 as boxSelect,
|
|
1209
1552
|
buildMaterial2 as buildMaterial,
|
|
1210
1553
|
builtinBehaviours2 as builtinBehaviours,
|
|
1554
|
+
cameraAlong2 as cameraAlong,
|
|
1211
1555
|
cameraEquals2 as cameraEquals,
|
|
1556
|
+
cameraShake2 as cameraShake,
|
|
1212
1557
|
capacityFor2 as capacityFor,
|
|
1213
1558
|
capsule2 as capsule,
|
|
1214
1559
|
capsuleCollider2 as capsuleCollider,
|
|
1560
|
+
catmullRomColors2 as catmullRomColors,
|
|
1561
|
+
catmullRomPointAt2 as catmullRomPointAt,
|
|
1562
|
+
catmullRomPoints2 as catmullRomPoints,
|
|
1215
1563
|
centerOffset2 as centerOffset,
|
|
1216
1564
|
changedFields2 as changedFields,
|
|
1217
1565
|
circle2 as circle,
|
|
1566
|
+
clearTape2 as clearTape,
|
|
1218
1567
|
clipCamera2 as clipCamera,
|
|
1219
1568
|
clipRunning2 as clipRunning,
|
|
1220
1569
|
clipTime2 as clipTime,
|
|
@@ -1239,17 +1588,23 @@ export {
|
|
|
1239
1588
|
createSceneGraph2 as createSceneGraph,
|
|
1240
1589
|
createSceneLoop2 as createSceneLoop,
|
|
1241
1590
|
createXrTracker2 as createXrTracker,
|
|
1591
|
+
cubicBezierPoints2 as cubicBezierPoints,
|
|
1242
1592
|
cuboidCollider2 as cuboidCollider,
|
|
1243
1593
|
cylinder2 as cylinder,
|
|
1244
1594
|
cylinderCollider2 as cylinderCollider,
|
|
1245
1595
|
defaultOrbit2 as defaultOrbit,
|
|
1596
|
+
describeScene2 as describeScene,
|
|
1246
1597
|
describedColliders2 as describedColliders,
|
|
1598
|
+
detailed2 as detailed,
|
|
1247
1599
|
diff2 as diff,
|
|
1248
1600
|
directionalLight2 as directionalLight,
|
|
1249
1601
|
dollyCamera2 as dollyCamera,
|
|
1250
1602
|
dollyCameraToward2 as dollyCameraToward,
|
|
1603
|
+
dragGizmo2 as dragGizmo,
|
|
1604
|
+
dragPivot2 as dragPivot,
|
|
1251
1605
|
ease2 as ease,
|
|
1252
1606
|
easeProgress2 as easeProgress,
|
|
1607
|
+
edges2 as edges,
|
|
1253
1608
|
effectsEqual2 as effectsEqual,
|
|
1254
1609
|
emptyIndex2 as emptyIndex,
|
|
1255
1610
|
environment2 as environment,
|
|
@@ -1261,7 +1616,12 @@ export {
|
|
|
1261
1616
|
fixed2 as fixed,
|
|
1262
1617
|
fixedJoint2 as fixedJoint,
|
|
1263
1618
|
float2 as float,
|
|
1619
|
+
formatChanges2 as formatChanges,
|
|
1620
|
+
formatSummary2 as formatSummary,
|
|
1264
1621
|
geometryRefEquals2 as geometryRefEquals,
|
|
1622
|
+
gizmo2 as gizmo,
|
|
1623
|
+
gizmoHandleOf2 as gizmoHandleOf,
|
|
1624
|
+
gizmoNodes2 as gizmoNodes,
|
|
1265
1625
|
glide2 as glide,
|
|
1266
1626
|
glided2 as glided,
|
|
1267
1627
|
grid2 as grid,
|
|
@@ -1269,7 +1629,11 @@ export {
|
|
|
1269
1629
|
handJoints2 as handJoints,
|
|
1270
1630
|
headSpace2 as headSpace,
|
|
1271
1631
|
hemisphereLight2 as hemisphereLight,
|
|
1632
|
+
hoverGizmo2 as hoverGizmo,
|
|
1633
|
+
hoverPivot2 as hoverPivot,
|
|
1634
|
+
hud2 as hud,
|
|
1272
1635
|
indexScene2 as indexScene,
|
|
1636
|
+
inspectFields2 as inspectFields,
|
|
1273
1637
|
instance2 as instance,
|
|
1274
1638
|
instanceEquals2 as instanceEquals,
|
|
1275
1639
|
instances2 as instances,
|
|
@@ -1282,10 +1646,14 @@ export {
|
|
|
1282
1646
|
label2 as label,
|
|
1283
1647
|
lambert2 as lambert,
|
|
1284
1648
|
lentGeometry2 as lentGeometry,
|
|
1649
|
+
line2 as line,
|
|
1285
1650
|
locomote2 as locomote,
|
|
1286
1651
|
materialRefEquals2 as materialRefEquals,
|
|
1287
1652
|
mesh2 as mesh,
|
|
1288
1653
|
meshSpace2 as meshSpace,
|
|
1654
|
+
moodStaging2 as moodStaging,
|
|
1655
|
+
moods2 as moods,
|
|
1656
|
+
movedAlike2 as movedAlike,
|
|
1289
1657
|
noModifiers2 as noModifiers,
|
|
1290
1658
|
normalMaterial2 as normalMaterial,
|
|
1291
1659
|
orbit2 as orbit,
|
|
@@ -1300,15 +1668,26 @@ export {
|
|
|
1300
1668
|
physical2 as physical,
|
|
1301
1669
|
physics2 as physics,
|
|
1302
1670
|
physicsEquals2 as physicsEquals,
|
|
1671
|
+
pivot2 as pivot,
|
|
1672
|
+
pivotHandleOf2 as pivotHandleOf,
|
|
1673
|
+
pivotNodes2 as pivotNodes,
|
|
1303
1674
|
placeOverlays2 as placeOverlays,
|
|
1675
|
+
placeTapeEnd2 as placeTapeEnd,
|
|
1304
1676
|
plane2 as plane,
|
|
1305
1677
|
planeSpace2 as planeSpace,
|
|
1306
1678
|
play2 as play,
|
|
1307
1679
|
pointLight2 as pointLight,
|
|
1308
1680
|
pointOnPlane2 as pointOnPlane,
|
|
1681
|
+
pointTape2 as pointTape,
|
|
1682
|
+
points2 as points,
|
|
1309
1683
|
positionMotor2 as positionMotor,
|
|
1684
|
+
pressGizmo2 as pressGizmo,
|
|
1685
|
+
pressPivot2 as pressPivot,
|
|
1310
1686
|
prismaticJoint2 as prismaticJoint,
|
|
1687
|
+
quadraticBezierPoints2 as quadraticBezierPoints,
|
|
1311
1688
|
recordingRendererFactory2 as recordingRendererFactory,
|
|
1689
|
+
releaseGizmo2 as releaseGizmo,
|
|
1690
|
+
releasePivot2 as releasePivot,
|
|
1312
1691
|
renderSettings2 as renderSettings,
|
|
1313
1692
|
renderSettingsEquals2 as renderSettingsEquals,
|
|
1314
1693
|
renderTexture2 as renderTexture,
|
|
@@ -1319,14 +1698,20 @@ export {
|
|
|
1319
1698
|
ropeJoint2 as ropeJoint,
|
|
1320
1699
|
rotateCamera2 as rotateCamera,
|
|
1321
1700
|
rotationEquals2 as rotationEquals,
|
|
1701
|
+
roundedBox2 as roundedBox,
|
|
1322
1702
|
scene2 as scene,
|
|
1703
|
+
sceneChanges2 as sceneChanges,
|
|
1704
|
+
setAt2 as setAt,
|
|
1323
1705
|
shaderGrid2 as shaderGrid,
|
|
1324
1706
|
shadowMaterial2 as shadowMaterial,
|
|
1325
1707
|
shapeEquals2 as shapeEquals,
|
|
1326
1708
|
sharedGeometry2 as sharedGeometry,
|
|
1327
1709
|
sharedMaterial2 as sharedMaterial,
|
|
1710
|
+
shotAngles2 as shotAngles,
|
|
1711
|
+
shotCamera2 as shotCamera,
|
|
1328
1712
|
sky2 as sky,
|
|
1329
1713
|
skyEquals2 as skyEquals,
|
|
1714
|
+
sparkles2 as sparkles,
|
|
1330
1715
|
sphere2 as sphere,
|
|
1331
1716
|
sphericalJoint2 as sphericalJoint,
|
|
1332
1717
|
spin2 as spin,
|
|
@@ -1337,16 +1722,25 @@ export {
|
|
|
1337
1722
|
stageBounds2 as stageBounds,
|
|
1338
1723
|
stagePresets2 as stagePresets,
|
|
1339
1724
|
standard2 as standard,
|
|
1725
|
+
stars2 as stars,
|
|
1340
1726
|
startTween2 as startTween,
|
|
1341
1727
|
sunPositionFromAngles2 as sunPositionFromAngles,
|
|
1728
|
+
tape2 as tape,
|
|
1729
|
+
tapeLength2 as tapeLength,
|
|
1730
|
+
tapeMiddle2 as tapeMiddle,
|
|
1731
|
+
tapeNodes2 as tapeNodes,
|
|
1342
1732
|
teleport2 as teleport,
|
|
1343
1733
|
text2 as text,
|
|
1734
|
+
thingsBounds2 as thingsBounds,
|
|
1344
1735
|
torus2 as torus,
|
|
1736
|
+
trail2 as trail,
|
|
1345
1737
|
transitionEquals2 as transitionEquals,
|
|
1346
1738
|
updateMaterial2 as updateMaterial,
|
|
1347
1739
|
vec3Equals2 as vec3Equals,
|
|
1348
1740
|
velocityMotor2 as velocityMotor,
|
|
1349
1741
|
view2 as view,
|
|
1742
|
+
viewportAxisOf2 as viewportAxisOf,
|
|
1743
|
+
viewportGizmoNodes2 as viewportGizmoNodes,
|
|
1350
1744
|
viewsEqual2 as viewsEqual,
|
|
1351
1745
|
vignette2 as vignette,
|
|
1352
1746
|
writeRotation2 as writeRotation,
|
|
@@ -1357,5 +1751,5 @@ export {
|
|
|
1357
1751
|
xrMeshGeometryId2 as xrMeshGeometryId
|
|
1358
1752
|
};
|
|
1359
1753
|
|
|
1360
|
-
//# debugId=
|
|
1754
|
+
//# debugId=B502AD310FB99B5964756E2164756E21
|
|
1361
1755
|
//# sourceMappingURL=index.js.map
|