tosijs-3d 0.10.9 → 0.10.11

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.
Files changed (90) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/dist/b3d-panel.d.ts +6 -0
  3. package/dist/b3d-panel.d.ts.map +1 -1
  4. package/dist/b3d-panel.js +50 -1
  5. package/dist/b3d-panel.js.map +1 -1
  6. package/dist/b3d-planet.d.ts +1 -0
  7. package/dist/b3d-planet.d.ts.map +1 -1
  8. package/dist/b3d-planet.js +30 -1
  9. package/dist/b3d-planet.js.map +1 -1
  10. package/dist/b3d-ssao-projected.d.ts +2 -0
  11. package/dist/b3d-ssao-projected.d.ts.map +1 -1
  12. package/dist/b3d-ssao-projected.js +28 -0
  13. package/dist/b3d-ssao-projected.js.map +1 -1
  14. package/dist/b3d-star-system.d.ts.map +1 -1
  15. package/dist/b3d-star-system.js +53 -2
  16. package/dist/b3d-star-system.js.map +1 -1
  17. package/dist/b3d-utils.d.ts +1 -0
  18. package/dist/b3d-utils.d.ts.map +1 -1
  19. package/dist/b3d-utils.js +11 -0
  20. package/dist/b3d-utils.js.map +1 -1
  21. package/dist/bone-heat.d.ts +22 -0
  22. package/dist/bone-heat.d.ts.map +1 -0
  23. package/dist/bone-heat.js +238 -0
  24. package/dist/bone-heat.js.map +1 -0
  25. package/dist/frame-panel.d.ts +15 -0
  26. package/dist/frame-panel.d.ts.map +1 -1
  27. package/dist/frame-panel.js +41 -0
  28. package/dist/frame-panel.js.map +1 -1
  29. package/dist/icon-data.d.ts +1 -0
  30. package/dist/icon-data.d.ts.map +1 -1
  31. package/dist/icon-data.js +1 -0
  32. package/dist/icon-data.js.map +1 -1
  33. package/dist/index.d.ts +17 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +8 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/keyboard.d.ts.map +1 -1
  38. package/dist/keyboard.js +18 -1
  39. package/dist/keyboard.js.map +1 -1
  40. package/dist/retarget-babylon.d.ts +39 -0
  41. package/dist/retarget-babylon.d.ts.map +1 -0
  42. package/dist/retarget-babylon.js +252 -0
  43. package/dist/retarget-babylon.js.map +1 -0
  44. package/dist/retarget.d.ts +74 -0
  45. package/dist/retarget.d.ts.map +1 -0
  46. package/dist/retarget.js +558 -0
  47. package/dist/retarget.js.map +1 -0
  48. package/dist/rig-build.d.ts +20 -0
  49. package/dist/rig-build.d.ts.map +1 -0
  50. package/dist/rig-build.js +256 -0
  51. package/dist/rig-build.js.map +1 -0
  52. package/dist/rig-fit.d.ts +107 -0
  53. package/dist/rig-fit.d.ts.map +1 -0
  54. package/dist/rig-fit.js +658 -0
  55. package/dist/rig-fit.js.map +1 -0
  56. package/dist/rig-markers.d.ts +42 -0
  57. package/dist/rig-markers.d.ts.map +1 -0
  58. package/dist/rig-markers.js +348 -0
  59. package/dist/rig-markers.js.map +1 -0
  60. package/dist/scene-schemas.d.ts.map +1 -1
  61. package/dist/scene-schemas.js +6 -0
  62. package/dist/scene-schemas.js.map +1 -1
  63. package/dist/sol.d.ts.map +1 -1
  64. package/dist/sol.js +13 -1
  65. package/dist/sol.js.map +1 -1
  66. package/dist/spring-chain-babylon.d.ts +45 -0
  67. package/dist/spring-chain-babylon.d.ts.map +1 -0
  68. package/dist/spring-chain-babylon.js +347 -0
  69. package/dist/spring-chain-babylon.js.map +1 -0
  70. package/dist/spring-chain.d.ts +59 -0
  71. package/dist/spring-chain.d.ts.map +1 -0
  72. package/dist/spring-chain.js +195 -0
  73. package/dist/spring-chain.js.map +1 -0
  74. package/dist/system-layout.d.ts +15 -0
  75. package/dist/system-layout.d.ts.map +1 -1
  76. package/dist/table.d.ts +24 -0
  77. package/dist/table.d.ts.map +1 -1
  78. package/dist/table.js +54 -4
  79. package/dist/table.js.map +1 -1
  80. package/dist/tosi-b3d.d.ts +26 -1
  81. package/dist/tosi-b3d.d.ts.map +1 -1
  82. package/dist/tosi-b3d.js +170 -35
  83. package/dist/tosi-b3d.js.map +1 -1
  84. package/dist/widgets3d.d.ts +42 -2
  85. package/dist/widgets3d.d.ts.map +1 -1
  86. package/dist/widgets3d.js +26 -1
  87. package/dist/widgets3d.js.map +1 -1
  88. package/package.json +1 -1
  89. package/static/attributes.json +25 -0
  90. package/static/attributes.txt +8 -0
