In-world camera gizmos: with the cinema panel open you now see each shot as a little floating camera projecting its view cone, so you can read position and angle at a glance. The beam fades out along its length instead of ending on a hard pane, the possessed camera hides itself, and every gizmo is client-side only (nothing spawns for other players). Each one carries a world-anchored name plate in a dark readable box. New setting: NODE GIZMOS toggle in the settings panel (on by default). Shot inspector dials now repeat while you hold + or −, accelerating the longer you hold.
v1.15.1 — The director now clears transient panel state on spawn, so a refresh no longer greets you with the ADD-effect menu stuck open (or a half-open library, settings flyout, or leftover possession). Saved nodes, sequences and clips are untouched.
v1.15.0 — Engine 5.2 compatibility pass. • Clip library moved off the removed storage:get/storage:set jobs onto api.sql. Clips now live in a durable cinema_clips table; every vault call carries its own CREATE TABLE IF NOT EXISTS, so the library works in any host game with no migration setup. • setCamera now uses { mode: 'merge' } at all five takeover sites instead of 'replace' — replace was stripping the host project's own camera behavior. Dropped the dead transition: { duration } option. • Fixed the director panel vanishing on possess: the possess side-panel, color picker, audio picker and library panel referenced a removed layout variable, which threw during render and blanked the whole UI (so you couldn't unpossess). • Fixed the mouse still orbiting the camera during possess and playback: cinema takeovers now declare orientation: { source: 'script' } with pointerLock off and the cursor shown, and restore source: 'look' + pointer lock on release/stop. • The clip library stays usable while a node is possessed — open/save/load/delete/import no longer dead-end behind the possess branch. • Hold-to-skip is now OFF by default on new clips and sequences (saved clips keep their own stored flag). • cinema-camera-yield skill updated with the merge + script-orientation contract for host camera scripts.
v1.14.0 — Fixed skip not filling: replaced input.actions.jump with dedicated cinemaSkip action (activeOn: hold) so the hold state stays true every tick while space is pressed, regardless of how the host project configures jump.
v1.13.0 — Fixed hold-to-skip rubberband. Skip hold accumulation moved from onInput to update() for smooth, reliable dt. onInput now only tracks whether space is held; update() does the actual fill.
v1.12.0 — Removed camera shutter sound on stamp. Added skippable toggle: gear icon in transport bar opens settings panel with hold-to-skip toggle. Skippable flag saves/loads with clips. Skip overlay and hold-to-skip logic respect the flag.
Added all vfx: input actions that vfx-playback.js reads — fixes the input registration errors on install.
Fixed /cinema command import instructions — ui-cinema.js is a default export (const renderCinemaPanel = require(...)), not a named destructure. Prevents the import error when Savi wires the panel.
Fixed /cinema command to use correct mod-namespaced import paths (mods/absolute-cinema/...) so Savi wires the overlays with the right require path in other projects.
Close button on cinema panel now works via cinema:close action instead of routing through admin-console. Panel closes and releases possession in one click.
Added lib/ui-cinema-overlays.js — standalone UI module rendering cinema fade, color wash, cinema text, and hold-to-skip overlays. Updated /cinema command to instruct Savi to wire overlays into host ui.js alongside the panel.
Removed clearCamera() calls from cinema-camera.js — clearCamera is a player-side API, not available on camera behaviors. The cinema-director player behavior already handles clearCamera on release/stop.
Updated cinema-camera-yield skill with re-seed pattern — fixes frozen camera after releasing cinema. The yield guard now tracks _cinemaYielding state and re-seeds the host camera's tracking position on the transition frame when cinema releases.
Added standalone cinema-camera.js — handles possess and playback camera modes so the mod works in any project without needing the host camera to have cinema awareness. Uses setCamera/clearCamera to take/release camera control.
Removed god-mode UI panel. The /cinema command now instructs Savi to wire the cinema panel into the project's own ui.js if it isn't already, then toggles it. This makes the panel work natively in any project.
Added mod UI panel registration so the cinema panel actually renders in installed projects. Previously the script was included but nothing was drawing it.
Full replacement — updated cinema-director with effects track (fade, turbulence, colorWash, cinemaText, event cues, screen effects), clip library (save/load/import/export), hold-to-skip system, sequence ending shots, and VFX playback mirror. Updated UI panel with effects track editor, timeline scrubbing, clip management. Added /cinema slash command to toggle the panel from chat.