diff --git a/CHANGELOG.md b/CHANGELOG.md index a1868bf6e..300edb156 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,58 @@ per release, newest first. HTML comments like this one are stripped before rendering, so maintainer notes stay out of the user-facing window. --> +## 1.45.0 β€” Build in the headset: measure, arrange, paint, scatter, browse assets and shrink the world πŸ₯½ + +Everything you need to build a scene now works with the headset on: measure and line things up, paint terrain and +scatter, pull models off your wrist and drop them in, and scale the whole world down to a miniature to work from above. + +### πŸ“ Measure and arrange + +- **Tools β–Έ Measure**: tap points with the laser β€” they snap to corners, edges and faces (and to the grid when grid + snapping is on). Chains of points, labels that turn to face you and stay readable, a double tap (or **Keep**) makes it + a measurement item like on the desktop; **Selected β–Έ Edit measurement** moves its points. +- **Selected β–Έ Arrange** for two or more objects: pick the axis, then Align min / centre / max, Even centres / gaps, + Drop to ground or Align to β€” the same as the desktop, one Undo, everyone sees it. + +### 🌍 Shrink the world + +- In Edit, **both grips always grab the world**, wherever you point: pull your hands together to shrink it down to a + **1:50 miniature**, apart to grow it, twist to turn it. It clicks (with a buzz) at 1:50 Β· 1:10 Β· 1:5 Β· 1:2 Β· 1:1 Β· 2Γ— Β· 5Γ— + Β· 10Γ—, a readout shows the scale, and **Back to 1:1** sits on the quick menu while the world is off life size. The + comfort vignette closes in while it scales or turns. Only you see it. +- To scale or turn an **object** with two hands, grab it and move it a little first, then add the second grip. Grips + never pick up the terrain, locked objects, things bigger than about 2 m or a room you are standing in. +- Settings β–Έ VR β–Έ **Both grips scale the world**: Always (new) or Only in empty air (the old way). + +### πŸ–ŒοΈ Brushes on the controller + +- Quick menu β–Έ Sculpt β–Έ **Paint** (terrain layers 1-4) and **Scatter** (paint, erase, rotate, scale, relax, choose a + source). The trigger paints; the stick sets radius and strength (or density); a ring shows the brush on the ground + and a buzz starts each stroke. Works in a miniature too. + +### πŸ“¦ Asset Browser on your wrist + +- **Add β–Έ Assets** opens a browser on your wrist: packs, free CC0 models and your library, searchable with the VR + keyboard. Trigger-drag a card into the scene, or click it and place copies with the laser (it snaps, the stick turns + it, grip stops). Grip the panel off your wrist to pin it in the air; grip it back to return it. +- **Hand tracking**: no controllers needed to browse and place β€” a pinch is the trigger, pinch-drag drops a model. Tools + that need precision ask you to pick up a controller. + +### πŸ”§ Fixes + +- Someone who joined your room no longer comes back from a network or signaling blip as View-only β€” their edits kept + staying on their own screen while you still saw them as an Editor (hosted site; seen on 1.43.2 and 1.44.0). +- **On Impact** now fires when an object hits something from any side β€” a ball thrown at a wall or a target β€” not only + when it lands (new **From** option: any side / landing only; On Impact nodes in existing scenes keep landing only). +- Rotate and Motor nodes spin up from rest when they switch on, and an auto-starting HUD Timer counts down from its full + time (both used to start as if they had been running since midnight). +- Set Game State, Set Variable, HUD Rows, HUD Set Input, Device Param and Note Trigger show the sockets they read, so + you can wire them by hand; a HUD Timer's **start** socket starts it. +- The Sequence card shows its wait times at the normal card width; thirteen node descriptions say what the node really + does. +- The profile button opens with Enter or Space instead of on focus, so Tab moves past it, and Esc returns to it. At + large UI scales on a narrow phone, window headers stay on one row with the close button beside the title. + ## 1.44.0 β€” Quick wins: play from where you stand, trace over a picture, share files in, embed anywhere ⚑ Small things you feel in every session: try the corner you are building without walking there, trace a plan, send a diff --git a/CLAUDE-index.md b/CLAUDE-index.md index 830b840ba..327550803 100644 --- a/CLAUDE-index.md +++ b/CLAUDE-index.md @@ -2,7 +2,7 @@ Generated by `node scripts/claude-index.cjs` (never edit; on a merge conflict, run it again). Grep this file for a word, then read CLAUDE.md from that line (`Read CLAUDE.md offset= limit=60`). -7068 lines indexed. +7082 lines indexed. 1 # CLAUDE.md β€” theprototype.app @@ -363,274 +363,275 @@ Grep this file for a word, then read CLAUDE.md from that line (`Read CLAUDE.md o 4233 - **flowbite `Button disabled` styling can go stale until the component 4240 - #14 file-shape traps 4261 - Connection "connected" state = `$peers.openedPeers`, NOT `userdata.length` - 4266 - A fixed overlay anchored under the Connect pill can't use a `position:fixed` - 4272 - Headless e2e can't reach a signaling server (peer.open stays false, `peer.connect` - 4275 - Svelte 5.5x runes-mode: a MULTI-CODE `svelte-ignore` comment only honors the FIRST - 4281 - Svelte 5 forbids mixing `on:click` and `onclick` **per component** β€” match the file's - 4288 - a11y warnings count against the baseline too. A `
` you make keyboard-focusable - 4296 - Editing svelte files by exact-match is whitespace-sensitive; the files use TABS. - 4300 - Module-level `store.subscribe(cb)` runs cb SYNCHRONOUSLY at module eval β€” any - 4310 - svelte-awesome-color-picker 4.x (runes rewrite, #15-C) - 4318 - Toasts (#15-L/P) - 4328 - PWA (#15-N) - 4336 - **A component's scoped `