package/CHANGELOG.md CHANGED
@@ -6,6 +6,65 @@ 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.10.11
10
+
11
+ ### Added
12
+
13
+ - **A table can show its selection as the row** (#109, from ensemble): `selectionMarker: 'row'` fills the selected row and drops the radio/checkbox column, for rows that carry a leading control of their own (two circles side by side read as one toggle that did not work). Selection, `handleSelect` and the D-pad path are unchanged. A rebuilt table can start with `selected` or take `setSelected(ids)` (neither calls `handleSelect`), and `revealRow(id)` scrolls its own body to a row.
14
+ - **A panel's scroll position can be read, set, and aimed at a row** (#110, from ensemble): `Panel3d` gains `scrollTop` (get/set, clamped), so a host that rebuilds a panel keeps its place, and `reveal(widget, band?)`, which scrolls the least that brings a row into view (`panel.reveal(table, table.rowBox(id))` for one table row). Coordinate-based, so it works in a headset, where the host has no DOM to measure.
15
+
16
+ Size: barrel (min, packages external) 1153.7 KB raw / 394.8 KB gz, +0.08% on 0.10.10.
17
+
18
+ ## 0.10.10
19
+
20
+ ### Fixed
21
+
22
+ - **`panel3d`'s return type says what it carries** (#104): the exported `Panel3d` type lists `handlePointer`, `scrollBy`, `scrollable`, `gripHeight`, `gripHit`, `measure`, `addLayerHost`, `useDomLayer` and `dispose`. The declaration was a bare `SVGSVGElement`, so calling `dispose()` (new in 0.10.8) did not typecheck. Existing casts to a subset of those methods still compile.
23
+ - **A per-axis scale set on a library destroyable's node survives moves and turns** (#105): the uniform `scale` attribute was rewritten onto the node on every render, so a consumer's `[2, 1, 3]` stretch was lost at the next unrelated attribute write. It is now written only when `scale` (or the node) changes, and the attribute still wins whenever it is set.
24
+ - **Projected AO darkens library pieces** (#107, from ensemble): it hooked only the materials in `scene.materials` and those created after it started, but a library's instances share its container's materials, which are in neither. So pieces placed from a `<tosi-b3d-library>` were left out of the depth picture and never occluded, while the plugin count said AO was running. It now also finds materials through the scene's meshes, at start and as meshes are added. On twelve pirate-kit pieces, the pixels it changes went from 0% to 5.8% at strength 1, and from 0.1% to 16.5% at strength 3 (screen AO: 13%).
25
+ - **A key is delivered once even when a handler re-renders its field group mid-keystroke** (#94, from ensemble): a `handleChange` that rebuilt its panel inside the keydown detached the focused field's group, so the window listener, deciding afterwards, typed the key a second time (`flagXXship`). Every route now marks the event it consumed and skips one already marked.
26
+ - **The Moon with NASA's maps is a globe again**: its height map was exaggerated 12×, which put its relief at 14% of the radius ("ridiculous"). It is 3× now, about 3.5%: basins still show at the limb.
27
+ - **A planet's golden hour peaks with the sun at the horizon, not well above it.** The gold at the limb was strongest with the sun about 50° from behind the planet and still bright at 70°: daylight over most of the limb. It now needs the sun close behind (full within about 15°, gone by about 50°) and keeps its breadth. A first attempt that narrowed the band itself was rejected ("a very thin effect which isn't what I wanted"); Tonio, on this one: "pretty perfect".
28
+ - **A star system's rocky worlds have continents, not one blob.** A planet reads its noise at `grossScale × radius`, and its presets' relief is tuned for radius 50, both in drawn units. A system draws a world a few units across, so the synthetic Earth read a fiftieth of one noise wave and came out as a single smooth landmass ("very Fisher Price Pangaea"). Its noise is now set per world (about 1.6 waves across it for continents, 6 for coastlines), and the preset's relief is scaled by drawn radius over 50, for planets and moons alike. A look that sets its own scales or relief still wins.
29
+
30
+ ### Added
31
+
32
+ - **Retargeting: one humanoid's animation on another's body.** The Universal Animation Library's clips now play on characters that weren't built for them. The demo (`/retarget/`) shows one clip on four bodies: UAL's mannequin, a Quaternius superhero, omnidude (Mixamo's bones) and a Kenney chibi (seven bones).
33
+ - **Roles:** `humanoidRoles` says which bone is which across UE, Mixamo, Kenney and Blender names.
34
+ - **Rotations:** `retargeter(source, target)` transfers each bone's world-space rotation since rest, so a clip made on an A-pose rig plays as shown on a T-pose one.
35
+ - The hips move in proportion to hip height.
36
+ - A target bone that stands for several source bones (a chibi's whole leg) aims along the source's chain.
37
+ - **The Babylon side:** `readSkeleton` reads a loaded character; `retargetClip`/`retargetClips` turn a clip into an AnimationGroup for it. All pure except the Babylon side, and tested on the real UAL, Mixamo and Kenney skeletons.
38
+ - **Auto-rig: a mesh with no skeleton, walking** (#3349). Eight markers on a front view, as on Mixamo's auto-rigger, are enough to rig a mesh for UAL's clips. The auto-rig page (`/rig-build/`) rigs Tonio's omnidude, two weasels and a space marine in the browser (CC BY 4.0, on the CDN under `tonio/rigging/`) and plays clips on them side by side.
39
+ - **Fitting:** `fitSkeleton(markers, meshQuery(positions, indices))` places UAL's 65 joints, each at the middle of the mesh's thickness. An optional tail tip grows a tail chain.
40
+ - **Binding:** `boneHeat` binds the mesh by bone heat (Baran & Popović), in about 0.1–0.3 s.
41
+ - **Building:** `buildRig` makes a Babylon skeleton of the result the way the glTF loader would, so `readSkeleton` and `retargetClip` work on it.
42
+ - **Reading files:** `objTriangles` reads an OBJ.
43
+ - **Spring bones: secondary motion for hair, tails and capes.**
44
+ - **Model:** `spring-chain` is the pure model: Verlet at a fixed 120 Hz step, stiffness toward the rest shape, damping, sphere colliders, and a correction that keeps the tip from whipping.
45
+ - **Babylon side:** `springBones` hangs a simulated chain from any node, after the animation has posed the body, and `skinTube` skins a tube to it. `springNodes` runs an existing chain, which is how the weasels' tails swing.
46
+ - **Demo:** a mannequin running in circles with a ponytail.
47
+
48
+ - **The auto-rig's marker step** (#3349). `markerField3d` shows a mesh's front silhouette with Mixamo's eight markers on it, to be dragged onto the joints, plus a side view for a tail tip. It is an ordinary panel control, so it works on a page, in the scene and in a headset. Symmetry is on by default, hovering names a marker, `handleChange` fires as a marker moves and `handleCommit` when it is let go. The pure half is in `rig-fit`:
49
+ - `rigSilhouette(positions, indices, view)` is a mesh's front or side view as runs on a grid (a few ms).
50
+ - `guessMarkers(silhouette)` gives a first placement read off the outline: the crotch, the arms' row, the neck and the legs. On Tonio's three OBJ meshes it lands within 10% of body height of the hand-placed markers, mostly within 3%.
51
+ - The auto-rig page (`/rig-build/`) now rigs a character from the panel: pick one, drag its markers, and on release it is fitted, bound and walking again (about 0.15 s). **guess** re-places the markers from the silhouette alone.
52
+ - **Arm space for retargeting** (Mixamo's "Character Arm-Space"): `retargeter(source, target, { armSpaceDeg })` and `retargetClip(..., { armSpaceDeg })` turn the upper arms out from the body after retargeting, and the forearm and hand follow. A Kenney chibi's arms are long for its height, so hanging where UAL's hang put its hands half a metre through the floor, and in the retarget demo it looked as if it were kneeling. At 55° it walks like Kenney's own walk for that character, compared side by side: the arms are held out at about 45° and the lowest point is −0.13 m against Kenney's −0.15 m. The retarget page's panel no longer opens over the characters.
53
+ - **System panels for an app's main chrome** (#106, from ensemble). Three new `<tosi-b3d-panel>` controls for a panel with an `icon`:
54
+ - **`exclusive="off"`** lets it stay open beside other system panels. Opening it closes nothing, and the settings panel or an exclusive panel (an inventory) opens and closes over it without closing it. The default is unchanged: one at a time.
55
+ - **`open`** opens it when the scene starts.
56
+ - **Its `screenAnchor` is where it first opens**, so a right-hand column can be declared. A drag still moves it and it reopens there; holding its button still puts it back.
57
+ - **In a headset** the non-exclusive panels that were open follow you in and back out. A left-pinned panel sits left of centre and a right-pinned one right, lower for a lower pixel `top`.
58
+ - A focused `inputField` in one takes typing as it does anywhere: keys come from a window listener, not the DOM (checked).
59
+ - **Screenshot from the scene panel.** A download icon on every scene's standard panel opens a popup with two buttons: **With panels** and **Scene only**. Each saves the canvas as a PNG. Scene only hides the `ui` and `modal` layers and world-layer panels (the system bar included) for the frame and puts them back. The popup closes itself first, so it is never in the picture. It is `b3d.saveScreenshot({ ui, name })` in code, and returns the Blob. `setPanelsHidden(scene)` (frame-panel) is the hide, and returns its undo. Feather's `download` icon is added.
60
+ - **Axial tilt.** Planets lean, with the axis fixed in space as they orbit, so seasons and a ring's shadow on its planet come and go with the year.
61
+ - **Moons orbit their own plane:** `inclination` on a moon (degrees from the ecliptic), by default its planet's equator, as regular moons do. Our Moon takes 5.1°; with the tilt on its holder it had dropped 23° below the ecliptic.
62
+ - **`SOL` carries the real tilts** (Earth 23.4°, Saturn 26.7°, Uranus 82.2°, Venus 2.6°; a negative `day` already makes Venus and Uranus turn backwards). A star system tilts each planet (and its rings).
63
+ - **`tilt` on `<tosi-b3d-planet>`** does the same for a standalone planet; the spin runs about the tilted axis.
64
+ - **What it fixes:** Saturn's rings shadowed nothing in the Solar System demo, because they lay in the plane of the orbit, edge-on to the Sun, and their shadow was a hairline on the equator. The sun's elevation above the rings now runs from −26.7° to +26.7° round Saturn's year: two equinoxes (the demo's clock starts at one) and two solstices.
65
+
66
+ Size: barrel (min, packages external) 1152.8 KB raw / 394.5 KB gz, +3.46% on 0.10.9 (retargeting, the auto-rig and spring bones).
67
+
9
68
  ## 0.10.9
10
69
 
11
70
  ### Added
@@ -27,6 +27,10 @@ export declare class B3dPanel extends Component {
27
27
  resolution: number;
28
28
  /** 'world' | 'ui' | 'modal': drawn and picked over the world (ui), or over that too (modal). */
29
29
  layer: string;
30
+ /** System panel: 'off' stays open beside other system panels (an app's chrome). */
31
+ exclusive: string;
32
+ /** System panel: open when the scene starts. */
33
+ open: boolean;
30
34
  };
31
35
  static shadowStyleSpec: {
32
36
  ':host': {
@@ -55,6 +59,8 @@ export declare class B3dPanel extends Component {
55
59
  presence: string;
56
60
  flatFrame: string;
57
61
  resolution: number;
62
+ exclusive: string;
63
+ open: boolean;
58
64
  /** Live content (JS only): an SVG, with its own `handlePointer` if it takes the pointer. */
59
65
  svg: SVGSVGElement | null;
60
66
  /** Where it goes in the flat view, in place of the anchor (JS only). */
@@ -1 +1 @@
1
- {"version":3,"file":"b3d-panel.d.ts","sourceRoot":"","sources":["../src/b3d-panel.ts"],"names":[],"mappings":"AA8MA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACb,MAAM,kBAAkB,CAAA;AAGzB,qBAAa,QAAS,SAAQ,SAAS;IACrC,MAAM,CAAC,gBAAgB,SAAmB;IAE1C,MAAM,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;QAqBnB,gFAAgF;;QAEhF,gGAAgG;;MAEjG;IAED,MAAM,CAAC,eAAe;;;;MAErB;IAEO,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAE1B,4FAA4F;IAC5F,GAAG,EAAE,aAAa,GAAG,IAAI,CAAO;IAChC,wEAAwE;IACxE,UAAU,EAAE,YAAY,GAAG,UAAU,GAAG,IAAI,CAAO;IACnD,gGAAgG;IAChG,YAAY,EAAE,YAAY,GAAG,IAAI,CAAO;IACxC,qFAAqF;IACrF,WAAW,EAAE,YAAY,GAAG,UAAU,GAAG,IAAI,CAAO;IACpD,UAAU,SAAI;IAQd,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,QAAQ;IAOhB,sDAAsD;IACtD,MAAM,IAAI,cAAc;CAoDzB;AAED,eAAO,MAAM,QAAQ,EAAgC,CACnD,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,QAAQ,CAAA"}
1
+ {"version":3,"file":"b3d-panel.d.ts","sourceRoot":"","sources":["../src/b3d-panel.ts"],"names":[],"mappings":"AAwPA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACb,MAAM,kBAAkB,CAAA;AAGzB,qBAAa,QAAS,SAAQ,SAAS;IACrC,MAAM,CAAC,gBAAgB,SAAmB;IAE1C,MAAM,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;QAqBnB,gFAAgF;;QAEhF,gGAAgG;;QAEhG,mFAAmF;;QAEnF,gDAAgD;;MAEjD;IAED,MAAM,CAAC,eAAe;;;;MAErB;IAEO,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;IAErB,4FAA4F;IAC5F,GAAG,EAAE,aAAa,GAAG,IAAI,CAAO;IAChC,wEAAwE;IACxE,UAAU,EAAE,YAAY,GAAG,UAAU,GAAG,IAAI,CAAO;IACnD,gGAAgG;IAChG,YAAY,EAAE,YAAY,GAAG,IAAI,CAAO;IACxC,qFAAqF;IACrF,WAAW,EAAE,YAAY,GAAG,UAAU,GAAG,IAAI,CAAO;IACpD,UAAU,SAAI;IAQd,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,QAAQ;IAOhB,sDAAsD;IACtD,MAAM,IAAI,cAAc;CAyDzB;AAED,eAAO,MAAM,QAAQ,EAAgC,CACnD,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,QAAQ,CAAA"}
package/dist/b3d-panel.js CHANGED
@@ -148,6 +148,46 @@ preview.append(
148
148
  tosi-b3d { width: 100%; height: 100%; }
149
149
  ```
150
150
 
151
+ ## An app's chrome: several open at once
152
+
153
+ An editor's tools are several panels used together, not one at a time.
154
+ `exclusive="off"` lets a system panel stay open beside the others, `open`
155
+ opens it when the scene starts, and its `screenAnchor` is where it first
156
+ appears (drag one and it reopens where you left it; hold its button to put it
157
+ back). In a headset the same panels follow you in, left column left, right
158
+ column right. An exclusive panel (the settings panel, an inventory) still
159
+ opens and closes over them without closing them.
160
+
161
+ ```js
162
+ import { b3d, b3dPanel, b3dLight, b3dSkybox, b3dGround, panel3d, label3d, slider3d, ui } from 'tosijs-3d'
163
+ import { tosi } from 'tosijs'
164
+
165
+ const { editor } = tosi({ editor: { size: 1, name: 'crate' } })
166
+ // One app panel: open at start, pinned flat to a side of the screen.
167
+ const chrome = (icon, title, screenAnchor, ...widgets) => {
168
+ const el = b3dPanel({ icon, title, exclusive: 'off', open: true })
169
+ el.screenAnchor = screenAnchor
170
+ el.svg = panel3d({ width: 220 }, ...widgets)
171
+ return el
172
+ }
173
+
174
+ preview.append(
175
+ b3d(
176
+ {},
177
+ b3dLight({ y: 1, intensity: 0.8 }),
178
+ b3dSkybox({ timeOfDay: 12 }),
179
+ b3dGround({ width: 20, height: 20, texture: 'checker', textureTiles: 10 }),
180
+ chrome('mousePointer', 'Tools', { left: 8, top: 66 }, label3d({ text: 'select · move · rotate' })),
181
+ chrome('menu', 'Pieces', { left: 8, top: 190 }, label3d({ text: 'crate' }), label3d({ text: 'barrel' })),
182
+ chrome('settings', 'Options', { right: 8, top: 66 }, slider3d({ label: 'size', value: editor.size, min: 0.5, max: 4 })),
183
+ chrome('checkSquare', 'Properties', { right: 8, top: 190 }, ui.inputField({ value: editor.name.value, handleChange: (v) => (editor.name.value = v) })),
184
+ )
185
+ )
186
+ ```
187
+ ```css
188
+ tosi-b3d { width: 100%; height: 100%; }
189
+ ```
190
+
151
191
  ## Three ways to place a panel
152
192
 
153
193
  - **World-anchored (`b3d-svg-plane`)** — a panel that IS a mesh in the scene: visible
@@ -184,6 +224,8 @@ The `<tosi-b3d-panel>` children are the set (none ship by default):
184
224
  | `view` | `both` | `first` / `third` / `both` — restrict to a camera view |
185
225
  | `title` | `''` | Placeholder card title (ignored if `url` set) |
186
226
  | `icon` | `''` | Puts it on the scene's system bar: its button's picture, an `svgIcons` name (e.g. `personStanding`, `book`, `map`); unknown draws a square. Its `title` is the button's tooltip and the panel's caption |
227
+ | `exclusive` | `'on'` | On the system bar: one system panel is open at a time. `'off'` lets this one stay open beside the others and leaves them open when it opens (an app's main chrome: a tool palette, a properties panel). The settings panel and exclusive panels still close each other |
228
+ | `open` | `false` | On the system bar: open when the scene starts (and again in a headset, if it was open flat) |
187
229
  | `chrome` | `''` | On the system bar: the panel opens with the settings panel's title bar (move, its title, ×; flat, a drag moves it and it reopens where you left it; holding its button on the bar puts it back). `'none'` for content with chrome of its own |
188
230
  | `url` | `''` | SVG URL (e.g. a reticle) |
189
231
  | `width` | `0.26` | Panel width (m); height follows aspect |
@@ -197,7 +239,7 @@ The `<tosi-b3d-panel>` children are the set (none ship by default):
197
239
 
198
240
  Four more are JavaScript properties, not attributes, because they are
199
241
  objects: `svg` (live content, in place of an `<svg>` child: an `<svg>` whose own `handlePointer(kind, x, y)`
200
- gets the panel's pointer, such as an `inventoryDock`'s), `screenAnchor` (flat, pinned to the screen's edges in pixels, `%` or `vmin`: `{ left: '2vmin', top: '2vmin' }`), `flatAnchor` (where
242
+ gets the panel's pointer, such as an `inventoryDock`'s), `screenAnchor` (flat, pinned to the screen's edges in pixels, `%` or `vmin`: `{ left: '2vmin', top: '2vmin' }`; for a system panel, where it first opens, before it is dragged, and in a headset which side it goes), `flatAnchor` (where
201
243
  it goes in the flat view instead), `focusAnchor` and `focusScale` (where it
202
244
  comes, and how much bigger, when its content asks for focus with a
203
245
  `panelfocus` event). A system-bar panel with no `svg` opens a card with its title.
@@ -231,6 +273,10 @@ export class B3dPanel extends Component {
231
273
  resolution: 0,
232
274
  /** 'world' | 'ui' | 'modal': drawn and picked over the world (ui), or over that too (modal). */
233
275
  layer: 'world',
276
+ /** System panel: 'off' stays open beside other system panels (an app's chrome). */
277
+ exclusive: 'on',
278
+ /** System panel: open when the scene starts. */
279
+ open: false,
234
280
  };
235
281
  static shadowStyleSpec = {
236
282
  ':host': { display: 'none' }, // config-only element, no visual presence
@@ -301,6 +347,9 @@ export class B3dPanel extends Component {
301
347
  title: this.title || undefined,
302
348
  icon: this.icon || undefined,
303
349
  chrome: this.chrome === 'none' ? 'none' : undefined,
350
+ // 'off' (or a stray `false`, as b3d-utils' isOff reads it).
351
+ exclusive: !['off', 'false', false].includes(this.exclusive),
352
+ open: this.open || undefined,
304
353
  url: this.url || undefined,
305
354
  width: this.width,
306
355
  maxDistance: this.maxDistance > 0 ? this.maxDistance : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"b3d-panel.js","sourceRoot":"","sources":["../src/b3d-panel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"b3d-panel.js","sourceRoot":"","sources":["../src/b3d-panel.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ export declare class B3dPlanet extends B3dChild {
32
32
  ringOuter: number;
33
33
  ringOpacity: number;
34
34
  ringColor: string;
35
+ tilt: number;
35
36
  terrain: string;
36
37
  world: string;
37
38
  craters: number;
@@ -1 +1 @@
1
- {"version":3,"file":"b3d-planet.d.ts","sourceRoot":"","sources":["../src/b3d-planet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"b3d-planet.d.ts","sourceRoot":"","sources":["../src/b3d-planet.ts"],"names":[],"mappings":"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"}
@@ -196,6 +196,7 @@ tosi-b3d {
196
196
  | `cloudSpeed` | `1` | How fast the weather moves. `0` holds it still |
197
197
  | `ocean` | `0.6` | Ocean coverage (0=none, 0.6=60% of surface underwater) |
198
198
  | `wireframe` | `false` | Debug: render as wireframe |
199
+ | `tilt` | `0` | Axial tilt in degrees: the axis leans and stays fixed in space while the planet spins about it. Rings tilt with it, which is what lets their shadow fall across the planet (Saturn 26.7). A star system tilts its own planets from its spec |
199
200
  | `rotationSpeed` | `0` | Auto-rotation speed (radians/sec), west to east as planets turn. Negative turns it the other way |
200
201
 
201
202
  */
@@ -275,6 +276,10 @@ export class B3dPlanet extends B3dChild {
275
276
  ringOuter: 0,
276
277
  ringOpacity: -1,
277
278
  ringColor: '',
279
+ // Axial tilt, degrees: the axis leans, fixed in space, and the planet
280
+ // spins about it (a ring tilts with it, so its shadow falls on the
281
+ // planet). A star system tilts its planets itself (SOL's `tilt`).
282
+ tilt: 0,
278
283
  /*
279
284
  THE GROUND THIS IS A GLOBE OF (#3344): a selector for a sphere
280
285
  `<tosi-b3d-terrain>` ('#moon-ground'). The planet draws from it, and
@@ -431,6 +436,19 @@ export class B3dPlanet extends B3dChild {
431
436
  // positive, and the Earth ran backwards.)
432
437
  this.rootNode.rotation.y -= speed * dt;
433
438
  }
439
+ /*
440
+ AXIAL TILT, fixed in space: the spin (still `rotation.y`, which a star
441
+ system writes too) runs about the tilted axis. A quaternion, because
442
+ Babylon's Euler order would swing a tilt round with the spin, which is
443
+ precession, not a lean.
444
+ */
445
+ const tilt = Number(attrs.tilt) || 0;
446
+ if (tilt !== 0) {
447
+ this.rootNode.rotationQuaternion = BABYLON.Quaternion.RotationAxis(BABYLON.Axis.Z, (tilt * Math.PI) / 180).multiply(BABYLON.Quaternion.RotationAxis(BABYLON.Axis.Y, this.rootNode.rotation.y));
448
+ }
449
+ else if (this.rootNode.rotationQuaternion != null) {
450
+ this.rootNode.rotationQuaternion = null;
451
+ }
434
452
  }
435
453
  buildPlanet() {
436
454
  if (this.owner == null || this.rootNode == null)
@@ -967,8 +985,19 @@ export class B3dPlanet extends B3dChild {
967
985
  south are not, at noon). Instead the whole lit rim takes the gold
968
986
  together, by how far the sun has gone behind the planet.
969
987
  */
988
+ /*
989
+ PEAKING NEAR TANGENT. Tonio: it "looks like it's peaking several
990
+ degrees above the horizon". Measured: strongest with the sun about
991
+ 50 degrees from behind the planet, still bright at 70, which is
992
+ daylight over most of the limb. Now the gold needs the sun close
993
+ behind: full within about 15 degrees of straight behind, gone by
994
+ about 50 ("like 5 degrees vs 1 degree").
995
+ */
996
+ // The band keeps its breadth (a bump in lit made it a hairline:
997
+ // "a very thin effect which isn't what I wanted"). WHEN it shows
998
+ // is the sun place behind the planet: close behind, not high.
970
999
  float lit = smoothstep(-0.08, 0.2, ndl);
971
- float setting = smoothstep(0.25, 0.85, dot(-viewDir, l));
1000
+ float setting = smoothstep(0.62, 0.97, dot(-viewDir, l));
972
1001
  float k = clamp(limb * 2.2, 0.0, 1.0) * lit * setting * 0.9;
973
1002
  col = mix(col, gold * (glow + 0.6), k);
974
1003
  alpha = max(alpha, clamp(k * atmoOpacity * 3.5, 0.0, 1.0));
@@ -1 +1 @@
1
- {"version":3,"file":"b3d-planet.js","sourceRoot":"","sources":["../src/b3d-planet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"b3d-planet.js","sourceRoot":"","sources":["../src/b3d-planet.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export declare class ProjectedAoController {
24
24
  private _plugins;
25
25
  private _frameObs;
26
26
  private _materialObs;
27
+ private _meshObs;
27
28
  private _built;
28
29
  private _params;
29
30
  private _lastDraw;
@@ -47,6 +48,7 @@ export declare class ProjectedAoController {
47
48
  update(p: ProjectedAoParams): void;
48
49
  dispose(): void;
49
50
  private _disposeTextures;
51
+ private _attachMesh;
50
52
  private _attach;
51
53
  /**
52
54
  * Point the middle camera where the viewer is looking, with a frustum that
@@ -1 +1 @@
1
- {"version":3,"file":"b3d-ssao-projected.d.ts","sourceRoot":"","sources":["../src/b3d-ssao-projected.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAE1C,MAAM,WAAW,iBAAiB;IAChC,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;IACb,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAA;CACb;AA2FD;;;GAGG;AACH,qBAAa,qBAAqB;IAqBpB,OAAO,CAAC,MAAM;IApB1B,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,MAAM,CAA2C;IACzD,OAAO,CAAC,GAAG,CAAyC;IACpD,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,SAAS,CAA0D;IAC3E,OAAO,CAAC,YAAY,CACd;IACN,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,IAAI,CAAiB;IAE7B,6DAA6D;IAC7D,QAAQ,CAAC,cAAc,iBAA4B;IACnD,4DAA4D;IAC5D,KAAK,SAAI;gBAEW,MAAM,EAAE,OAAO,CAAC,KAAK;IAEzC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAEnD;IAED,IAAI,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAExD;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,OAAO,CAAC,MAAM,CAAkC;IAEhD,6EAA6E;IAC7E,IAAI,KAAK,IAAI,OAAO,CAAC,WAAW,CAW/B;IAED,uEAAuE;IACvE,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,MAAM,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAiBlC,OAAO,IAAI,IAAI;IAoBf,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,OAAO;IAkBf;;;OAGG;IACH,OAAO,CAAC,IAAI;IA2CZ,OAAO,CAAC,MAAM;IAiFd,OAAO,CAAC,MAAM;CAsEf"}
1
+ {"version":3,"file":"b3d-ssao-projected.d.ts","sourceRoot":"","sources":["../src/b3d-ssao-projected.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAE1C,MAAM,WAAW,iBAAiB;IAChC,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;IACb,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAA;CACb;AA2FD;;;GAGG;AACH,qBAAa,qBAAqB;IAuBpB,OAAO,CAAC,MAAM;IAtB1B,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,MAAM,CAA2C;IACzD,OAAO,CAAC,GAAG,CAAyC;IACpD,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,SAAS,CAA0D;IAC3E,OAAO,CAAC,YAAY,CACd;IACN,OAAO,CAAC,QAAQ,CACV;IACN,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,IAAI,CAAiB;IAE7B,6DAA6D;IAC7D,QAAQ,CAAC,cAAc,iBAA4B;IACnD,4DAA4D;IAC5D,KAAK,SAAI;gBAEW,MAAM,EAAE,OAAO,CAAC,KAAK;IAEzC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAEnD;IAED,IAAI,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAExD;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,OAAO,CAAC,MAAM,CAAkC;IAEhD,6EAA6E;IAC7E,IAAI,KAAK,IAAI,OAAO,CAAC,WAAW,CAW/B;IAED,uEAAuE;IACvE,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,MAAM,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAsBlC,OAAO,IAAI,IAAI;IAsBf,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,OAAO;IAkBf;;;OAGG;IACH,OAAO,CAAC,IAAI;IA2CZ,OAAO,CAAC,MAAM;IAiFd,OAAO,CAAC,MAAM;CAuEf"}
@@ -124,6 +124,7 @@ export class ProjectedAoController {
124
124
  _plugins = [];
125
125
  _frameObs = null;
126
126
  _materialObs = null;
127
+ _meshObs = null;
127
128
  _built = { width: 0, height: 0 };
128
129
  _params = null;
129
130
  _lastDraw = -Infinity;
@@ -172,6 +173,9 @@ export class ProjectedAoController {
172
173
  // A material is announced from its constructor, before a subclass has
173
174
  // finished building: attach once it exists.
174
175
  setTimeout(() => this._attach(m), 0));
176
+ // A library's pieces share its container's materials, which are not in
177
+ // `scene.materials` and were announced before this existed (#107).
178
+ this._meshObs = scene.onNewMeshAddedObservable.add((mesh) => setTimeout(() => this._attachMesh(mesh), 0));
175
179
  }
176
180
  }
177
181
  dispose() {
@@ -179,8 +183,10 @@ export class ProjectedAoController {
179
183
  if (this._frameObs != null) {
180
184
  scene.onBeforeRenderObservable.remove(this._frameObs);
181
185
  scene.onNewMaterialAddedObservable.remove(this._materialObs);
186
+ scene.onNewMeshAddedObservable.remove(this._meshObs);
182
187
  this._frameObs = null;
183
188
  this._materialObs = null;
189
+ this._meshObs = null;
184
190
  }
185
191
  for (const plugin of this._plugins) {
186
192
  plugin.isEnabled = false;
@@ -202,6 +208,26 @@ export class ProjectedAoController {
202
208
  this._blur = null;
203
209
  this._built = { width: 0, height: 0 };
204
210
  }
211
+ /*
212
+ MATERIALS ARE FOUND THROUGH MESHES TOO (tosijs-3d#107). `scene.materials` is
213
+ not every material drawn: a library's instances share the materials of its
214
+ AssetContainer, which stay out of the scene's list, and they were announced
215
+ at load, usually before AO was switched on. So library pieces never carried
216
+ the hook, never entered the depth picture, and were never occluded, while
217
+ the plugin count still said AO was running.
218
+ */
219
+ _attachMesh(mesh) {
220
+ const material = mesh.material;
221
+ if (material == null)
222
+ return;
223
+ if (material instanceof BABYLON.MultiMaterial) {
224
+ for (const sub of material.subMaterials)
225
+ if (sub)
226
+ this._attach(sub);
227
+ }
228
+ else
229
+ this._attach(material);
230
+ }
205
231
  _attach(material) {
206
232
  if (this._frameObs == null)
207
233
  return;
@@ -351,6 +377,8 @@ export class ProjectedAoController {
351
377
  this._warmUp = 30;
352
378
  for (const material of scene.materials)
353
379
  this._attach(material);
380
+ for (const mesh of scene.meshes)
381
+ this._attachMesh(mesh);
354
382
  }
355
383
  const cam = this._camera;
356
384
  // Frozen, because a camera works out its aspect from whatever is bound