tosijs-3d 0.8.11 → 0.8.13
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 +57 -0
- package/dist/b3d-ssao.d.ts +5 -2
- package/dist/b3d-ssao.d.ts.map +1 -1
- package/dist/b3d-ssao.js +36 -20
- package/dist/b3d-ssao.js.map +1 -1
- package/dist/b3d-warhead.d.ts.map +1 -1
- package/dist/b3d-warhead.js +22 -1
- package/dist/b3d-warhead.js.map +1 -1
- package/dist/popup-surface.d.ts.map +1 -1
- package/dist/popup-surface.js +58 -3
- package/dist/popup-surface.js.map +1 -1
- package/dist/scene-schemas.d.ts +18 -0
- package/dist/scene-schemas.d.ts.map +1 -1
- package/dist/scene-schemas.js +118 -0
- package/dist/scene-schemas.js.map +1 -1
- package/dist/tosi-b3d.d.ts +3 -0
- package/dist/tosi-b3d.d.ts.map +1 -1
- package/dist/tosi-b3d.js +19 -7
- package/dist/tosi-b3d.js.map +1 -1
- package/package.json +3 -1
- package/static/attributes.json +1 -1
- package/static/attributes.txt +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,63 @@ All notable changes to **tosijs-3d**. This project is pre-1.0 (`0.x`), so minor
|
|
|
6
6
|
versions may carry breaking peer-dependency changes — each is called out in a
|
|
7
7
|
**⚠️ Breaking** block in its version section below, with what a consumer must do.
|
|
8
8
|
|
|
9
|
+
## 0.8.13
|
|
10
|
+
|
|
11
|
+
**A schema for `<tosi-b3d>` itself, and an emulated headset in the repo.**
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- **`sceneSchemas.b3d` / `b3dSchema()`**: the host's scene-level attributes,
|
|
16
|
+
with ranges, units and useful bands: `clearColor`, `glowLayerIntensity`,
|
|
17
|
+
`ssao`, `ssaoStrength`, `ssaoRadius`, `timeScale`, `windSpeed`,
|
|
18
|
+
`windBearingDeg`, `windGust`. The attributes that configure a viewer rather
|
|
19
|
+
than a scene (camera limits, quality, pixel ratio, gamepad and panel chrome,
|
|
20
|
+
XR and pause behaviour) are declined by name in `SCENE_OMITTED.b3d`. The
|
|
21
|
+
drift test covers it like every other schema. `ssao` marks `always` in
|
|
22
|
+
`x-deprecated-values`. Asked by tosijs-3d-ensemble (#101).
|
|
23
|
+
- **`bun run xr <path>`** (`bin/xr-emulate.ts`, repo tooling, not shipped): an
|
|
24
|
+
emulated headset. Headless Chrome with a fake WebXR device enters VR on a
|
|
25
|
+
page, screenshots both eyes and drives controllers from script. It is how
|
|
26
|
+
0.8.12's headset fixes were found.
|
|
27
|
+
|
|
28
|
+
## 0.8.12
|
|
29
|
+
|
|
30
|
+
**0.8.11's ambient occlusion broke VR, and this takes it out of the headset.**
|
|
31
|
+
Also: headset popups can be dragged and closed, and a model no longer shields
|
|
32
|
+
itself from a blast. The headset fixes were verified in an EMULATED headset
|
|
33
|
+
(a fake WebXR device in headless Chrome), not yet on a device.
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
|
|
37
|
+
- **SSAO broke VR.** With `ssao="always"` a headset drew one image stretched
|
|
38
|
+
across both eyes, and `on` put the same chain on the headset camera for the
|
|
39
|
+
moment of entry. A post-process chain on a WebXR camera does not render per
|
|
40
|
+
eye. SSAO is now removed before the headset camera takes over and
|
|
41
|
+
restored when the session ends.
|
|
42
|
+
- **Popups in a headset could not be dragged or closed by their title bar.**
|
|
43
|
+
Three causes, all found by driving an emulated controller:
|
|
44
|
+
- the press was re-cast along Babylon's XR pointer ray, which is cut to the
|
|
45
|
+
exact distance of what it hit, so the re-cast stopped a rounding error
|
|
46
|
+
short of the popup and missed;
|
|
47
|
+
- a drag that did start was cancelled by the first pointer move, because
|
|
48
|
+
Babylon's XR moves carry `button: 0` and the drag behaviour reads that as
|
|
49
|
+
"another button pressed";
|
|
50
|
+
- a popup torn off a tilted panel (the headset settings panel is tilted)
|
|
51
|
+
snapped upright, and the drag then threw it metres away.
|
|
52
|
+
The settings panel's own occlusion re-pick had the same cut-ray fault.
|
|
53
|
+
- **A model's own hull shielded it from every blast.** Blast line of sight
|
|
54
|
+
exempted only the node each destroyable registered, and a library model
|
|
55
|
+
registers a root with the hull as a child, so the ray to it stopped on its
|
|
56
|
+
own hull. An aircraft with `destroyable="on"` took no blast damage, its own
|
|
57
|
+
bomb included. Anything beneath a destroyable is now not cover; a wall
|
|
58
|
+
still is. From manta-recon (board #2906).
|
|
59
|
+
|
|
60
|
+
### Changed
|
|
61
|
+
|
|
62
|
+
- **SSAO is flat-only, and `ssao="always"` is deprecated.** 0.8.11 said
|
|
63
|
+
`always` ran in a headset. It is the setting that broke the frame. It is
|
|
64
|
+
still accepted, means `on`, and warns once.
|
|
65
|
+
|
|
9
66
|
## 0.8.11
|
|
10
67
|
|
|
11
68
|
**Ambient occlusion.** One attribute on `<tosi-b3d>`, off by default. Checked
|
package/dist/b3d-ssao.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import * as BABYLON from '@babylonjs/core';
|
|
2
|
+
/** `always` is deprecated: it means `on`. SSAO does not run in XR. */
|
|
2
3
|
export type SsaoSetting = 'off' | 'auto' | 'on' | 'always';
|
|
3
4
|
/**
|
|
4
5
|
* Should SSAO be running? Pure, so the rule is testable without an engine.
|
|
5
6
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
7
|
+
* Never in XR, whatever the setting: a post-process pipeline on a WebXR camera
|
|
8
|
+
* draws one image across both eyes (see "Flat only" in the page above). `xr` must be true for
|
|
9
|
+
* the WHOLE session including entering and exiting, because the headset camera
|
|
10
|
+
* becomes the active camera before the session reports itself entered.
|
|
8
11
|
*/
|
|
9
12
|
export declare function ssaoActive(setting: SsaoSetting | boolean | string | null | undefined, opts: {
|
|
10
13
|
xr: boolean;
|
package/dist/b3d-ssao.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"b3d-ssao.d.ts","sourceRoot":"","sources":["../src/b3d-ssao.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"b3d-ssao.d.ts","sourceRoot":"","sources":["../src/b3d-ssao.ts"],"names":[],"mappings":"AA8GA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAE1C,sEAAsE;AACtE,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAA;AAE1D;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAC1D,IAAI,EAAE;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,GAC3C,OAAO,CAYT;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAA;IAChB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;GAIG;AACH,qBAAa,cAAc;IAMb,OAAO,CAAC,MAAM;IAL1B,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,KAAK,CAAQ;gBAED,MAAM,EAAE,OAAO,CAAC,KAAK;IAIzC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IA0E3B,OAAO,IAAI,IAAI;CAehB"}
|
package/dist/b3d-ssao.js
CHANGED
|
@@ -10,9 +10,8 @@ attribute on `<tosi-b3d>` fixes it: `ssao="auto"`.
|
|
|
10
10
|
## Demo
|
|
11
11
|
|
|
12
12
|
Open the ⚙ panel and switch `ssao` between `off` and `on`. Watch the foot of
|
|
13
|
-
the walls, the gaps between the crates and the underside of the lintel.
|
|
14
|
-
|
|
15
|
-
there.
|
|
13
|
+
the walls, the gaps between the crates and the underside of the lintel. Enter
|
|
14
|
+
VR and it switches itself off: see "Flat only" below.
|
|
16
15
|
|
|
17
16
|
```js
|
|
18
17
|
import { b3d, b3dSun, b3dSkybox, b3dLight, b3dBox, b3dSphere, b3dGround, select3d, slider3d } from 'tosijs-3d'
|
|
@@ -29,7 +28,7 @@ preview.append(
|
|
|
29
28
|
ssaoStrength: ssaoDemo.strength,
|
|
30
29
|
ssaoRadius: ssaoDemo.radius,
|
|
31
30
|
scenePanel: () => [
|
|
32
|
-
select3d({ label: 'ssao', value: ssaoDemo.mode, options: ['off', 'auto', 'on'
|
|
31
|
+
select3d({ label: 'ssao', value: ssaoDemo.mode, options: ['off', 'auto', 'on'] }),
|
|
33
32
|
slider3d({ label: 'strength', value: ssaoDemo.strength, min: 0, max: 3, step: 0.05 }),
|
|
34
33
|
slider3d({ label: 'radius (m)', value: ssaoDemo.radius, min: 0.25, max: 6, step: 0.05 }),
|
|
35
34
|
],
|
|
@@ -67,16 +66,26 @@ draws the opaque scene a SECOND time into a depth-and-normals buffer, then for
|
|
|
67
66
|
every pixel samples that buffer several times and blurs the result. So the
|
|
68
67
|
cost is one extra pass over your geometry plus a per-pixel loop.
|
|
69
68
|
|
|
70
|
-
| `ssao` |
|
|
71
|
-
| --- | --- |
|
|
72
|
-
| `off` (default) | off |
|
|
73
|
-
| `auto` | on if the device tier affords it (top tier only) |
|
|
74
|
-
| `on` | on |
|
|
75
|
-
|
|
69
|
+
| `ssao` | |
|
|
70
|
+
| --- | --- |
|
|
71
|
+
| `off` (default) | off |
|
|
72
|
+
| `auto` | on if the device tier affords it (top tier only) |
|
|
73
|
+
| `on` | on |
|
|
74
|
+
|
|
75
|
+
## Flat only
|
|
76
|
+
|
|
77
|
+
**SSAO never runs in a headset**, whatever the setting, and it is switched off
|
|
78
|
+
before the session starts and back on when it ends.
|
|
79
|
+
|
|
80
|
+
That is not a budget decision. Babylon's SSAO is a post-process, and a
|
|
81
|
+
post-process chain on a WebXR camera does not render per eye: it draws ONE
|
|
82
|
+
image across both. That is what 0.8.11 did on a Quest, and an emulated headset
|
|
83
|
+
reproduces it whether the chain is carried into the session or built inside
|
|
84
|
+
it. Ambient occlusion in a headset needs a different technique, not a
|
|
85
|
+
different setting.
|
|
76
86
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
PC-driven headset, or a Vision Pro. A standalone Quest-class device cannot.
|
|
87
|
+
(0.8.11 shipped an `always` value that claimed to run in XR. It never worked.
|
|
88
|
+
It is still accepted, means `on`, and warns once.)
|
|
80
89
|
|
|
81
90
|
Sample count and resolution come from the device budget
|
|
82
91
|
(`PerfBudgets.ssaoSamples`, `ssaoRatio`), so you tune the LOOK and the tier
|
|
@@ -86,7 +95,7 @@ tunes the COST.
|
|
|
86
95
|
|
|
87
96
|
| Attribute | Default | Description |
|
|
88
97
|
| --- | --- | --- |
|
|
89
|
-
| `ssao` | `'off'` | `off`, `auto
|
|
98
|
+
| `ssao` | `'off'` | `off`, `auto` or `on`: see the table above. Flat only. LIVE |
|
|
90
99
|
| `ssaoStrength` | `1` | How dark a fully occluded crease gets. `0` is none. LIVE |
|
|
91
100
|
| `ssaoRadius` | `2` | How far, in metres, a surface looks for something occluding it. Small radii darken only tight creases; large ones shade whole alcoves. LIVE |
|
|
92
101
|
|
|
@@ -102,8 +111,10 @@ import * as BABYLON from '@babylonjs/core';
|
|
|
102
111
|
/**
|
|
103
112
|
* Should SSAO be running? Pure, so the rule is testable without an engine.
|
|
104
113
|
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
114
|
+
* Never in XR, whatever the setting: a post-process pipeline on a WebXR camera
|
|
115
|
+
* draws one image across both eyes (see "Flat only" in the page above). `xr` must be true for
|
|
116
|
+
* the WHOLE session including entering and exiting, because the headset camera
|
|
117
|
+
* becomes the active camera before the session reports itself entered.
|
|
107
118
|
*/
|
|
108
119
|
export function ssaoActive(setting, opts) {
|
|
109
120
|
// No `isOff` here: b3d-utils pulls in tosijs, and this rule is tested headless.
|
|
@@ -111,13 +122,14 @@ export function ssaoActive(setting, opts) {
|
|
|
111
122
|
return false;
|
|
112
123
|
if (setting === false || setting === 'false')
|
|
113
124
|
return false;
|
|
114
|
-
if (setting === 'always')
|
|
115
|
-
return true;
|
|
116
125
|
if (opts.xr)
|
|
117
126
|
return false;
|
|
118
127
|
if (setting === 'auto')
|
|
119
128
|
return opts.budgetAllows;
|
|
120
|
-
return setting === 'on' ||
|
|
129
|
+
return (setting === 'on' ||
|
|
130
|
+
setting === 'always' ||
|
|
131
|
+
setting === true ||
|
|
132
|
+
setting === 'true');
|
|
121
133
|
}
|
|
122
134
|
/**
|
|
123
135
|
* Owns the SSAO pipeline for one scene: builds it on demand, follows the
|
|
@@ -140,7 +152,11 @@ export class SsaoController {
|
|
|
140
152
|
update(p) {
|
|
141
153
|
const scene = this._scene;
|
|
142
154
|
const cam = scene.activeCamera;
|
|
143
|
-
|
|
155
|
+
// Belt and braces for the XR rule: never hang a pipeline on a headset
|
|
156
|
+
// camera or one of its per-eye rig cameras, whoever asked.
|
|
157
|
+
const xrCamera = cam != null &&
|
|
158
|
+
(cam.getClassName() === 'WebXRCamera' || cam.isRigCamera === true);
|
|
159
|
+
if (!p.active || cam == null || xrCamera || scene.isDisposed) {
|
|
144
160
|
this.dispose();
|
|
145
161
|
return;
|
|
146
162
|
}
|
package/dist/b3d-ssao.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"b3d-ssao.js","sourceRoot":"","sources":["../src/b3d-ssao.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"b3d-ssao.js","sourceRoot":"","sources":["../src/b3d-ssao.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"b3d-warhead.d.ts","sourceRoot":"","sources":["../src/b3d-warhead.ts"],"names":[],"mappings":"AAsIA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAiC,MAAM,gBAAgB,CAAA;AAC5E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAc,KAAK,WAAW,EAAkB,MAAM,cAAc,CAAA;AAE3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAM7C,qBAAa,UAAW,SAAQ,YAAY;IAC1C,MAAM,CAAC,gBAAgB,SAAqB;IAE5C,MAAM,CAAC,cAAc;;;;;;;;;;;;;MAYpB;IAEO,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,EAAE,MAAM,CAAA;IAElB,IAAI,IAAI,IAAI,WAAW,CAMtB;IAED,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,IAAI;IAKlD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,IAAI;CAazC;AAED,eAAO,MAAM,UAAU,EAAkC,CACvD,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,UAAU,CAAA;AAEf;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,IAAI,EAAE,WAAW,EACjB,MAAM,UAAO,EAcb,KAAK,CAAC,EAAE,KAAK,GACZ,IAAI,CA0DN;
|
|
1
|
+
{"version":3,"file":"b3d-warhead.d.ts","sourceRoot":"","sources":["../src/b3d-warhead.ts"],"names":[],"mappings":"AAsIA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAiC,MAAM,gBAAgB,CAAA;AAC5E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAc,KAAK,WAAW,EAAkB,MAAM,cAAc,CAAA;AAE3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAM7C,qBAAa,UAAW,SAAQ,YAAY;IAC1C,MAAM,CAAC,gBAAgB,SAAqB;IAE5C,MAAM,CAAC,cAAc;;;;;;;;;;;;;MAYpB;IAEO,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,EAAE,MAAM,CAAA;IAElB,IAAI,IAAI,IAAI,WAAW,CAMtB;IAED,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,IAAI;IAKlD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,IAAI;CAazC;AAED,eAAO,MAAM,UAAU,EAAkC,CACvD,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,UAAU,CAAA;AAEf;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,IAAI,EAAE,WAAW,EACjB,MAAM,UAAO,EAcb,KAAK,CAAC,EAAE,KAAK,GACZ,IAAI,CA0DN;AA6CD;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,WAAW,EAAE,MAAM,GAClB,IAAI,CAuBN"}
|
package/dist/b3d-warhead.js
CHANGED
|
@@ -255,6 +255,17 @@ cause) {
|
|
|
255
255
|
}
|
|
256
256
|
// A target is visible unless a NON-destroyable pickable mesh (a wall/cover) sits
|
|
257
257
|
// between the blast center and it — cubes don't shadow each other from a blast.
|
|
258
|
+
/*
|
|
259
|
+
"DESTROYABLE" MEANS THE WHOLE MODEL, not the node that was registered.
|
|
260
|
+
|
|
261
|
+
A library model registers its ROOT, and the root is a TransformNode: the mesh a
|
|
262
|
+
ray can actually hit is a child. Exempting only the registered nodes therefore
|
|
263
|
+
exempted nothing for such a model, and the ray to its origin stopped on its own
|
|
264
|
+
hull. An aircraft with `destroyable="on"` took no blast damage from anything,
|
|
265
|
+
including its own bomb going off under it (manta-recon, board #2906). So the
|
|
266
|
+
exemption walks up: a mesh anywhere beneath a destroyable is not cover. Same
|
|
267
|
+
ancestry rule as `destroyableAt`, for the same reason.
|
|
268
|
+
*/
|
|
258
269
|
function hasLos(owner, from, targetMesh, destroyableMeshes) {
|
|
259
270
|
const to = targetMesh.absolutePosition;
|
|
260
271
|
const dir = to.subtract(from);
|
|
@@ -264,7 +275,17 @@ function hasLos(owner, from, targetMesh, destroyableMeshes) {
|
|
|
264
275
|
const ray = new BABYLON.Ray(from, dir.normalize(), dist - 0.1);
|
|
265
276
|
// Shared predicate — a UI panel must not provide BLAST COVER. `ground` is
|
|
266
277
|
// deliberately transparent to LOS here (it is the floor, not a wall).
|
|
267
|
-
const
|
|
278
|
+
const roots = new Set(destroyableMeshes);
|
|
279
|
+
const underDestroyable = (m) => {
|
|
280
|
+
let node = m;
|
|
281
|
+
while (node != null) {
|
|
282
|
+
if (roots.has(node))
|
|
283
|
+
return true;
|
|
284
|
+
node = node.parent;
|
|
285
|
+
}
|
|
286
|
+
return false;
|
|
287
|
+
};
|
|
288
|
+
const hit = owner.scene.pickWithRay(ray, collidable((m) => m.name === 'ground' || underDestroyable(m)));
|
|
268
289
|
return !(hit != null && hit.hit);
|
|
269
290
|
}
|
|
270
291
|
// Expanding, fading flash at the blast center.
|
package/dist/b3d-warhead.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"b3d-warhead.js","sourceRoot":"","sources":["../src/b3d-warhead.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"b3d-warhead.js","sourceRoot":"","sources":["../src/b3d-warhead.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popup-surface.d.ts","sourceRoot":"","sources":["../src/popup-surface.ts"],"names":[],"mappings":"AAkKA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAIlE,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAA;AAQxE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,GAAG,EAAE,aAAa,CAAA;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAA;IAC5D,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oEAAoE;IACpE,MAAM,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;yDACqD;IACrD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,KAAK,EAAE,WAAW,CAAA;IAClB,sCAAsC;IACtC,KAAK,IAAI,IAAI,CAAA;IACb;;;OAGG;IACH,OAAO,IAAI,IAAI,CAAA;IACf,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB;+CAC2C;IAC3C,SAAS,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;4EACwE;IACxE,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;IAC7C,yEAAyE;IACzE;;;OAGG;IACH,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,OAAO,CAAC,OAAO,EAC7B,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,GAChB,IAAI,CAAA;IACP,+EAA+E;IAC/E,OAAO,IAAI,IAAI,CAAA;IACf,kDAAkD;IAClD,OAAO,IAAI,IAAI,CAAA;CAChB;AAyDD;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,OAAO,EAAE,CAGtE;
|
|
1
|
+
{"version":3,"file":"popup-surface.d.ts","sourceRoot":"","sources":["../src/popup-surface.ts"],"names":[],"mappings":"AAkKA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAIlE,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAA;AAQxE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,GAAG,EAAE,aAAa,CAAA;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAA;IAC5D,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oEAAoE;IACpE,MAAM,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;yDACqD;IACrD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,KAAK,EAAE,WAAW,CAAA;IAClB,sCAAsC;IACtC,KAAK,IAAI,IAAI,CAAA;IACb;;;OAGG;IACH,OAAO,IAAI,IAAI,CAAA;IACf,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB;+CAC2C;IAC3C,SAAS,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;4EACwE;IACxE,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;IAC7C,yEAAyE;IACzE;;;OAGG;IACH,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,OAAO,CAAC,OAAO,EAC7B,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,GAChB,IAAI,CAAA;IACP,+EAA+E;IAC/E,OAAO,IAAI,IAAI,CAAA;IACf,kDAAkD;IAClD,OAAO,IAAI,IAAI,CAAA;CAChB;AAyDD;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,GAAG,OAAO,EAAE,CAGtE;AA8MD,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,mBAAmB,GAAG,YAAY,CA+b7E"}
|
package/dist/popup-surface.js
CHANGED
|
@@ -385,7 +385,27 @@ function wirePointer(owner) {
|
|
|
385
385
|
return;
|
|
386
386
|
// Un-pickable panels are skipped by the pick itself, so a modal's blocking
|
|
387
387
|
// needs no test here.
|
|
388
|
-
|
|
388
|
+
/*
|
|
389
|
+
ALONG THE RAY THAT PRESSED, not from the screen position. In a headset the
|
|
390
|
+
press comes from a controller, and `scene.pointerX/Y` is only that
|
|
391
|
+
controller projected onto the screen: picking from there casts a ray from
|
|
392
|
+
the HEAD through that point, which is not where the hand is aiming. The
|
|
393
|
+
title bar is a thin target, so the two disagree about it most of the time,
|
|
394
|
+
and the popup could be neither dragged nor closed in VR. Flat, the event's
|
|
395
|
+
ray IS the screen ray, so this is the same pick.
|
|
396
|
+
*/
|
|
397
|
+
const isPopup = (m) => list.some((p) => p.plane.mesh === m);
|
|
398
|
+
const pressRay = info.pickInfo?.ray;
|
|
399
|
+
/*
|
|
400
|
+
A COPY AT FULL LENGTH. Babylon's XR pointer shortens its ray to the distance
|
|
401
|
+
of whatever it hit, so re-casting that same ray stops a rounding error short
|
|
402
|
+
of the surface it just found and reports a miss. Measured in an emulated
|
|
403
|
+
session: length 1.4968695 against a hit at 1.4968695, no hit; the same
|
|
404
|
+
origin and direction at full length, hit.
|
|
405
|
+
*/
|
|
406
|
+
const hit = pressRay != null
|
|
407
|
+
? scene.pickWithRay(new BABYLON.Ray(pressRay.origin, pressRay.direction, 1e4), isPopup)
|
|
408
|
+
: scene.pick(scene.pointerX, scene.pointerY, isPopup);
|
|
389
409
|
const onPopup = hit?.hit === true ? hit.pickedMesh : null;
|
|
390
410
|
if (onPopup != null) {
|
|
391
411
|
// CLICK to front, not just drag-to-front: raising something only when you
|
|
@@ -426,7 +446,7 @@ function wirePointer(owner) {
|
|
|
426
446
|
target.beginDrag(info.event?.pointerId ?? 0,
|
|
427
447
|
// The point on the panel actually under the pointer, and the ray that
|
|
428
448
|
// found it — see beginDrag for why both are required.
|
|
429
|
-
info.pickInfo?.pickedPoint ?? undefined,
|
|
449
|
+
hit?.pickedPoint ?? info.pickInfo?.pickedPoint ?? undefined, pressRay ?? undefined);
|
|
430
450
|
}
|
|
431
451
|
});
|
|
432
452
|
}
|
|
@@ -659,6 +679,17 @@ export function openPopup(owner, opts) {
|
|
|
659
679
|
// failed drag.
|
|
660
680
|
if (gripHeight > 0)
|
|
661
681
|
drag.startAndReleaseDragOnPointerEvents = false;
|
|
682
|
+
/*
|
|
683
|
+
A HEADSET DRAG DIED ON ITS FIRST FRAME without this. The behaviour cancels
|
|
684
|
+
a drag when "another button" arrives on the same pointer, meaning any event
|
|
685
|
+
whose `button` is neither -1 nor the button that started it. `startDrag()`
|
|
686
|
+
records no starting button (-1), a mouse move carries -1 so it passes, and
|
|
687
|
+
Babylon's XR pointer synthesises its moves as `new PointerEvent('pointermove')`,
|
|
688
|
+
whose button defaults to 0. So in VR the first move after the press
|
|
689
|
+
released the drag: the popup tore off and then sat there. We end the drag
|
|
690
|
+
ourselves on POINTERUP, so the rule has nothing to protect.
|
|
691
|
+
*/
|
|
692
|
+
drag.allowOtherButtonsDuringDrag = true;
|
|
662
693
|
mesh.addBehavior(drag);
|
|
663
694
|
drag.onDragStartObservable.add(() => {
|
|
664
695
|
// Pull a tab out of the window: moving an owned popup promotes it.
|
|
@@ -729,7 +760,12 @@ export function openPopup(owner, opts) {
|
|
|
729
760
|
point — Babylon reuses its pick info between events.
|
|
730
761
|
*/
|
|
731
762
|
const grabRay = ray != null
|
|
732
|
-
? new BABYLON.Ray(ray.origin.clone(), ray.direction.clone(),
|
|
763
|
+
? new BABYLON.Ray(ray.origin.clone(), ray.direction.clone(),
|
|
764
|
+
// NOT `ray.length`: an XR pointer's ray is cut to its hit
|
|
765
|
+
// distance, and Babylon starts the drag by casting this ray at
|
|
766
|
+
// a plane through the grab point. A ray that ends exactly there
|
|
767
|
+
// misses it, and the drag silently never starts.
|
|
768
|
+
1e4)
|
|
733
769
|
: undefined;
|
|
734
770
|
queueMicrotask(() => {
|
|
735
771
|
if (drag == null || closed)
|
|
@@ -769,6 +805,25 @@ export function openPopup(owner, opts) {
|
|
|
769
805
|
plane.x = world.x;
|
|
770
806
|
plane.y = world.y;
|
|
771
807
|
plane.z = world.z;
|
|
808
|
+
/*
|
|
809
|
+
…AND THE ORIENTATION, which the element also rewrites every frame.
|
|
810
|
+
|
|
811
|
+
Position alone was enough only while every opener happened to be
|
|
812
|
+
upright. The headset's settings panel is tilted back to face you, so a
|
|
813
|
+
popup torn off it snapped vertical: it turned edge-on to the viewer, and
|
|
814
|
+
because the drag plane is the panel's own plane, a controller ray aimed
|
|
815
|
+
up at it met that plane metres away. Measured in an emulated session: a
|
|
816
|
+
0.25 m sweep of the pointer threw the popup 7 m into the sky.
|
|
817
|
+
`setParent(null)` has just baked the world rotation into the mesh, so
|
|
818
|
+
read it back in the element's own yaw/pitch/roll.
|
|
819
|
+
*/
|
|
820
|
+
const e = mesh.rotationQuaternion?.toEulerAngles();
|
|
821
|
+
if (e != null) {
|
|
822
|
+
const deg = 180 / Math.PI;
|
|
823
|
+
plane.rx = e.x * deg;
|
|
824
|
+
plane.ry = e.y * deg;
|
|
825
|
+
plane.rz = e.z * deg;
|
|
826
|
+
}
|
|
772
827
|
attachDrag();
|
|
773
828
|
});
|
|
774
829
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popup-surface.js","sourceRoot":"","sources":["../src/popup-surface.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"popup-surface.js","sourceRoot":"","sources":["../src/popup-surface.ts"],"names":[],"mappings":"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"}
|
package/dist/scene-schemas.d.ts
CHANGED
|
@@ -162,7 +162,25 @@ export declare function soundSchema(extra?: Record<string, unknown>): {
|
|
|
162
162
|
properties: Record<string, unknown>;
|
|
163
163
|
};
|
|
164
164
|
/** Every scene-primitive schema, by the element name a consumer would use. */
|
|
165
|
+
/**
|
|
166
|
+
* `tosi-b3d` — the scene HOST's own attributes: the ones that say how the
|
|
167
|
+
* scene looks and moves, as opposed to how one viewer is looking at it.
|
|
168
|
+
*
|
|
169
|
+
* Asked by `tosijs-3d-ensemble` (#101). A document can RECOMMEND an ambient
|
|
170
|
+
* occlusion look (`ssaoStrength`, `ssaoRadius`) and carry the scene's wind, and
|
|
171
|
+
* a consumer must never type those ranges itself.
|
|
172
|
+
*
|
|
173
|
+
* `ssao` is listed because the look is meaningless without it, but whether it
|
|
174
|
+
* is ON is usually the viewer's call (it costs frame time and never runs in a
|
|
175
|
+
* headset): store the recommendation, and let the device decide.
|
|
176
|
+
*/
|
|
177
|
+
export declare function b3dSchema(extra?: Record<string, unknown>): {
|
|
178
|
+
type: string;
|
|
179
|
+
title: string;
|
|
180
|
+
properties: Record<string, unknown>;
|
|
181
|
+
};
|
|
165
182
|
export declare const sceneSchemas: {
|
|
183
|
+
readonly b3d: typeof b3dSchema;
|
|
166
184
|
readonly skybox: typeof skyboxSchema;
|
|
167
185
|
readonly sun: typeof sunSchema;
|
|
168
186
|
readonly water: typeof waterSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-schemas.d.ts","sourceRoot":"","sources":["../src/scene-schemas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scene-schemas.d.ts","sourceRoot":"","sources":["../src/scene-schemas.ts"],"names":[],"mappings":"AAgKA;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EA+I/D;AAED,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAiC5D;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EA6F9D;AAED,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAkB5D;AAED,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAyB/D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAkChE;AAED,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAiBzE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAgElD,CAAA;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAqB/D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAiJhE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EA6BpE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAyJlE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAkB7D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAqCpE;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAsBlE;AAED;qBACqB;AACrB,wBAAgB,iBAAiB,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAiBpE;AAED;uCACuC;AACvC,wBAAgB,eAAe,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EA6BlE;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAuB9D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EAsB9D;AAED,8EAA8E;AAC9E;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;EA4E5D;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;CAoBf,CAAA"}
|