Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
1fbd43b
[fix] vr grabs are per hand: two controllers hold two things (33 G4)
AlexZ005 Oct 1, 2026
f6296f5
[feat] scene scope: a module a scene switch left behind stops countin…
AlexZ005 Oct 1, 2026
186fbad
[fix] scene scope: a kept module's play contract and follow cam (33 L…
AlexZ005 Oct 1, 2026
7a81145
[feat] 33 L1 P0: scene-load trace probe (long tasks, frame gaps, prof…
AlexZ005 Oct 1, 2026
6333b43
[feat] 33 L1 P1: progressive scene loads - time-sliced build, kit pie…
AlexZ005 Oct 1, 2026
a7d4cee
[feat] 33 L1 P2: the scene-load bar - "Loading <scene> - n / N object…
AlexZ005 Oct 1, 2026
942e3eb
[feat] 33 L1 P3: Restore without freezing - kit pieces autosave as st…
AlexZ005 Oct 1, 2026
0b957c6
[feat] 33 (G2/G3): the stick reels the world; api.claimInput('sticks'…
AlexZ005 Oct 1, 2026
deb41cf
[fix] vr game board: the footer fits the board, labels fit their butt…
AlexZ005 Oct 1, 2026
24fe36b
[feat] 33 lod groups: pack lods, a LOD Group in object settings, VR f…
AlexZ005 Oct 1, 2026
69efbdb
[feat] editor ui: toolbar order, Interact cell like the others, perf …
AlexZ005 Oct 1, 2026
78d42bc
[feat] 33 P2: animated, functional pack items (door/toggle/oneshot/lo…
AlexZ005 Oct 1, 2026
a7c9991
[docs] 33 P3: PACKS.md behavior field + example item, MODULES.md api.…
AlexZ005 Oct 1, 2026
c561f24
[fix] edit in a running game: a released body stays where it was put …
AlexZ005 Oct 1, 2026
1fe7c08
[fix] 33 L1: the long tasks a load still had - object list rows, comp…
AlexZ005 Oct 1, 2026
477624f
[fix] 33 L1: warmTemplate keeps its JSDoc (svelte-check back to 332)
AlexZ005 Oct 1, 2026
81d4ccf
[test] 33 lod groups: the battery is green; real pack LOD files throu…
AlexZ005 Oct 1, 2026
b7ec061
[fix] a phone starts lighter and is always governed; two O(edges) hot…
AlexZ005 Oct 1, 2026
c9ad9f1
Merge remote-tracking branch 'origin/feat/1.18' into feat/33-games
AlexZ005 Oct 1, 2026
c6a6a25
[fix] 33 L1: programs link off-frame - sliced warmPrograms + a bounde…
AlexZ005 Oct 1, 2026
a3c93a7
[fix] 33 L1: a load applies the scene's look first and lets two near-…
AlexZ005 Oct 1, 2026
3ec55a0
[fix] perf counter separators; editor-ui-33 + edit-move-games judged …
AlexZ005 Oct 1, 2026
5ea1d26
[fix] 33 L1: the look in two steps, the governor sits out a load, the…
AlexZ005 Oct 1, 2026
ea7d312
[fix] 33 P2: a functional door is never the sim's fallback body; firs…
AlexZ005 Oct 1, 2026
d33f136
[fix] every VR canvas panel is crisp: board at 2x, wrist card at 2x; …
AlexZ005 Oct 1, 2026
959b8e3
[fix] 33 L1: the look's re-keyed programs link off-frame; no geometry…
AlexZ005 Oct 1, 2026
25452f7
[fix] 33 L1: a load waits for a program warm-up at most 1.2 s (sceneL…
AlexZ005 Oct 2, 2026
0a91461
[fix] 33 L1: the composer's pass shaders compile off-frame; a heavier…
AlexZ005 Oct 2, 2026
7103d01
[fix] 33 L1: one slice budget across pump runs; the program warm-up c…
AlexZ005 Oct 2, 2026
55a1f8a
[test] 33 L1: section 7 parses real vertex data per object (1000 icos…
AlexZ005 Oct 2, 2026
9fb06a2
[docs] CLAUDE.md: the sceneLoader entry as shipped (33 L1)
AlexZ005 Oct 2, 2026
7c0de89
scratch: merge lod-editor (resolved copies)
AlexZ005 Oct 2, 2026
e7a965f
scratch: merge scene-load (union)
AlexZ005 Oct 2, 2026
62f65b0
[feat] 33 scenes P1: kit instancing - every pristine copy of a pack p…
AlexZ005 Oct 2, 2026
849cc6b
[feat] 33 scenes P2a: animated pack pieces save as references; the au…
AlexZ005 Oct 2, 2026
249b6d0
[feat] 33 scenes P1b: kit instancing culls per member; 128 m columns
AlexZ005 Oct 2, 2026
f257f82
[fix] 33 scenes: the walker passes sensors; a garden gate opens to th…
AlexZ005 Oct 2, 2026
056667d
[feat] 33 scenes K5: the Tavern gets working doors, furniture and a s…
AlexZ005 Oct 2, 2026
5a44192
[feat] opening another scene asks keep or unload for its modules (33 …
AlexZ005 Oct 2, 2026
6eb2bc9
[feat] Clear scene is one modal: objects only, or everything (33 L3)
AlexZ005 Oct 2, 2026
a440453
[docs] CLAUDE.md: modules across a scene switch (33 L2-L4) + api.inScene
AlexZ005 Oct 2, 2026
4f9f6ca
Merge feat/33-editor-ui (#258): toolbar order, Interact cell, edit-in…
AlexZ005 Oct 2, 2026
57c6fea
Merge feat/33-lod-editor (#257): pack lods, LOD Group in object setti…
AlexZ005 Oct 2, 2026
153a07b
Merge feat/33-anim-core (#259): animated, functional pack items (door…
AlexZ005 Oct 2, 2026
1b04cf5
Merge feat/33-scene-load (#261): scenes load without freezing the win…
AlexZ005 Oct 2, 2026
8278d89
Merge feat/33-scene-switch (#263): keep/unload modules, a real Clear …
AlexZ005 Oct 2, 2026
33cffe4
Merge feat/33-games (#260): two hands hold two blocks, game menus fit…
AlexZ005 Oct 2, 2026
f77a743
Merge feat/33-untangle-core (#255): the stick reels the world; api.cl…
AlexZ005 Oct 2, 2026
bf04f07
Merge feat/33-scenes (#262): Wizard's Tower + Market Town Square, the…
AlexZ005 Oct 2, 2026
3b328f5
[feat] integrate 33 (K5): the General tab's Architecture shell is bui…
AlexZ005 Oct 2, 2026
4b02072
[fix] integrate 33: two suites read one instant across an async load/…
AlexZ005 Oct 2, 2026
a2b0b80
[fix] integrate 33: two more suites taught about the union
AlexZ005 Oct 2, 2026
1b49b58
[fix] integrate 33: the quality toast says "Use full quality", not "R…
AlexZ005 Oct 2, 2026
237bcc0
[chore] integrate 33: level views for the Forest Clearing and the kit…
AlexZ005 Oct 2, 2026
4ef0ea0
[docs] 1.19.0: changelog + CLAUDE.md status (round 33 integrated, pre…
AlexZ005 Oct 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,88 @@
per release, newest first. HTML comments like this one are stripped before
rendering, so maintainer notes stay out of the user-facing window. -->

## 1.19.0 — Doors that open, scenes that load, games that switch 🚪

### 🧱 New packs and levels

- 📦 **Four new packs**: **Interiors** (furniture, kitchen, bar, lights and wall trims that snap to the
architecture walls), **Town & Market** (seamless street tiles, a fountain, stalls, a clock tower, an
opening garden gate), **Interactive** (doors WITH their frames, gates, a portcullis, a trapdoor,
shutters, chests, drawers, a lever, a pressure plate, an ambient banner, torch and fan) and
**Arcane Study** (a wizard's hero props).
- 🏰 **Two new example levels** in Templates ▸ General — the **Wizard's Tower** (alchemy lab, study,
bedchamber, a roof telescope) and **Market Town Square** (fountain, stalls, a bakery you walk into) —
and the **Tavern Interior** rebuilt: its doors open, it is furnished from the Interiors kit and it
stands on a street. The **Architecture shell** template is built from the kits too, with a door
that opens.
- 🧊 **No more flicker** on kit pieces while you move around (the modular block and twelve others).

### 🚪 Things that move, only when asked

- 🚪 **Doors, lids and levers work** in Interact and Play: click (or point the VR laser, poke, or knock)
and a door swings open with a sound, and you can walk through; click again and it shuts. Everyone in
the session sees the same door. A sliding door can open as you walk up to it.
- 🛑 **Nothing animates by itself any more.** Placing or loading an animated model no longer starts it
looping; only ambient pieces (a banner, a fan, a torch) move, and only in Interact/Play. The
Animation panel can preview a clip in Edit without changing the scene. Animated pack items carry a
small ▶ badge in the Explorer.

### 🔭 Levels of detail, like a pro tool

- 🔭 **Every pack object has LODs**, and far-away pieces draw with far fewer triangles.
- 🎚️ **Properties ▸ LOD**: a level bar whose edges you drag, Force LOD, select a level to preview and
move it, replace a level with another object, generate levels, a "Show LOD level" overlay — and a
LOD row in the VR properties panel.
- 🧮 **Kit levels draw far fewer calls**: every copy of a pack piece is drawn in one go (Settings ▸
Performance ▸ Draw repeated kit pieces together) — the Tavern went from 394 to ~135 draw calls in a
headset.

### ⏳ Scenes that load without freezing

- ⏳ **Opening and restoring big scenes no longer freezes the app**: a progress bar with Cancel, pieces
stream in, and the autosave of a kit level is ~50× smaller (Castle Courtyard's restore on a phone
went from a 90-second freeze to a responsive load).
- 🔁 **Opening another scene asks whether to keep the modules** the last one brought (Settings ▸ Scene:
Ask, Keep or Unload). **Clear scene** asks too: clear the objects, or everything including the game
setup and its modules. One game no longer leaks its music, gun, menu or spawn into the next.

### 🎮 The games

- 🙌 **Towers: two hands, two blocks** — hold a block in each hand; letting go of one never freezes
the other.
- 📱 **Stars Room on phones**: phones start at a lighter quality (half the draw calls and render
passes), so it no longer lags.
- 🪢 **Untangle 2.4.0**: in VR push the stick up/down to send the board or the held globe away or bring
it closer (as with an object in Edit); the level picker and the Globe / 2D tabs show over the menu
board.
- 🔤 **Crisper VR menus** (the game board and the wrist card render at full headset resolution) and
the menu's **Menu / Top strip** buttons fit inside the board in every game.

### 🛠️ Editor

- 🧰 **Toolbar order**: Move, Rotate, Scale, **Interact**, **Play**, Object list, Node editor,
Explorer, Animation. The Interact button no longer shows a red border on click or leaves two
un-highlighted corners beside Play.
- ✋ **Edit inside a game**: every object can be moved while a game runs — a dropped body stays where
you put it until you leave Edit. In VR, select a wall or floor first to grip it.
- 📈 **FPS and draw calls** as a setting (Settings ▸ Interface ▸ Viewport, and in VR): fps, frame
time, draw calls (amber above 120, red above 150 — the Quest budget) and triangles.
- 🕹️ **VR stick push/pull**: holding the world with one grip, the stick sends it away or brings it
closer, as with an object in Edit.

### 🩹 Fixes

- 🚶 In Play the walker no longer bumps into pass-through objects (grass, flowers, rugs); an open
garden gate lets you through.
- 🚪 A door or chest from a pack saves as a reference to its pack file (a few hundred bytes instead of
up to 1.4 MB).

### 🧩 For module makers

- `api.behavior` (list / state / trigger functional items) · `api.lod` handles gain `force(n)` and
`levels()` · `api.claimInput('sticks')` · `addSetting({..., onLevels: true})` · `api.inScene()`
(false while your module is left behind by a scene switch).

## 1.18.0 — Menus, levels and smooth frames in a headset 🥽

### ⏸️ Every game has a real menu
Expand Down
Loading
Loading