@opsydyn/effect-three-foldkit 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 +51 -0
- package/README.md +4 -2
- package/dist/assetRegistry.d.ts +49 -0
- package/dist/assetRegistry.d.ts.map +1 -0
- package/dist/assets.d.ts +18 -5
- package/dist/assets.d.ts.map +1 -1
- package/dist/boxSelect.d.ts +150 -0
- package/dist/boxSelect.d.ts.map +1 -0
- package/dist/dom/canvas.d.ts +7 -0
- package/dist/dom/canvas.d.ts.map +1 -1
- package/dist/dom/pointer.d.ts.map +1 -1
- package/dist/dom/webgl.d.ts.map +1 -1
- package/dist/dom/webgpu.d.ts.map +1 -1
- package/dist/element.d.ts +60 -0
- package/dist/element.d.ts.map +1 -1
- package/dist/environment.d.ts +6 -0
- package/dist/environment.d.ts.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +745 -60
- package/dist/index.js.map +19 -12
- package/dist/inspector.d.ts +24 -0
- package/dist/inspector.d.ts.map +1 -0
- package/dist/measuringTape.d.ts +76 -0
- package/dist/measuringTape.d.ts.map +1 -0
- package/dist/mount.d.ts.map +1 -1
- package/dist/pivotControls.d.ts +106 -0
- package/dist/pivotControls.d.ts.map +1 -0
- package/dist/transformGizmo.d.ts +158 -0
- package/dist/transformGizmo.d.ts.map +1 -0
- package/dist/view.d.ts +23 -0
- package/dist/view.d.ts.map +1 -1
- package/dist/viewportGizmo.d.ts +146 -0
- package/dist/viewportGizmo.d.ts.map +1 -0
- package/package.json +8 -8
- package/src/assetRegistry.ts +218 -0
- package/src/assets.ts +96 -39
- package/src/boxSelect.ts +158 -0
- package/src/dom/canvas.ts +12 -0
- package/src/dom/pointer.ts +14 -1
- package/src/dom/webgl.ts +15 -0
- package/src/dom/webgpu.ts +15 -0
- package/src/element.ts +6 -0
- package/src/environment.ts +6 -1
- package/src/index.ts +10 -0
- package/src/inspector.ts +112 -0
- package/src/measuringTape.ts +124 -0
- package/src/mount.ts +24 -1
- package/src/pivotControls.ts +118 -0
- package/src/transformGizmo.ts +131 -0
- package/src/view.ts +28 -0
- package/src/viewportGizmo.ts +119 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,56 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.6.4](https://github.com/opsydyn/fold-kit-experiments/compare/effect-three-foldkit-v0.6.3...effect-three-foldkit-v0.6.4) (2026-10-30)
|
|
4
|
+
|
|
5
|
+
### Miscellaneous Chores
|
|
6
|
+
|
|
7
|
+
- **effect-three-foldkit:** Synchronize effect-three versions
|
|
8
|
+
|
|
9
|
+
## [0.6.3](https://github.com/opsydyn/fold-kit-experiments/compare/effect-three-foldkit-v0.6.2...effect-three-foldkit-v0.6.3) (2026-10-29)
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
- **deps:** move to FoldKit 0.170 and Effect 4.1 with one Effect throughout ([ef2f8c2](https://github.com/opsydyn/fold-kit-experiments/commit/ef2f8c28215cf4d497b6483e3e3acc12f7a33496))
|
|
14
|
+
|
|
15
|
+
## [0.6.2](https://github.com/opsydyn/fold-kit-experiments/compare/effect-three-foldkit-v0.6.1...effect-three-foldkit-v0.6.2) (2026-10-28)
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
- **deps:** accept FoldKit 0.169 and move the workspace to it ([b5e40b0](https://github.com/opsydyn/fold-kit-experiments/commit/b5e40b0317e594f38c0596aac49f79cccae4a974))
|
|
20
|
+
- **deps:** accept FoldKit 0.169 and move the workspace to it ([fc82d5d](https://github.com/opsydyn/fold-kit-experiments/commit/fc82d5de50151053514e9e7a0ab676a55141e755))
|
|
21
|
+
|
|
22
|
+
## [0.6.1](https://github.com/opsydyn/fold-kit-experiments/compare/effect-three-foldkit-v0.6.0...effect-three-foldkit-v0.6.1) (2026-10-27)
|
|
23
|
+
|
|
24
|
+
### Bug Fixes
|
|
25
|
+
|
|
26
|
+
- **effect-three:** let a finger's tap on nothing wander a little ([db9e070](https://github.com/opsydyn/fold-kit-experiments/commit/db9e07046baed1f3e61ba0730e085497d52ba0e1))
|
|
27
|
+
|
|
28
|
+
## [0.6.0](https://github.com/opsydyn/fold-kit-experiments/compare/effect-three-foldkit-v0.5.0...effect-three-foldkit-v0.6.0) (2026-10-21)
|
|
29
|
+
|
|
30
|
+
### Features
|
|
31
|
+
|
|
32
|
+
- **effect-three:** snapshot a world on until, and start a run from one ([881d520](https://github.com/opsydyn/fold-kit-experiments/commit/881d5206531c8f0a42fce1e1428034a41e558656))
|
|
33
|
+
|
|
34
|
+
## [0.5.0](https://github.com/opsydyn/fold-kit-experiments/compare/effect-three-foldkit-v0.4.0...effect-three-foldkit-v0.5.0) (2026-10-20)
|
|
35
|
+
|
|
36
|
+
### Features
|
|
37
|
+
|
|
38
|
+
- **effect-three-foldkit:** load, share, cancel and free the assets scenes ask for ([eca8f9f](https://github.com/opsydyn/fold-kit-experiments/commit/eca8f9fad2637f7fb5896fb832981c5258be1cdb))
|
|
39
|
+
- **effect-three-foldkit:** stream an asset's levels of detail ([ec5840c](https://github.com/opsydyn/fold-kit-experiments/commit/ec5840c299b7f20d02ffe556f26c7c5fc1293bb4))
|
|
40
|
+
- **effect-three:** physics on the Model's clock, for worlds that must agree ([e91612c](https://github.com/opsydyn/fold-kit-experiments/commit/e91612c50b20be408df2e6e287203456ae45fe1b))
|
|
41
|
+
|
|
42
|
+
## [0.4.0](https://github.com/opsydyn/fold-kit-experiments/compare/effect-three-foldkit-v0.3.0...effect-three-foldkit-v0.4.0) (2026-10-20)
|
|
43
|
+
|
|
44
|
+
### Features
|
|
45
|
+
|
|
46
|
+
- **effect-three:** a HUD, and the viewport gizmo in it ([a1d99d4](https://github.com/opsydyn/fold-kit-experiments/commit/a1d99d477d80744652237c0718fe0f2418490ea8))
|
|
47
|
+
- **effect-three:** a measuring tape, the last widget of Beyond parity 5 ([0a05ae0](https://github.com/opsydyn/fold-kit-experiments/commit/0a05ae04b0ccfd616f945f26429b27acbe79f108))
|
|
48
|
+
- **effect-three:** a transform gizmo as data, and as a Foldkit submodel ([3b1e585](https://github.com/opsydyn/fold-kit-experiments/commit/3b1e58535b35669917c3325214199f9264fb314c))
|
|
49
|
+
- **effect-three:** an inspector generated from schemas ([64d1d3b](https://github.com/opsydyn/fold-kit-experiments/commit/64d1d3b8bf9991c57c1cf56b94a8b3f1c773b17d))
|
|
50
|
+
- **effect-three:** box select as data, and as a Foldkit submodel ([498a2ec](https://github.com/opsydyn/fold-kit-experiments/commit/498a2ecd7763208c17b54b85f5cc8af294c7ce9b))
|
|
51
|
+
- **effect-three:** edges, trails, points, sparkles and stars ([f976907](https://github.com/opsydyn/fold-kit-experiments/commit/f9769078724c7ef405728581574d50001f338e81))
|
|
52
|
+
- **effect-three:** pivot controls as data, and as a Foldkit submodel ([4284921](https://github.com/opsydyn/fold-kit-experiments/commit/42849211eed2b745c4a43ad42682e2508829901b))
|
|
53
|
+
|
|
3
54
|
## [0.3.0](https://github.com/opsydyn/fold-kit-experiments/compare/effect-three-foldkit-v0.2.0...effect-three-foldkit-v0.3.0) (2026-10-19)
|
|
4
55
|
|
|
5
56
|
### Features
|
package/README.md
CHANGED
|
@@ -40,12 +40,14 @@ EffectThreeFoldkit.view(
|
|
|
40
40
|
|
|
41
41
|
- **Updates are in place.** Foldkit hands the element a new scene on every render, and the core diffs it, so unchanged scenes cost no host changes and changed ones reuse their three.js objects.
|
|
42
42
|
- **Animation never touches the Model.** Behaviours such as `spin` run in the frame loop, outside Foldkit's `update`.
|
|
43
|
-
- **Events are typed and opt-in:** `onClick`, `onDoubleClick`, `onContextMenu`, `onPointerDown`, `onPointerUp`, `onPointerEnter`, `onPointerMove`, `onPointerLeave`, `onPointerMissed`, `onWheel`, `onDrag`, `onDragEnd`, `onGesture`, `onAutoRotated`, `onCollision`, `onContactForce`, `onMeasured`, `onLabelMeasured`, `onXRSession`, `onXRStick`, `onXRButton`, `onXRSurface`, `onXRMoved`, `onXRPlanes`, `onXRMeshes`, `onPerformanceChange`, `onError` and `
|
|
43
|
+
- **Events are typed and opt-in:** `onClick`, `onDoubleClick`, `onContextMenu`, `onPointerDown`, `onPointerUp`, `onPointerEnter`, `onPointerMove`, `onPointerLeave`, `onPointerMissed`, `onWheel`, `onDrag`, `onDragEnd`, `onGesture`, `onGestureEnd`, `onAutoRotated`, `onCollision`, `onContactForce`, `onPhysicsReached`, `onMeasured`, `onLabelMeasured`, `onXRSession`, `onXRStick`, `onXRButton`, `onXRSurface`, `onXRMoved`, `onXRPlanes`, `onXRMeshes`, `onPerformanceChange`, `onError`, `onReconciled`, `onAssetLoaded` and `onAssetFailed`. Only the handlers you pass are bound. Hits carry the mesh key (and instance), world-space point, distance, face normal and uv.
|
|
44
44
|
- **Controls:** with `scene({ gestures: 'scene' })`, `onGesture` reports drags, the wheel and pinches; `orbit(model.camera, gesture)` moves a camera kept in the Model ([ADR-006](../../docs/effect-three/adr/006-controls-as-data.md)).
|
|
45
|
+
- **Editing widgets as submodels:** `TransformGizmo` (three's `TransformControls`), `PivotControls` (Drei's), `BoxSelect` (three's `SelectionBox`, from shift-drags), `ViewportGizmo` (Drei's `GizmoHelper`, in a scene's `hud`) and `MeasuringTape` each keep a Model, take Messages from the scene's events and report OutMessages (`Moved`, `Finished`, `Selected`, `Turned`, `Measured`) for the parent to apply; `inspectorView` draws the fields `Inspector.fields` reads from a schema as a form. The core keeps the maths pure and checked against three's and Drei's own ([ADR-006](../../docs/effect-three/adr/006-controls-as-data.md)).
|
|
45
46
|
- **HTML overlays:** `overlays: [{ overlay, content }]` places Model-rendered HTML at points in the scene every drawn frame, as Drei's `Html`.
|
|
46
47
|
- **Groups and drags:** hits carry their ancestor `path`, and an `interactive` group makes every mesh inside it pickable. A press on a mesh captures the pointer, so `onDrag` keeps firing off the mesh and off the canvas; pair its `ray` with `pointOnPlane` to drag along a plane.
|
|
47
48
|
- **Pixel ratio:** `makeEnvironment(window, { pixelRatio: [1, 2] })` takes a fixed ratio or a `[min, max]` range around the device's (the default is `[1, 2]`, as React Three Fiber's `dpr`), and re-measures when the device ratio changes.
|
|
48
|
-
- **Assets:** `
|
|
49
|
+
- **Assets a scene asks for:** list them in the description, `scene({ assets: [modelAsset({ id: 'robot', url: 'robot.glb' }), textureAsset({ id: 'floor', url: 'tiles.png' })] })`. The environment loads each once however many scenes ask, aborts a load no scene asks for any more, and withdraws and disposes an asset when the last scene stops asking; each scene hears `onAssetLoaded` (a model's parts and clips with it) and `onAssetFailed`. An asset with coarser `levels` shows each as it arrives, finer replacing coarser, and `onAssetLoaded` says the `level` and whether it is `final`. Settle them into `AsyncData` by id; to unload, stop asking ([ADR-015](../../docs/effect-three/adr/015-assets-a-scene-asks-for.md)).
|
|
50
|
+
- **Assets from Commands:** `environment.assets.loadModel(id, url)`, `loadTexture(id, url)`, `loadFont(id, url)` and `loadEnvironment(id, url)` load glTF models, textures, typeface fonts and HDR panoramas as Effects for Commands (settle them into `AsyncData`), lend them to the store, and own them: loading an id again replaces and disposes the old asset, and `unload(id)` frees it. Show a model with `borrowed({ id, animation: play('wave') })`; use a texture with `map: id`, a font with `text({ font: id })`, a panorama with `environment({ map: id })` (Drei's presets: `environmentPresetUrl('city')`).
|
|
49
51
|
- **Engines:** `makeEnvironment(window, { physics: loadRapier(), labels: troikaLabels() })` adds the Rapier physics engine ([`effect-three-rapier`](../effect-three-rapier/README.md); scenes wait for it to load) and the troika label engine ([`effect-three-troika`](../effect-three-troika/README.md)). Without them, bodies stay put and labels are empty.
|
|
50
52
|
- **XR:** `environment.xr.supported(mode)`, `enter(mode)` and `exit` are Effects for Commands; `enter` (from a click) presents the mounted scene that describes `xr`, in VR or AR. Controllers and hands hover, click and drag; sticks, buttons and AR surfaces arrive through `onXRStick`, `onXRButton` and `onXRSurface` ([ADR-008](../../docs/effect-three/adr/008-immersive-sessions.md)).
|
|
51
53
|
- **Browser defaults:** a context menu over an interactive mesh keeps the browser's menu shut; elsewhere it opens as usual. Wheel listening is passive, so the page still scrolls.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The assets scenes ask for with `scene({ assets })` (ADR-015), held for the environment:
|
|
3
|
+
* each loaded once however many scenes ask, lent to the store under its id, its load
|
|
4
|
+
* cancelled when no scene asks for it any more, and withdrawn and disposed when the last
|
|
5
|
+
* scene stops asking. Each scene hears whether what it asked for loaded or failed.
|
|
6
|
+
*
|
|
7
|
+
* An asset with coarser `levels` streams in: every level loads at once, each is lent as it
|
|
8
|
+
* arrives if it is finer than what is shown (replacing it), and once the finest is shown
|
|
9
|
+
* the coarser loads still under way are cancelled. Only the finest failing fails it.
|
|
10
|
+
*
|
|
11
|
+
* An id names one asset at a time: a scene asking for an id another scene holds as
|
|
12
|
+
* something else (another kind or URL) is told it failed, and gets it once the other lets
|
|
13
|
+
* go.
|
|
14
|
+
*
|
|
15
|
+
* @module
|
|
16
|
+
*/
|
|
17
|
+
import { type Asset } from '@opsydyn/effect-three';
|
|
18
|
+
/** An asset as loaded and lent: what a model offers, and how to withdraw and free it. */
|
|
19
|
+
export type Lent = {
|
|
20
|
+
readonly parts: ReadonlyArray<string>;
|
|
21
|
+
readonly clips: ReadonlyArray<string>;
|
|
22
|
+
readonly release: () => void;
|
|
23
|
+
};
|
|
24
|
+
/** Loads one asset and lends it under its id; gives up (rejecting) when `signal` aborts. */
|
|
25
|
+
export type AssetLoader = (asset: Asset, signal: AbortSignal) => Promise<Lent>;
|
|
26
|
+
/**
|
|
27
|
+
* What a scene hears about an asset it asked for: a level of detail shown (0 for the
|
|
28
|
+
* coarsest of its levels, `levels.length` for its URL, the finest), or its finest failed.
|
|
29
|
+
*/
|
|
30
|
+
export type AssetNotice = ({
|
|
31
|
+
readonly _tag: 'Loaded';
|
|
32
|
+
readonly level: number;
|
|
33
|
+
readonly final: boolean;
|
|
34
|
+
} & Asset & Pick<Lent, 'parts' | 'clips'>) | ({
|
|
35
|
+
readonly _tag: 'Failed';
|
|
36
|
+
readonly reason: string;
|
|
37
|
+
} & Asset);
|
|
38
|
+
/** Who asks: a mounted scene, by any object that stands for it. */
|
|
39
|
+
type Holder = object;
|
|
40
|
+
type Notify = (notice: AssetNotice) => void;
|
|
41
|
+
/** Creates the registry for one environment, loading with `load`. */
|
|
42
|
+
export declare const makeAssetRegistry: (load: AssetLoader) => {
|
|
43
|
+
want: (holder: Holder, assets: ReadonlyArray<Asset>, notify: Notify) => void;
|
|
44
|
+
release: (holder: Holder) => void;
|
|
45
|
+
dispose: () => void;
|
|
46
|
+
};
|
|
47
|
+
export type AssetRegistry = ReturnType<typeof makeAssetRegistry>;
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=assetRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assetRegistry.d.ts","sourceRoot":"","sources":["../src/assetRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,uBAAuB,CAAC;AAEhE,yFAAyF;AACzF,MAAM,MAAM,IAAI,GAAG;IACjB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF,4FAA4F;AAC5F,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/E;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB,CAAC;IACC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,GAAG,KAAK,GACP,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,GAChC,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,CAAC;AAEnE,mEAAmE;AACnE,KAAK,MAAM,GAAG,MAAM,CAAC;AAErB,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;AAiC5C,qEAAqE;AACrE,eAAO,MAAM,iBAAiB,SAAU,WAAW;mBAiH3B,MAAM,UAAU,aAAa,CAAC,KAAK,CAAC,UAAU,MAAM,KAAG,IAAI;sBAYxD,MAAM,KAAG,IAAI;mBAMlB,IAAI;CAMzB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
package/dist/assets.d.ts
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Loading textures, glTF models and typeface fonts by URL
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* Loading textures, glTF models, HDR panoramas and typeface fonts by URL. Each asset is
|
|
3
|
+
* lent to the shared resource store under an id: materials use a texture with `map: id`,
|
|
4
|
+
* a `borrowed({ id })` node shows a model, `environment({ map: id })` a panorama, and
|
|
5
|
+
* `text({ font: id })` geometry draws with a font.
|
|
6
|
+
*
|
|
7
|
+
* Two ways in. A scene can ask for assets in its description (`scene({ assets })`), and
|
|
8
|
+
* the environment's registry loads, shares, cancels and frees them as scenes ask
|
|
9
|
+
* (`assetLoader` is what it loads with; ADR-015). Or an application loads one with an
|
|
10
|
+
* Effect from a Command and settles it into `AsyncData`; the environment owns what it
|
|
11
|
+
* loads that way, loading an id again replaces and disposes the earlier asset, and
|
|
12
|
+
* `unload` or the environment's `dispose` frees it. Use one way for any one id.
|
|
7
13
|
*
|
|
8
14
|
* @module
|
|
9
15
|
*/
|
|
10
16
|
import type { ResourceStore } from '@opsydyn/effect-three';
|
|
11
17
|
import { Effect } from 'effect';
|
|
18
|
+
import type { AssetLoader } from './assetRegistry.ts';
|
|
12
19
|
declare const AssetLoadError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
13
20
|
readonly _tag: "AssetLoadError";
|
|
14
21
|
} & Readonly<A>;
|
|
@@ -26,6 +33,12 @@ export type ModelInfo = {
|
|
|
26
33
|
/** Names of the model's animation clips. */
|
|
27
34
|
readonly clips: ReadonlyArray<string>;
|
|
28
35
|
};
|
|
36
|
+
/**
|
|
37
|
+
* What the environment's registry loads scenes' assets with: three's loaders, each load
|
|
38
|
+
* with a loading manager of its own, so aborting it cancels its requests (three's file
|
|
39
|
+
* and image-bitmap loaders honour the manager's abort).
|
|
40
|
+
*/
|
|
41
|
+
export declare const assetLoader: (store: ResourceStore) => AssetLoader;
|
|
29
42
|
/** Creates the asset loader for a store. One per environment. */
|
|
30
43
|
export declare const makeAssets: (store: ResourceStore) => {
|
|
31
44
|
/** Loads a colour texture (sRGB) and lends it under `id`. Succeeds with the id. */
|
package/dist/assets.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAoB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAQ,MAAM,EAAE,MAAM,QAAQ,CAAC;AAatC,OAAO,KAAK,EAAE,WAAW,EAAQ,MAAM,oBAAoB,CAAC;;;;AAG5D,gDAAgD;AAChD,qBAAa,cAAe,SAAQ,oBAAmC;IACrE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;AAEL,0FAA0F;AAC1F,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC;AA6DF;;;;GAIG;AACH,eAAO,MAAM,WAAW,UACd,aAAa,KAAG,WAKvB,CAAC;AAEJ,iEAAiE;AACjE,eAAO,MAAM,UAAU,UAAW,aAAa;IAqC3C,mFAAmF;IACnF,WAAW,OAAO,MAAM,OAAO,MAAM;IAOrC,gFAAgF;IAChF,SAAS,OAAO,MAAM,OAAO,MAAM;IAOnC;;;;OAIG;IACH,eAAe,OAAO,MAAM,OAAO,MAAM;IAOzC;;;OAGG;IACH,QAAQ,OAAO,MAAM,OAAO,MAAM;IAOlC,kEAAkE;IAClE,MAAM,OAAO,MAAM;IAKnB,iDAAiD;IACjD,OAAO,QApDc,IAAI;CAsD5B,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Box selection as a Foldkit submodel (roadmap, "Beyond parity" 5), after Drei's `Select`
|
|
3
|
+
* over three.js's `SelectionBox`: a shift-drag that begins on nothing draws a box, and
|
|
4
|
+
* its release selects what the box holds, through the core's pure `boxSelect`. The parent
|
|
5
|
+
* owns what is selected; the submodel owns only the box:
|
|
6
|
+
*
|
|
7
|
+
* - `Dragged` (each scene `Drag` gesture the box `claims`, made with `dragOf`) starts the box
|
|
8
|
+
* where the press was and moves its far corner by the gesture's deltas;
|
|
9
|
+
* - `Ended` (the scene's `GestureEnd`, with the camera and what can be selected) reports
|
|
10
|
+
* `Selected { keys }`, which replaces the selection as Drei's box does, and clears the
|
|
11
|
+
* box;
|
|
12
|
+
* - `Cancelled` clears the box and selects nothing.
|
|
13
|
+
*
|
|
14
|
+
* `rectangle(model)` places the box on the canvas in CSS pixels, for an HTML outline, and
|
|
15
|
+
* `inside(model, camera, selectable)` says what the box holds so far, for highlighting
|
|
16
|
+
* while it is drawn (Drei selects as the box moves).
|
|
17
|
+
*
|
|
18
|
+
* @module
|
|
19
|
+
*/
|
|
20
|
+
import { type Camera, type Gesture } from '@opsydyn/effect-three';
|
|
21
|
+
import { Option, Schema } from 'effect';
|
|
22
|
+
import type { ReturnWithOutMessage } from 'foldkit/update';
|
|
23
|
+
/** Something the box can select: its key, and the point that must fall inside. */
|
|
24
|
+
declare const Selectable: Schema.Struct<{
|
|
25
|
+
readonly key: Schema.String;
|
|
26
|
+
readonly at: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
|
|
27
|
+
}>;
|
|
28
|
+
/** A box being drawn: its corners in the canvas's normalised coordinates, −1 to 1, y up. */
|
|
29
|
+
export declare const Box: Schema.Struct<{
|
|
30
|
+
readonly from: Schema.Struct<{
|
|
31
|
+
readonly x: Schema.Finite;
|
|
32
|
+
readonly y: Schema.Finite;
|
|
33
|
+
}>;
|
|
34
|
+
readonly to: Schema.Struct<{
|
|
35
|
+
readonly x: Schema.Finite;
|
|
36
|
+
readonly y: Schema.Finite;
|
|
37
|
+
}>;
|
|
38
|
+
readonly width: Schema.Finite;
|
|
39
|
+
readonly height: Schema.Finite;
|
|
40
|
+
}>;
|
|
41
|
+
export type Box = typeof Box.Type;
|
|
42
|
+
export declare const Model: Schema.Struct<{
|
|
43
|
+
readonly box: Schema.Option<Schema.Struct<{
|
|
44
|
+
readonly from: Schema.Struct<{
|
|
45
|
+
readonly x: Schema.Finite;
|
|
46
|
+
readonly y: Schema.Finite;
|
|
47
|
+
}>;
|
|
48
|
+
readonly to: Schema.Struct<{
|
|
49
|
+
readonly x: Schema.Finite;
|
|
50
|
+
readonly y: Schema.Finite;
|
|
51
|
+
}>;
|
|
52
|
+
readonly width: Schema.Finite;
|
|
53
|
+
readonly height: Schema.Finite;
|
|
54
|
+
}>>;
|
|
55
|
+
}>;
|
|
56
|
+
export type Model = typeof Model.Type;
|
|
57
|
+
export declare const Message: import("foldkit/message").MessageUnion<{
|
|
58
|
+
readonly Dragged: {
|
|
59
|
+
x: Schema.Finite;
|
|
60
|
+
y: Schema.Finite;
|
|
61
|
+
deltaX: Schema.Finite;
|
|
62
|
+
deltaY: Schema.Finite;
|
|
63
|
+
width: Schema.Finite;
|
|
64
|
+
height: Schema.Finite;
|
|
65
|
+
};
|
|
66
|
+
readonly Ended: {
|
|
67
|
+
camera: Schema.Union<readonly [Schema.TaggedStruct<"Perspective", {
|
|
68
|
+
readonly fov: Schema.Finite;
|
|
69
|
+
readonly near: Schema.Finite;
|
|
70
|
+
readonly far: Schema.Finite;
|
|
71
|
+
readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
|
|
72
|
+
readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
|
|
73
|
+
readonly damping: Schema.Finite;
|
|
74
|
+
readonly autoRotate: Schema.Finite;
|
|
75
|
+
readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
|
|
76
|
+
readonly intensity: Schema.Finite;
|
|
77
|
+
readonly decay: Schema.Boolean;
|
|
78
|
+
readonly decayRate: Schema.Finite;
|
|
79
|
+
readonly maxYaw: Schema.Finite;
|
|
80
|
+
readonly maxPitch: Schema.Finite;
|
|
81
|
+
readonly maxRoll: Schema.Finite;
|
|
82
|
+
readonly yawFrequency: Schema.Finite;
|
|
83
|
+
readonly pitchFrequency: Schema.Finite;
|
|
84
|
+
readonly rollFrequency: Schema.Finite;
|
|
85
|
+
readonly trigger: Schema.Finite;
|
|
86
|
+
}>>, never>;
|
|
87
|
+
}>, Schema.TaggedStruct<"Orthographic", {
|
|
88
|
+
readonly zoom: Schema.Finite;
|
|
89
|
+
readonly near: Schema.Finite;
|
|
90
|
+
readonly far: Schema.Finite;
|
|
91
|
+
readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
|
|
92
|
+
readonly lookAt: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
|
|
93
|
+
readonly damping: Schema.Finite;
|
|
94
|
+
readonly autoRotate: Schema.Finite;
|
|
95
|
+
readonly shake: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
|
|
96
|
+
readonly intensity: Schema.Finite;
|
|
97
|
+
readonly decay: Schema.Boolean;
|
|
98
|
+
readonly decayRate: Schema.Finite;
|
|
99
|
+
readonly maxYaw: Schema.Finite;
|
|
100
|
+
readonly maxPitch: Schema.Finite;
|
|
101
|
+
readonly maxRoll: Schema.Finite;
|
|
102
|
+
readonly yawFrequency: Schema.Finite;
|
|
103
|
+
readonly pitchFrequency: Schema.Finite;
|
|
104
|
+
readonly rollFrequency: Schema.Finite;
|
|
105
|
+
readonly trigger: Schema.Finite;
|
|
106
|
+
}>>, never>;
|
|
107
|
+
}>]>;
|
|
108
|
+
selectable: Schema.$Array<Schema.Struct<{
|
|
109
|
+
readonly key: Schema.String;
|
|
110
|
+
readonly at: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
|
|
111
|
+
}>>;
|
|
112
|
+
};
|
|
113
|
+
readonly Cancelled: {};
|
|
114
|
+
}>;
|
|
115
|
+
export type Message = typeof Message.Type;
|
|
116
|
+
export declare const OutMessage: import("foldkit/message").MessageUnion<{
|
|
117
|
+
/** The box was let go: the keys inside it, for the new selection. */
|
|
118
|
+
readonly Selected: {
|
|
119
|
+
keys: Schema.$Array<Schema.String>;
|
|
120
|
+
};
|
|
121
|
+
}>;
|
|
122
|
+
export type OutMessage = typeof OutMessage.Type;
|
|
123
|
+
/** No box drawn. */
|
|
124
|
+
export declare const init: () => Model;
|
|
125
|
+
type Return = ReturnWithOutMessage<Model, Message, OutMessage>;
|
|
126
|
+
type Selectables = ReadonlyArray<typeof Selectable.Type>;
|
|
127
|
+
export declare const update: (model: Model, message: Message) => Return;
|
|
128
|
+
/** Whether a box is being drawn: the parent leaves the camera alone while it is. */
|
|
129
|
+
export declare const drawing: (model: Model) => boolean;
|
|
130
|
+
/** A scene `Drag` gesture: the only kind a box takes. */
|
|
131
|
+
export type DragGesture = Extract<Gesture, {
|
|
132
|
+
readonly _tag: 'Drag';
|
|
133
|
+
}>;
|
|
134
|
+
/** Whether the box takes `drag`: every drag while one is drawn, and one that starts it. */
|
|
135
|
+
export declare const claims: (model: Model, drag: DragGesture) => boolean;
|
|
136
|
+
/** The `Dragged` Message for a drag the box claims. */
|
|
137
|
+
export declare const dragOf: (gesture: DragGesture) => Message;
|
|
138
|
+
/** What the box holds so far, seen through `camera`: none while no box is drawn. */
|
|
139
|
+
export declare const inside: (model: Model, camera: Camera, selectable: Selectables) => ReadonlyArray<string>;
|
|
140
|
+
/** A box on the canvas, in CSS pixels from its top left. */
|
|
141
|
+
export type Rectangle = {
|
|
142
|
+
readonly left: number;
|
|
143
|
+
readonly top: number;
|
|
144
|
+
readonly width: number;
|
|
145
|
+
readonly height: number;
|
|
146
|
+
};
|
|
147
|
+
/** Where the box sits on the canvas, while one is drawn. */
|
|
148
|
+
export declare const rectangle: (model: Model) => Option.Option<Rectangle>;
|
|
149
|
+
export {};
|
|
150
|
+
//# sourceMappingURL=boxSelect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boxSelect.d.ts","sourceRoot":"","sources":["../src/boxSelect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAa,KAAK,MAAM,EAAE,KAAK,OAAO,EAAe,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAI3D,kFAAkF;AAClF,QAAA,MAAM,UAAU;;;EAA8D,CAAC;AAE/E,4FAA4F;AAC5F,eAAO,MAAM,GAAG;;;;;;;;;;;EAKd,CAAC;AACH,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC;AAElC,eAAO,MAAM,KAAK;;;;;;;;;;;;;EAA6C,CAAC;AAChE,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC;AAEtC,eAAO,MAAM,OAAO;;QAEhB,CAAC;QACD,CAAC;QACD,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM;;;QAEC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAsB,UAAU;;;;;;EAE/C,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC;AAE1C,eAAO,MAAM,UAAU;IACrB,qEAAqE;;QACzD,IAAI;;EAChB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC;AAEhD,oBAAoB;AACpB,eAAO,MAAM,IAAI,QAAO,KAAiC,CAAC;AAE1D,KAAK,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAe/D,KAAK,WAAW,GAAG,aAAa,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAczD,eAAO,MAAM,MAAM,UAAW,KAAK,WAAW,OAAO,KAAG,MAKpD,CAAC;AAEL,oFAAoF;AACpF,eAAO,MAAM,OAAO,UAAW,KAAK,KAAG,OAAmC,CAAC;AAE3E,yDAAyD;AACzD,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAStE,2FAA2F;AAC3F,eAAO,MAAM,MAAM,UAAW,KAAK,QAAQ,WAAW,KAAG,OACtB,CAAC;AAEpC,uDAAuD;AACvD,eAAO,MAAM,MAAM,YAAa,WAAW,KAAG,OAQ1C,CAAC;AAEL,oFAAoF;AACpF,eAAO,MAAM,MAAM,UACV,KAAK,UACJ,MAAM,cACF,WAAW,KACtB,aAAa,CAAC,MAAM,CAInB,CAAC;AAEL,4DAA4D;AAC5D,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAUF,4DAA4D;AAC5D,eAAO,MAAM,SAAS,UAAW,KAAK,KAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAC/B,CAAC"}
|
package/dist/dom/canvas.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* @module
|
|
5
5
|
*/
|
|
6
6
|
import type { Op, ResourceStore, SceneEvent } from '@opsydyn/effect-three';
|
|
7
|
+
import type { AssetNotice } from '../assetRegistry.ts';
|
|
7
8
|
import { type SceneError } from '../element.ts';
|
|
8
9
|
import type { Latch } from './latch.ts';
|
|
9
10
|
/** Creates a canvas filling `host` and appends it. */
|
|
@@ -12,6 +13,12 @@ export declare const appendCanvas: (host: Element) => HTMLCanvasElement;
|
|
|
12
13
|
export declare const dispatchSceneEvent: (element: Element, event: SceneEvent) => void;
|
|
13
14
|
/** Dispatches a rejected scene update as a `scene-error` event. */
|
|
14
15
|
export declare const dispatchSceneError: (element: Element, error: SceneError) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Dispatches what the environment says about an asset the scene asked for, as a
|
|
18
|
+
* `scene-asset-loaded` or `scene-asset-failed` event. Not held back while time travel is
|
|
19
|
+
* paused: whether an asset loaded is a fact about the page, not a frame.
|
|
20
|
+
*/
|
|
21
|
+
export declare const dispatchAssetNotice: (element: Element, notice: AssetNotice) => void;
|
|
15
22
|
/** Thunk builders, so Effect code can run DOM work with `Effect.sync(thunk)`. */
|
|
16
23
|
export declare const canvasIn: (host: Element) => () => HTMLCanvasElement;
|
|
17
24
|
export declare const removal: (node: ChildNode) => () => void;
|
package/dist/dom/canvas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/dom/canvas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,sDAAsD;AACtD,eAAO,MAAM,YAAY,SAAU,OAAO,KAAG,iBAS5C,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,YAAa,OAAO,SAAS,UAAU,KAAG,IAExE,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,YAAa,OAAO,SAAS,UAAU,KAAG,IAExE,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,QAAQ,SAAU,OAAO,4BAA6B,CAAC;AACpE,eAAO,MAAM,OAAO,SAAU,SAAS,eAAwB,CAAC;AAChE,yFAAyF;AACzF,eAAO,MAAM,kBAAkB,YAAa,OAAO,QAAQ,KAAK,aAAa,UAAU,eAEtF,CAAC;AACF,eAAO,MAAM,kBAAkB,YAAa,OAAO,aAAa,UAAU,eACtC,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,YACnB,OAAO,SAAS,aAAa,WAAW,aAAa,CAAC,EAAE,CAAC,eAKlE,CAAC"}
|
|
1
|
+
{"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/dom/canvas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,sDAAsD;AACtD,eAAO,MAAM,YAAY,SAAU,OAAO,KAAG,iBAS5C,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,kBAAkB,YAAa,OAAO,SAAS,UAAU,KAAG,IAExE,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,YAAa,OAAO,SAAS,UAAU,KAAG,IAExE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,YAAa,OAAO,UAAU,WAAW,KAAG,IAI3E,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,QAAQ,SAAU,OAAO,4BAA6B,CAAC;AACpE,eAAO,MAAM,OAAO,SAAU,SAAS,eAAwB,CAAC;AAChE,yFAAyF;AACzF,eAAO,MAAM,kBAAkB,YAAa,OAAO,QAAQ,KAAK,aAAa,UAAU,eAEtF,CAAC;AACF,eAAO,MAAM,kBAAkB,YAAa,OAAO,aAAa,UAAU,eACtC,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,YACnB,OAAO,SAAS,aAAa,WAAW,aAAa,CAAC,EAAE,CAAC,eAKlE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../src/dom/pointer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../src/dom/pointer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACV,QAAQ,EAGR,YAAY,EACZ,UAAU,EACX,MAAM,uBAAuB,CAAC;AAE/B,kDAAkD;AAClD,MAAM,MAAM,IAAI,GAAG;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,iGAAiG;AACjG,eAAO,MAAM,KAAK,SACV,IAAI,WACD,MAAM,WACN,MAAM,KACd;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAM1C,CAAC;AAyBF;;;GAGG;AACH,eAAO,MAAM,cAAc,UAAW,UAAU,QAAQ,IAAI,KAAG,YAAY,GAAG,SAuC7E,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,eAAe,WAAY,aAAa,CAAC,UAAU,CAAC,KAAG,OACd,CAAC;AAEvD,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB,WAAY,aAAa,CAAC,UAAU,CAAC,KAAG,OAChB,CAAC;AAavD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,YAClB,WAAW,WACX,CAAC,KAAK,EAAE,YAAY,KAAK,aAAa,CAAC,UAAU,CAAC,mBAC3C,MAAM,OAAO,KAC5B,CAAC,MAAM,IAAI,CA2Bb,CAAC;AAEF,iEAAiE;AACjE,KAAK,YAAY,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,QAAQ,CAAA;CAAE,CAAC;AAE1D,iEAAiE;AACjE,eAAO,MAAM,cAAc,UAAW,YAAY,WAAS,OAAuC,CAAC;AAEnG,sFAAsF;AACtF,eAAO,MAAM,eAAe,YAAa,WAAW,SAAS,YAAY,WAAS,IAGjF,CAAC"}
|
package/dist/dom/webgl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgl.d.ts","sourceRoot":"","sources":["../../src/dom/webgl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,uBAAuB,CAAC;AAE3F,OAAO,EASL,KAAK,uBAAuB,EAE7B,MAAM,OAAO,CAAC;AAaf,+FAA+F;AAC/F,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;AAyEnE,uGAAuG;AACvG,eAAO,MAAM,oBAAoB,WACvB,iBAAiB,YAChB,YAAY,KACpB,
|
|
1
|
+
{"version":3,"file":"webgl.d.ts","sourceRoot":"","sources":["../../src/dom/webgl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,uBAAuB,CAAC;AAE3F,OAAO,EASL,KAAK,uBAAuB,EAE7B,MAAM,OAAO,CAAC;AAaf,+FAA+F;AAC/F,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;AAyEnE,uGAAuG;AACvG,eAAO,MAAM,oBAAoB,WACvB,iBAAiB,YAChB,YAAY,KACpB,eAyHD,CAAC"}
|
package/dist/dom/webgpu.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgpu.d.ts","sourceRoot":"","sources":["../../src/dom/webgpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,uBAAuB,CAAC;AAwB3F,kFAAkF;AAClF,MAAM,MAAM,aAAa,GAAG;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AA+DF,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,WACxB,iBAAiB,YAChB,aAAa,KACrB,
|
|
1
|
+
{"version":3,"file":"webgpu.d.ts","sourceRoot":"","sources":["../../src/dom/webgpu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,uBAAuB,CAAC;AAwB3F,kFAAkF;AAClF,MAAM,MAAM,aAAa,GAAG;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AA+DF,oEAAoE;AACpE,eAAO,MAAM,qBAAqB,WACxB,iBAAiB,YAChB,aAAa,KACrB,eA6GD,CAAC"}
|
package/dist/element.d.ts
CHANGED
|
@@ -30,6 +30,8 @@ export declare const SceneError: Schema.Union<readonly [Schema.TaggedStruct<"Dup
|
|
|
30
30
|
readonly view: Schema.String;
|
|
31
31
|
}>, Schema.TaggedStruct<"UnknownMeasuredNode", {
|
|
32
32
|
readonly key: Schema.String;
|
|
33
|
+
}>, Schema.TaggedStruct<"DuplicateAssetId", {
|
|
34
|
+
readonly id: Schema.String;
|
|
33
35
|
}>, Schema.TaggedStruct<"DuplicateJointKey", {
|
|
34
36
|
readonly key: Schema.String;
|
|
35
37
|
}>, Schema.TaggedStruct<"UnknownJointBody", {
|
|
@@ -213,6 +215,11 @@ export declare const sceneElement: CustomElement.CustomElementSpec<"effect-three
|
|
|
213
215
|
readonly background: Schema.NullOr<Schema.Int>;
|
|
214
216
|
readonly children: Schema.$Array<Schema.Codec<import("@opsydyn/effect-three").SceneNode, unknown, never, never>>;
|
|
215
217
|
}>>;
|
|
218
|
+
readonly hud: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
|
|
219
|
+
readonly alignment: Schema.Literals<readonly ["top-left", "top-center", "top-right", "center-left", "center-center", "center-right", "bottom-left", "bottom-center", "bottom-right"]>;
|
|
220
|
+
readonly margin: Schema.Tuple<readonly [Schema.Finite, Schema.Finite]>;
|
|
221
|
+
readonly children: Schema.$Array<Schema.Codec<import("@opsydyn/effect-three").SceneNode, unknown, never, never>>;
|
|
222
|
+
}>>, never>;
|
|
216
223
|
readonly overlays: Schema.$Array<Schema.Struct<{
|
|
217
224
|
readonly key: Schema.String;
|
|
218
225
|
readonly node: Schema.NullOr<Schema.String>;
|
|
@@ -255,6 +262,14 @@ export declare const sceneElement: CustomElement.CustomElementSpec<"effect-three
|
|
|
255
262
|
readonly paused: Schema.Boolean;
|
|
256
263
|
readonly timeStep: Schema.Finite;
|
|
257
264
|
readonly interpolate: Schema.Boolean;
|
|
265
|
+
readonly until: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Int>, never>;
|
|
266
|
+
readonly run: Schema.withDecodingDefaultKey<Schema.Int, never>;
|
|
267
|
+
readonly snapshotAt: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Int>, never>;
|
|
268
|
+
readonly from: Schema.withDecodingDefaultKey<Schema.NullOr<Schema.Struct<{
|
|
269
|
+
readonly step: Schema.Int;
|
|
270
|
+
readonly snapshot: Schema.NullOr<Schema.String>;
|
|
271
|
+
}>>, never>;
|
|
272
|
+
readonly keep: Schema.withDecodingDefaultKey<Schema.Int, never>;
|
|
258
273
|
readonly debug: Schema.Boolean;
|
|
259
274
|
readonly joints: Schema.$Array<Schema.Struct<{
|
|
260
275
|
readonly key: Schema.String;
|
|
@@ -322,6 +337,12 @@ export declare const sceneElement: CustomElement.CustomElementSpec<"effect-three
|
|
|
322
337
|
}>>;
|
|
323
338
|
}>>;
|
|
324
339
|
readonly measure: Schema.$Array<Schema.String>;
|
|
340
|
+
readonly assets: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Struct<{
|
|
341
|
+
readonly kind: Schema.Literals<readonly ["model", "texture", "environment", "font"]>;
|
|
342
|
+
readonly id: Schema.String;
|
|
343
|
+
readonly url: Schema.String;
|
|
344
|
+
readonly levels: Schema.withDecodingDefaultKey<Schema.$Array<Schema.String>, never>;
|
|
345
|
+
}>>, never>;
|
|
325
346
|
readonly render: Schema.Struct<{
|
|
326
347
|
readonly effects: Schema.$Array<Schema.Union<readonly [Schema.TaggedStruct<"Bloom", {
|
|
327
348
|
readonly strength: Schema.Finite;
|
|
@@ -423,6 +444,7 @@ export declare const sceneElement: CustomElement.CustomElementSpec<"effect-three
|
|
|
423
444
|
readonly wireframe: Schema.Boolean;
|
|
424
445
|
readonly color: Schema.Int;
|
|
425
446
|
readonly map: Schema.NullOr<Schema.String>;
|
|
447
|
+
readonly depthTest: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
|
|
426
448
|
}>, Schema.TaggedStruct<"Lambert", {
|
|
427
449
|
readonly opacity: Schema.Finite;
|
|
428
450
|
readonly transparent: Schema.Boolean;
|
|
@@ -673,6 +695,17 @@ export declare const sceneElement: CustomElement.CustomElementSpec<"effect-three
|
|
|
673
695
|
readonly deltaY: Schema.Finite;
|
|
674
696
|
}>]>;
|
|
675
697
|
}>;
|
|
698
|
+
'scene-gesture-end': Schema.Struct<{
|
|
699
|
+
readonly button: Schema.Int;
|
|
700
|
+
readonly modifiers: Schema.Struct<{
|
|
701
|
+
readonly shift: Schema.Boolean;
|
|
702
|
+
readonly control: Schema.Boolean;
|
|
703
|
+
readonly meta: Schema.Boolean;
|
|
704
|
+
readonly alt: Schema.Boolean;
|
|
705
|
+
}>;
|
|
706
|
+
readonly key: Schema.optionalKey<Schema.String>;
|
|
707
|
+
readonly view: Schema.optionalKey<Schema.String>;
|
|
708
|
+
}>;
|
|
676
709
|
'scene-auto-rotated': Schema.Struct<{
|
|
677
710
|
readonly view: Schema.optionalKey<Schema.String>;
|
|
678
711
|
readonly position: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
|
|
@@ -698,6 +731,12 @@ export declare const sceneElement: CustomElement.CustomElementSpec<"effect-three
|
|
|
698
731
|
readonly maxForceDirection: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
|
|
699
732
|
readonly maxForceMagnitude: Schema.Finite;
|
|
700
733
|
}>;
|
|
734
|
+
'scene-physics-reached': Schema.Struct<{
|
|
735
|
+
readonly run: Schema.Int;
|
|
736
|
+
readonly step: Schema.Int;
|
|
737
|
+
readonly checksum: Schema.String;
|
|
738
|
+
readonly snapshot: Schema.optionalKey<Schema.String>;
|
|
739
|
+
}>;
|
|
701
740
|
'scene-measured': Schema.Struct<{
|
|
702
741
|
readonly key: Schema.String;
|
|
703
742
|
readonly min: Schema.Tuple<readonly [Schema.Finite, Schema.Finite, Schema.Finite]>;
|
|
@@ -781,6 +820,8 @@ export declare const sceneElement: CustomElement.CustomElementSpec<"effect-three
|
|
|
781
820
|
readonly view: Schema.String;
|
|
782
821
|
}>, Schema.TaggedStruct<"UnknownMeasuredNode", {
|
|
783
822
|
readonly key: Schema.String;
|
|
823
|
+
}>, Schema.TaggedStruct<"DuplicateAssetId", {
|
|
824
|
+
readonly id: Schema.String;
|
|
784
825
|
}>, Schema.TaggedStruct<"DuplicateJointKey", {
|
|
785
826
|
readonly key: Schema.String;
|
|
786
827
|
}>, Schema.TaggedStruct<"UnknownJointBody", {
|
|
@@ -792,6 +833,23 @@ export declare const sceneElement: CustomElement.CustomElementSpec<"effect-three
|
|
|
792
833
|
readonly issue: Schema.String;
|
|
793
834
|
}>]>;
|
|
794
835
|
}>;
|
|
836
|
+
'scene-asset-loaded': Schema.Struct<{
|
|
837
|
+
readonly kind: Schema.Literals<readonly ["model", "texture", "environment", "font"]>;
|
|
838
|
+
readonly id: Schema.String;
|
|
839
|
+
readonly url: Schema.String;
|
|
840
|
+
readonly levels: Schema.$Array<Schema.String>;
|
|
841
|
+
readonly level: Schema.Int;
|
|
842
|
+
readonly final: Schema.Boolean;
|
|
843
|
+
readonly parts: Schema.$Array<Schema.String>;
|
|
844
|
+
readonly clips: Schema.$Array<Schema.String>;
|
|
845
|
+
}>;
|
|
846
|
+
'scene-asset-failed': Schema.Struct<{
|
|
847
|
+
readonly kind: Schema.Literals<readonly ["model", "texture", "environment", "font"]>;
|
|
848
|
+
readonly id: Schema.String;
|
|
849
|
+
readonly url: Schema.String;
|
|
850
|
+
readonly levels: Schema.$Array<Schema.String>;
|
|
851
|
+
readonly reason: Schema.String;
|
|
852
|
+
}>;
|
|
795
853
|
'scene-reconciled': Schema.Struct<{
|
|
796
854
|
readonly ops: Schema.Struct<{
|
|
797
855
|
readonly created: Schema.Int;
|
|
@@ -831,9 +889,11 @@ export declare const domEventName: {
|
|
|
831
889
|
readonly Drag: 'scene-drag';
|
|
832
890
|
readonly DragEnd: 'scene-drag-end';
|
|
833
891
|
readonly Gesture: 'scene-gesture';
|
|
892
|
+
readonly GestureEnd: 'scene-gesture-end';
|
|
834
893
|
readonly AutoRotated: 'scene-auto-rotated';
|
|
835
894
|
readonly Collision: 'scene-collision';
|
|
836
895
|
readonly ContactForce: 'scene-contact-force';
|
|
896
|
+
readonly PhysicsReached: 'scene-physics-reached';
|
|
837
897
|
readonly Measured: 'scene-measured';
|
|
838
898
|
readonly LabelMeasured: 'scene-label-measured';
|
|
839
899
|
readonly XrStick: 'scene-xr-stick';
|
package/dist/element.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,qFAAqF;AACrF,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,qFAAqF;AACrF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGrB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC;AAIhD,wEAAwE;AACxE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;EAW3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAE5D,oFAAoF;AACpF,eAAO,MAAM,eAAe;;EAE1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC;AAE1D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCvB,CAAC;AAEH,sDAAsD;AACtD,eAAO,MAAM,YAAY;oBAChB,aAAa;0BACP,oBAAoB;0BACpB,oBAAoB;0BACpB,oBAAoB;wBACtB,kBAAkB;2BACf,qBAAqB;0BACtB,oBAAoB;2BACnB,qBAAqB;4BACpB,sBAAsB;oBAC9B,aAAa;mBACd,YAAY;sBACT,gBAAgB;sBAChB,eAAe;yBACZ,mBAAmB;0BAClB,oBAAoB;wBACtB,iBAAiB;2BACd,qBAAqB;6BACnB,uBAAuB;uBAC7B,gBAAgB;4BACX,sBAAsB;sBAC5B,gBAAgB;uBACf,iBAAiB;wBAChB,kBAAkB;sBACpB,gBAAgB;uBACf,iBAAiB;uBACjB,iBAAiB;iCACP,mBAAmB;CACwC,CAAC;AAElF,yFAAyF;AACzF,eAAO,MAAM,cAAc;;;QAEV,MAAM;;EACrB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC"}
|
package/dist/environment.d.ts
CHANGED
|
@@ -49,6 +49,12 @@ export declare const makeEnvironment: (host: EnvironmentHost, options?: Environm
|
|
|
49
49
|
unload: (id: string) => import("effect/Effect").Effect<void, never, never>;
|
|
50
50
|
dispose: () => void;
|
|
51
51
|
};
|
|
52
|
+
/** The assets scenes ask for in their descriptions: loaded, shared, cancelled, freed. */
|
|
53
|
+
assetRegistry: {
|
|
54
|
+
want: (holder: object, assets: ReadonlyArray<import("@opsydyn/effect-three").Asset>, notify: (notice: import("./assetRegistry.ts").AssetNotice) => void) => void;
|
|
55
|
+
release: (holder: object) => void;
|
|
56
|
+
dispose: () => void;
|
|
57
|
+
};
|
|
52
58
|
/** Enters and leaves immersive (WebXR) sessions, from Commands. */
|
|
53
59
|
xr: {
|
|
54
60
|
supported: (mode: import("./index.ts").XrMode) => import("effect/Effect").Effect<boolean, never, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,KAAK,SAAS,EAEd,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,KAAK,SAAS,EAEd,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKvE,4DAA4D;AAC5D,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAC9C,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAC/C,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAErC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,eAAe,CAAC;IACnE,gGAAgG;IAChG,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,mFAAmF;IACnF,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAC1D;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1D;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,eAAe,SAAU,eAAe,YAAW,kBAAkB;;;;uBAnBnD,iBAAiB,KAAK,eAAe;;;IA+BhE,uEAAuE;;IAEvE,wDAAwD;;IAExD,yEAAyE;;;;;;;;;IAEzE,yFAAyF;;;;;;IAEzF,mEAAmE;;;;;;IAEnE,iFAAiF;;IAEjF,qEAAqE;;CAOxE,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -26,7 +26,13 @@ export { type XrMode } from './dom/xrHub.ts';
|
|
|
26
26
|
export { type XrControls, XrUnavailable } from './xr.ts';
|
|
27
27
|
export { summarise } from './dom/reconciled.ts';
|
|
28
28
|
export { type Environment, type EnvironmentHost, type EnvironmentOptions, makeEnvironment, } from './environment.ts';
|
|
29
|
+
export { inspectorView, type OnEdit } from './inspector.ts';
|
|
29
30
|
export { makeSceneMount, type SceneMount } from './mount.ts';
|
|
31
|
+
export * as BoxSelect from './boxSelect.ts';
|
|
32
|
+
export * as MeasuringTape from './measuringTape.ts';
|
|
33
|
+
export * as PivotControls from './pivotControls.ts';
|
|
34
|
+
export * as TransformGizmo from './transformGizmo.ts';
|
|
35
|
+
export * as ViewportGizmo from './viewportGizmo.ts';
|
|
30
36
|
export { type OverlayView } from './overlayView.ts';
|
|
31
|
-
export { type AutoRotatedDetail, type ButtonDetail, type CollisionDetail, type ContactForceDetail, type DragDetail, type Gesture, type HitDetail, type KeyDetail, type LabelMeasuredDetail, type MeasuredDetail, type MissDetail, type PerformanceDetail, view, type ViewConfig, type WheelDetail, type XrButtonDetail, type XrMeshesDetail, type XrMovedDetail, type XrPlanesDetail, type XrStickDetail, type XrSurfaceDetail, } from './view.ts';
|
|
37
|
+
export { type AssetFailedDetail, type AssetLoadedDetail, type AutoRotatedDetail, type ButtonDetail, type CollisionDetail, type ContactForceDetail, type DragDetail, type Gesture, type GestureEndDetail, type HitDetail, type KeyDetail, type LabelMeasuredDetail, type MeasuredDetail, type MissDetail, type PerformanceDetail, type PhysicsReachedDetail, view, type ViewConfig, type WheelDetail, type XrButtonDetail, type XrMeshesDetail, type XrMovedDetail, type XrPlanesDetail, type XrStickDetail, type XrSurfaceDetail, } from './view.ts';
|
|
32
38
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,KAAK,IAAI,EACT,KAAK,EACL,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,KAAK,aAAa,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,KAAK,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,IAAI,EACJ,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,KAAK,IAAI,EACT,KAAK,EACL,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,KAAK,aAAa,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,KAAK,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,IAAI,EACJ,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,WAAW,CAAC"}
|