Changelog
Releases
Runtime, CLI and component releases, newest first. Every runtime release also ships a full write-up in the package's own CHANGELOG.
- components
WebGL context recovery and lifecycle management in Pro components
- Explicitly release WebGL contexts upon unmount across Pro components: Bubble Transition, Follow Cursor, Ghost Typewriter, Glass Curtain, Glow Tile, Halo Cursor, Heart Stream, Media FX Pro, Pixel Smear Carousel, and Refractive Gallery. Prevents context leakage exhausting browser-level MAX_WEBGL_CONTEXTS limits.
- The same components now restore state following unrecoverable GPU driver resets. Resolved cases where components waited indefinitely for restoration events that never fired, and implemented missing reset handlers in Ghost Typewriter, Glow Tile, and Heart Stream.
- Carousel 3D, Particle Morph Gallery and Play Pause:
mount="eager"bypasses initial mount scheduling without disabling scene gate guards. Components pause render loops when offscreen and display static fallbacks when prefers-reduced-motion is active. - Follow Cursor, Ghost Typewriter and Heart Stream enforce viewport culling and reduced-motion preferences. Under reduced motion, Ghost Typewriter renders complete text strings immediately rather than running the typing animation loop.
- Lookbook: unmounting no longer triggers cascade rebuilds across adjacent scenes. Differentiates intentional React Three Fiber canvas destruction from unexpected hardware context loss.
- Compatible with
@vectorvesper/motion>= 4.0.0.
- runtime4.2.0minor
Standalone Three.js runtime integration via useThreeScene
@vectorvesper/motion/three:useThreeSceneprovides declarative lifecycle management for standalone Three.js pipelines. Coordinates renderer instantiation, viewport culling, shared frame conductor loops, hardware DPR ceilings, automated context restoration, and prefers-reduced-motion guards across bothWebGLRendererandWebGPURenderer.useRenderQuality: isolated canvas unmounts from global recovery loops. Suppressed false-positive loss signals caused by R3F unmount procedures, preventing cascading scene rebuild cycles during rapid route or tab transitions.useRenderQuality: clamped profile DPR targets againstwindow.devicePixelRatio. Prevents over-rendering on standard-density displays (such asdpr: 2targets forcing 4x pixel fill rates on 1x panels) and stabilizes fill-rate-bound frame rates.useRenderQuality: captured and recovered from context loss events occurring during active R3F scene initialization, preventing unhandled blank canvas states.RendererHealth: addedbuiltAttimestamp support toreportLost()to detect rapid post-rebuild context failures, allowing up to three consecutive recovery passes for unstable contexts.RendererHealth: added automated 5-second recovery timeouts whenreportHealthy()is omitted, preventing dropped context loss events and permanently blank canvas states while issuing diagnostic warnings.useSceneGate: corrected fallback handling on tier 0 hardware load profiles to enforce lowest-tier fidelity instead of falling through to default maximum quality.useSceneGate({ content: true }): added content-mode gating for critical UI elements (e.g. data visualizations). Defers initial render until scroll and main-thread settling, then mounts unconditionally regardless of device tier or reduced-motion settings.useNumberTicker: halted DOM write cycles immediately upon reaching target values, eliminating redundant 60Hz reflow passes on static counters.useNumberTicker,useMagneticIntent,useImageTrailanduseVideoScrubber: added deferred ref resolution to support delayed DOM mounts from Next.js dynamic imports and hydration boundaries.DeviceSignals: refined Apple GPU classification heuristics to require touch capability before assigning mobile performance profiles, ensuring macOS Safari instances default to desktop tiers.
- cli2.8.0minor
check_motion: added static analysis rules for standalone Three.js implementations:offscreen-render,uncapped-pixel-ratio,unreleased-context, andrenderer-rebuilt-on-change.check_motion: addedadapter-props-to-wrapperrule to detect adapter spreads onto intermediate wrapper components that fail to forward frameloop, DPR, and context loss handlers to<Canvas>.check_motion: resolved namespacednew THREE.WebGLRenderer()instantiations inwebgl-context-loss, enforcedreportHealthy()pairings, and flagged un-guarded custom render loops missing prefers-reduced-motion checks.plan_motion: prompt synthesizer generatesuseThreeScenescaffolding for raw Three.js requirements, while routing declarative R3F architectures touseSceneGateanduseRenderQuality.plan_motion: expanded semantic routing to suggestuseSceneGate({ content: true })when querying for scroll-deferred content mounting.search: refined rank-ordering to prioritizeuseAdaptiveQualityfor reduced-motion and accessibility queries.- Updated MCP motion planner with
builtAtsignatures,reportHealthy()contracts, DPR clamping rules, and starvation mitigation forcost: "heavy"pipelines.
- runtime4.1.0minor
WebGPU device loss lifecycle
watchGPUDevice: binds WebGPUdevice.lostPromise resolution into the runtime lifecycle, incrementing scene generation counters to trigger automated reconstruction viauseSceneGate.watchGPUDevice: filters outreason === "destroyed"events during intentional unmounting, preventing recursive rebuild loops during component teardown.DeviceSignals: carries awebgpuflag, read synchronously fromnavigator.gpu. Adapter limits remain decoupled from tier assignment pending asynchronousrequestAdapter()capability checks.useRenderQuality: dual-binds WebGPU device loss observers and WebGL context restoration listeners to transparently handle Three.js fallback switches during backend initialization failures.GPUDeviceLikeis structural, ensuring@webgpu/typesremains optional in dependency trees.
- cli2.7.0minor
check_motion: added WebGPU audit rules: unmonitored GPU device acquisition,device.losthandlers misclassifying intentionaldestroy()calls as runtime faults, and unreliableinstanceof WebGPURendererchecks under silent WebGL fallbacks.check_motion: extended scanner entrypoints to parse WebGPU-only source files independently of WebGL or R3F markers.plan_motion: routes WebGPU queries directly towatchGPUDeviceinstead of WebGLwebglcontextlostlisteners.
- runtime4.0.3patch
RendererHealth: debounced concurrent context losses within a 250ms window into a unified reset event, preventing cascading multi-canvas remount storms during driver resets.
- runtime4.0.2patch
useRenderQuality: preserves drawing buffer DPR during idle states to prevent buffer clearing without scheduled repaints.
- cli2.6.0minor
login,logoutandwhoamicommands documented in--helpreference.- Normalized authentication token terminology to access token across all CLI outputs and diagnostics.
- Resolved non-zero exit code mapping on Windows platforms, normalizing spinner error terminations to exit code 1.
- runtime4.0.1patch
AnimationBudget: dynamically calculates frame budget thresholds from display refresh rate, eliminating false-positive throttling on high-refresh panels (120Hz–240Hz).
- cli2.5.0minor
plan_motion: maps natural language requirements to motion primitives, execution sequences, and CSS hardware acceleration boundaries with strict refusal heuristics.check_motion: thirteen static analysis rules covering isolated frame loops, layout thrashing in render lanes, unthrottled per-frame state dispatches, and unhandled context loss.
- runtime4.0.0major
Declarative Canvas props from useRenderQuality
useRenderQuality: refactored to export declarative props for<Canvas>outside the scene tree, deprecating imperative internal calls tosetDpr,setFrameloop, andgl.shadowMap.enabled.- Idle scenes pause frame execution: eliminates unneeded background render cycles once scene stability is reached.
useRenderQuality: enforced explicit DPR overrides against React Three Fiber default reconfiguration passes.
- runtime3.0.0major
Frame pressure attribution engine
useFramePressure: classifies frame drops into runtime overhead, competing main-thread script execution, or GPU fill/compute bottlenecks with confidence scoring.AdaptiveQuality: gates quality degradation strictly to verified GPU bottlenecks, avoiding unnecessary visual fidelity drops during third-party main-thread stalls.
- runtime2.0.0major
Scene gate and React Three Fiber adapter
useSceneGate: manages viewport mount thresholds, frame loop execution, adaptive resolution profiles, and automated state restoration upon context loss.RendererHealth: provides WebGL context loss detection and generation state keys for automated scene remounting under React Three Fiber.- React Three Fiber adapter isolated under
@vectorvesper/motion/r3f, keepingthreepeer dependencies decoupled from non-3D builds. useSceneGate: implements viewport suspension to pause render loops offscreen while preserving WebGL contexts, GPU textures, and compiled shader programs.
- components
Ghost Typewriter, Jigsaw Puzzle, Lookbook and expanded Pro catalogue
- New Pro components: Field Web, Ghost Typewriter, Glow Tile, Heart Stream, Jigsaw Puzzle, Lookbook, Play Pause, Prism Testimonial, Repel Me Text, Trail Collector and Wind Scatter.
- components
Ribbon Text and Tilt Transition
- Ribbon Text: typography composed of multi-chromatic vector bands that deform dynamically along scroll trajectories and resolve via spring physics.
- Tilt Transition: 3D perspective route transitions utilizing pre-rendered target routes to maintain immediate navigation responsiveness without mounting delays.
- components
Initial release
@vectorvesper/motion: the frame conductor, sensor bus, quality governors and React hooks. Zero dependencies, all peer packages optional.vectorvesperCLI: provides local source scaffolding and registry ingestion without adding runtime dependency overhead.- Open-source core components: Acrylic Shader, Cinematic Text, Code Rain, Dispersed Text, Glass Gallery, Image Ticker, Liquid Transition, Magnetic Sand, Media Shader, Physics Buttons, Scroll Highlighter, Video Card.
- Pro launch components: Blur Transition, Bubble Transition, Card Deck, Carousel 3D, Cube Scroll Menu, Follow Cursor, Glass Curtain, Halo Cursor, Media FX Pro, Particle Morph Gallery, Pixel Smear Carousel, Pixel Stretcher, Portal Peeler, Refractive Gallery, SVG Path Story, Text Trail, Volumetric Light.