Changelog

Stay up to date with the latest changes, fixes, and improvements to Viontri.

v0.3.1

October 2, 2026 Patch
CHANGED
  • Improved gobo bake responsiveness by coalescing slider-drag bakes.
  • Renamed the God Rays post-processing group to Light Shafts.
  • Improved secondary viewport first-open speed by pre-compiling shaders ahead of time.
FIXED
  • Fixed gobo projection flipping on downward-aimed spotlights so projected images stay upright.
  • Fixed modal overlays darkening and covering the window title bar so it stays usable.
  • Fixed the secondary panel minimize animation breaking after drag or resize.
  • Fixed overblown bloom washing out bright pixels and made the threshold control respond predictably.
  • Fixed character variant parts stacking all layers instead of showing only the selected variant.
  • Fixed saddles and other authored part textures disappearing after saving and reloading a project.
  • Fixed left arms and legs of imported characters not mirroring their textures correctly.

v0.3.0

September 30, 2026 New Feature Release
ADDED
  • Added a full set of camera post-processing effects: Depth of Field, God Rays (with Sun/Moon source selector and occlusion-mask pass), Vignette, Pixelation, Lens Distortion, Chromatic Aberration, Halftone (color and black-and-white modes), Film Grain, Motion Trail, and Heat Wave, each with UI controls and per-keyframe camera animation support.
  • Added an orbit camera mode with a pivot gizmo, rotation knobs, and keyframe support.
  • Added a secondary-viewport camera-effects toggle.
  • Added a grid-overlay toggle for the camera preview.
  • Added an empty-camera overlay with an Add Camera action for the secondary viewport.
  • Added a multi-color Day/Transition/Night sky system with image skybox support (equirectangular and cube layouts).
  • Added a Moon system with directional light, an export-camera-following billboard, phases, size, color, intensity, and texture selection.
  • Introduced a keyframable Environment object for global sky, sun, moon, fog, cloud, biome, and floor settings.
  • Added a Follow Sky Color option for fog plus centralized fog handling.
  • Added custom biome grass, foliage, and water color pickers with keyframe support.
  • Added spotlight gobo with rotation, softness, and keyframe support.
  • Added import support for Bedrock schematics (.mcstructure), Blockbench models (.bbmodel), Minecraft Java (.json) and Bedrock (.geo.json) models, FBX models (.fbx), Mine-imator objects (.miobject) and projects (.miproject), and Minecraft Resource Pack bundles (.zip).
  • Implemented a full audio system with import, user-gesture-gated playback, offline decoding for cached assets, spatial audio, per-keyframe volume/output/speed, waveform timeline, ripple trim, split, and export mixing.
  • Added audio clip playback-rate control with next-clip clamping.
  • Added audio asset import from the cached library.
  • Added video textures on planes with timeline tracks, waveform display, trimming, spatial audio, multi-clip support, and export mixing.
  • Added separate audio and video track selection in the outliner and timeline.
  • Added track-level mute and lock controls for audio and video tracks.
  • Added keyboard shortcuts for audio and video ripple trim and split.
  • Added export time-range selection with work-area in/out points, ruler interactions, timeline shortcuts, and project persistence.
  • Added start and end time-range inputs for video export.
  • Added video export bitrate, codec, and MKV format options.
  • Introduced 3D text shapes with font import, multiline, alignment, spacing, and keyframe-animated text properties.
  • Added Tetrahedron, Cone, Torus, Octahedron, Icosahedron, Circle, and Ring shapes to standard assets.
  • Added item-sheet support for shape objects.
  • Added Mine-imator-style texture mapping for cylinder and cone shapes.
  • Added a pivot transform channel with copy, paste, and reset support.
  • Implemented 3D skin extrusion for characters.
  • Added bendable extruded 3D planes, including Mine-imator model limbs.
  • Added a female character face type with textured eyelashes and adjusted proportions, switchable between Male and Female in the library browser.
  • Added bendable character fingers, toggleable from the library browser when creating characters.
  • Added a global sharp-bend mode for hard 90-degree limb joints.
  • Added inherit-bend and lock-bend pinning for bendable limbs.
  • Added a schematic interactable-blocks manager with include/exclude lists, search, and animated doors, chests, and related blocks.
  • Added a schematic hidden-block filter with Shown/Hidden inspector and persistence.
  • Added plant growth-stage variant preview plus improved double-plant and chest rendering.
  • Added cancelable schematic import with staged progress reporting.
  • Added a library grid/list view toggle with async thumbnail loading, remote thumbnail resolution, and loading spinners.
  • Added library name/size sorting with default source-order mode.
  • Added pixel-accurate animated Minecraft block and item thumbnails with state-variant cycling.
  • Added per-category tabs with counts for My Library cache.
  • Added searchable texture dropdowns with pinned-first ordering.
  • Added an online projects browser with search, tag filter, sort, offline fallback, and caching.
  • Added folder objects for grouping in the outliner.
  • Added outliner drag-and-drop reparenting and reordering with multi-select mode.
  • Added inline outliner rename with F2, double-click, and context-menu entry.
  • Added timeline autoscroll during playback and ruler scrub with settings toggle.
  • Added timeline zoom via Ctrl+wheel, trackpad pinch, and touch pinch with cursor-anchored zoom.
  • Added touch hold-ripple feedback with haptic vibration for keyframe dots, viewport long-press selection, outliner drag, and track long-press, plus touch export-range gestures (hold-to-define, marker edge resize) and track double-tap keyframe creation with tap-vs-drag gating.
  • Added a timeline scroll-sensitivity setting.
  • Added a playback loop toggle for the timeline.
  • Added quintic and circular easing functions.
  • Added WASD walk mode with toggle, sensitivity controls, customizable keys, secondary-viewport support, mobile D-pad with customizable touch layout and persistent sizing, touch-drag tilt, sprint toggle, and hardened multi-touch gestures.
  • Added configurable right-mouse mode switching between pan and in-place tilt.
  • Added a trackball-scale setting and Shift+Left-drag zoom for viewports.
  • Added in-app project saving with thumbnails, file sizes, and relative save times.
  • Added a tabbed main-menu projects view (Default, Autosave, Saved, Online tabs) with saved-tab search, sort, refresh, and staggered toolbar re-entry animation.
  • Added settings access from the main menu via a toolbar button visible while the menu is open.
  • Added automatic per-project multi-slot session saving with settings panel (on/off switch and interval control, strict-interval timing with flush on tab hide) and a main-menu autosave grid with preview thumbnails and resume support.
  • Added drag-and-drop project loading to the main menu.
  • Added duplicate-asset handling with configurable ask/overwrite/duplicate behavior.
  • Added a missing-file recovery popup when opening projects with unresolved dependencies, with locate-files browse and drag-and-drop, a continue-without-textures option, and cancel that leaves the current scene untouched.
  • Implemented used-assets-only project serialization so exports bundle only referenced textures and resource packs.
  • Added numeric-expression support with range clamping and keyboard stepping for numeric inputs.
  • Added a debug overlay with real vs CPU-bound FPS and per-frame CPU time.
  • Added a window-controls-overlay title bar with drag region, app icon, and version label, hardened mobile fullscreen handling, and build-time version injection (HTML placeholders, APP_VERSION, document title).
  • Added a new bug to be fixed later.
CHANGED
  • Reordered the sidebar Properties tab sections for easier access.
  • Updated bend, texture, and biome labels, grouped sun light controls, and fixed sort-dropdown stacking.
  • Updated numeric inputs to accept partial typing without snapping to zero mid-entry.
  • Updated library card titles with truncation and hover scrolling.
  • Updated camera-preview button-state styling with shared handling and fade-in effects, and simplified shadow toggle labels.
  • Improved library loading visibility by displaying real-time download size and file counts during extraction.
  • Improved skeleton, import, and export performance with instanced bone helpers, batched asset loading, and per-asset progress reporting.
  • Optimized selection-outline performance by drawing edges directly without blur passes and running outline passes only when a selection exists.
  • Made timeline scrolling smoother and timeline resizing more responsive.
  • Made playback and timeline scrubbing lighter so the editor stays responsive while animating.
  • Made playback smoother for item sheets and video textures.
  • Made project importing, library browsing, and schematic loading faster.
  • Allowed plain uploaded images to replace Mine-imator model textures and corrected the initial texture-dropdown selection.
  • Improved reading of existing mimodel files with 3D-extruded parts via the new extrusion foundation, covering mirrored textures, per-shape texture sizes, embedded-texture resolving, shared multi-plane bend frames, and bend direction, limit, and angle parameters.
  • Replaced material emissive color with a numeric brightness control rendered through a custom glow shader.
  • Updated the export progress popup with a tips banner, a donate action, renamed template actions from Open to Create, and mobile-friendly viewport-aware sizing with full-bleed layout and safe-area padding.
  • Updated the save-project dialog with a preview thumbnail and overwrite-aware Save vs Save As behavior.
  • Updated the easing picker, easing context menu, and custom dropdowns to show easing-curve icons in a refreshed grid style.
  • Updated the timeline ruler to size dynamically from keyframes with canvas rendering and zoom-aware density.
  • Improved keyframe duplication to find the next free frame and select the new keyframe.
  • Changed WASD and right-click camera movement to preserve orbit distance instead of using a fixed offset, and merged viewport and shortcut settings into a single Control section.
  • Changed shortcut settings Reset to restore default bindings instead of clearing them.
  • Simplified default shape names in the outliner to plain shape names without size details.
FIXED
  • Fixed water, lava, Nether portal, and End portal rendering in schematics and preserved liquid opacity through the properties panel, so liquids and portals keep their correct height, shape, and transparency.
  • Fixed transparent sorting for water and reflector surfaces across main and secondary viewports.
  • Made starting a new project or switching projects fully reset editor state (stale shadow maps, audio/video assets, textures, tick rate, duration, camera target), so shadows no longer render at wrong offsets and nothing leaks in from the previous scene.
  • Fixed vibrance channel inversion and color-burn HDR handling in post-processing, so very bright highlights and glossy peaks stay clean white without color artifacts.
  • Fixed stale frame leftovers sticking at the edges of the secondary camera preview when its aspect ratio does not fill the preview area.
  • Fixed 3D-plane shapes failing to restore on project load, so saved 3D planes reappear instead of going missing.
  • Fixed accidental keyframe creation on the wrong frame when scrubbing from a focused input.
  • Fixed per-keyframe visible/active state not surviving project export and import.
  • Fixed outliner-hidden state being revealed during playback and lost on serialization.
  • Fixed saved cameras reloading at the spawn point instead of their saved position.
  • Fixed empty ghost groups pre-claiming the body-part mapping on project load, so characters no longer restore with the wrong body parts.
  • Fixed keyframes not deselecting on empty viewport clicks.
  • Fixed outliner auto-scroll triggering during multi-selection.
  • Fixed loop-template position axis mapping and showed live position during playback, so imported loops land on the correct axes and the panel follows live values.
  • Fixed keyframe inheritance overwriting child objects that inherit material, color, opacity, and blending from their parent.
  • Fixed object-duplication hierarchy, rotation deltas, and attached-children handling.
  • Fixed legacy schematic block mappings (fire, redstone, doors, command blocks, and other legacy IDs) plus grass tinting, so older schematic files resolve the intended blocks.
  • Fixed library thumbnail 404 spam and canceled in-flight thumbnail requests, eliminating console error spam and wasted requests.
  • Fixed orphaned dropdown menus staying open after detail-panel re-render, so stale menus no longer linger on screen.
  • Fixed gizmo overlap when switching modes, bend gizmo ignoring its axis configuration, and interaction handlers firing in the wrong gizmo mode, so gizmos no longer stack up or respond in the wrong mode.
  • Fixed exponential fog control not reflecting its actual option value, so the control always shows the true fog state.
  • Fixed PWA install and service-worker behavior for subfolder deploys.
  • Fixed tap-to-continue and resume overlays getting stuck on iOS and non-fullscreen browsers, so they only appear on Android phones with split fullscreen detection and never block iPhone Safari, tablets, desktops, or fullscreen-like sessions.
  • Standardized toast notification messages for consistency.
  • Fixed property and gizmo edits applying only to the current keyframe instead of every selected keyframe, so transform, bend, item-sheet, post-processing, and light changes now update all selected keyframes.
  • Fixed undo not restoring the keyframes an edit propagated to other objects, so a single undo reverts both the object change and its keyframes.
  • Fixed the bend-rotation Copy and Paste buttons doing nothing, so bend values can now be copied and pasted like the other transform channels.
REMOVED
  • Removed the Parent Selected Here and Unparent Selected context-menu actions along with their dead helper functions.

v0.2.1

June 24, 2026 Patch
FIXED
  • Fixed object duplication errors with bendable limbs, visual props, and position offset by resolving crash on duplication of bendable-limb objects, ensuring visual properties (texture, material, color) are copied, removing hardcoded position offset, and adding type-specific duplicators.
  • Fixed flicker caused by the planar reflection fallback system when secondary preview is active. Removed the material-swapping fallback.
  • Fixed an issue where the bend gizmo remained visible in secondary preview and export while other gizmos were already hidden.

v0.2.0

June 2, 2026 New Feature Release
ADDED
  • Added support for importing GLB, GLTF, and OBJ files, including asset dependency management (textures, bin, mtl) and animation template reading.
  • Introduced a dedicated bone helper for GLB/GLTF file control, with an option to hide bones in the floating toolbar.
  • Implemented a facerig system allowing full control over character mouth, eyes, eyebrows, and pupils.
  • Added a History system with a draggable history stack menu, mass keyframe tracking, and an 'Initial State' revert option.
  • Added Undo/Redo buttons to the top toolbar near the history button.
  • Introduced a library browser supporting Standard Assets, Mine-imator libraries with version replacement capabilities, and external repositories with caching and license information features.
  • Enabled saving imported files to the web app as cache in 'My Library' for quick access on subsequent visits, with an option to delete the cache.
  • Added character skin and texture settings for cube, plane, 3D plane, and sphere via the library browser.
  • Introduced dropdown support in the properties tab for browsing textures/skins directly.
  • Added several texture mapping options for cubes.
  • Included a 'Preserve Original Ratio' option for texture planes and 3D planes.
  • Added a block dimension feature for bulk block insertion.
  • Introduced download and delete cache buttons for external libraries.
  • Added a 'Load Project' button in the main menu.
  • Included a 'New Project' option in the project button to create new projects via the main menu.
  • Added options to adjust the size and texture of the sun.
  • Introduced material roughness, metalness and emmisive settings in the appearance section of the properties tab.
  • Separated the attachment section for parent settings from the appearance section.
  • Added indicators for selecting objects in an empty properties tab.
  • Enabled reflection support for objects using the reflector method on planes and the cube camera method on other objects.
  • Added a drop zone indicator for the camera preview when being moved.
  • Introduced a custom control popup for touch screen users, including a horizontal wheel, increment/decrement buttons, and copy, paste, and reset buttons for numeric inputs.
  • Added a custom dropdown for consistent appearance.
  • Introduced a custom color picker with copy, paste, reset, and eyedropper buttons (eyedropper available on supported devices only).
  • Added copy, paste, and reset buttons in the transform section, along with a lock ratio button for scaling.
  • Included an option to hide rotation knobs in the sidebar settings.
  • Added an option to hide camera helpers when not selected in the settings.
  • Introduced an auto-center option for selection in the settings.
  • Added a column color simplification option in the settings.
  • Implemented a safe area system to accommodate mobile screen notches.
  • Implemented a new notification system with a progress bar and customization settings.
  • Added vibration indicators for press-and-hold actions in the timeline track and outliner.
  • Enabled resizing of the outliner panel width.
  • Added object locking functionality in the outliner.
  • Added a new easing type 'instant'.
  • Included a 'Select All Keyframes' option for a single object.
  • Enabled auto-scrolling in the outliner when selecting objects in the viewport.
  • Updated the time format to (MM:SS:FF) with a custom font.
  • Added support for customizing shortcuts via a settings modal.
  • Enhanced project export features to include local assets and improved data saving for face rigs and blocks.
  • Cached extracted assets to speed up initial app loading.
  • Optimized performance by disabling reflections in the primary viewport when the secondary preview is active.
  • Implemented a loading bar for Viontri project (.viproject) loading.
  • Updated project import behavior to deselect all objects upon completion, preventing accidental movements.
  • Introduced an update confirmation dialog to allow users to defer app updates and prevent workflow interruptions.
  • Implemented auto-scroll behavior when dragging selection near timeline edges for rubberband selection.
  • Added a new bug to be fixed later.
CHANGED
  • Updated the interface design and replaced icons on several buttons.
  • Moved the gizmo toolbar from the top toolbar to above the viewport for easier access.
  • Relocated the apply preset option from the timeline control to the object context menu, with a preset list tailored to the object type.
  • Combined the video and image export menus into a single tabbed system for practicality.
  • Updated the logic for creating 3D planes.
  • Changed the default easing from 'ease in out cubic' to 'linear'.
  • Adjusted the sun's position to depend on the camera to prevent it from leaving the frame.
  • Refined helper shapes for point lights, spotlights, and cameras for consistency.
  • Improved the logic for selecting hidden child objects in a collapsed outliner to select their parent.
  • Changed the selected object indicator from geometry edges to an outline pass.
  • Moved the tab buttons in the top toolbar to above the sidebar.
  • Converted the settings section from a tab to a modal popup.
  • Updated directional light position controls with a rotation knob.
  • Separated sun settings from directional light in the global tab.
  • Adjusted the vibrance property sensitivity in the camera's post-processing settings.
  • Implemented selective property updates for multi-selection keyframes, ensuring only modified properties are updated across all selected keyframes.
  • Replaced the add keyframe, delete keyframe, and duplicate keyframe buttons in the timeline control with icons.
  • Extended maximum timeline duration from 2:05 (3,000 ticks) to 20:00 (28,800 ticks) to support longer projects.
  • Updated ruler label format from seconds to MM:SS for better time readability and implemented dynamic tick density based on zoom level.
  • Optimized timeline performance by replacing the DOM-based ruler with a high-performance HTML5 Canvas implementation, eliminating UI jitter and lag.
  • Changed Shift + click behavior on keyframes from deletion to multi-selection, similar to Ctrl + click.
  • Improved touch input to allow resizing the timeline by dragging the entire timeline control bar.
  • Adjusted some initial parameters for objects and the environment.
  • Improved library loading visibility by displaying real-time download size (MB) and file counts during extraction for clearer progress information.
FIXED
  • Fixed texture mapping, mesh, pivot, inheritance, and bend behavior issues on mimodel objects.
  • Improved handling of mimodel objects with multiple texture layers.
  • Fixed texture handling issues on animated blocks such as fire, sea grass, and lantern.
  • Resolved rendering issues for blocks like glass panes, vines, and grass paths.
  • Fixed rendering of tall plants.
  • Enhanced shadow handling for curved surfaces with adjusted light bias parameters.
  • Improved touch screen handling, multi-selection stability, and context menu detection on mobile devices.
  • Fixed mimodel object selection to more accurately select groups instead of mesh fragments.
  • Fixed an issue where the camera preview would jump when dragging, ensuring it now stays aligned with the cursor or touch point.
  • Fixed rotation gizmo orientation issues when rotating child objects under a rotated root.
  • Fixed camera preview resize handles getting stuck when used with touch screens.
  • Fixed an issue where the gizmo would appear in the viewport when switching gizmo modes even with no object selected.
  • Fixed synchronization between sliders and numeric inputs; addressed various bugs in object movement and NaN values.
  • Prevented camera/target overlap to avoid locking orbit controls by automatically moving the viewport when selecting an object at the camera's position.
  • Ensured frame-accurate active camera and post-processing synchronization during media export, following the timeline instead of the last playback state.
  • Improved keyframe duplication logic to find the next available frame and automatically select the newly created keyframe.
  • Fixed an issue where keyframes remained selected when clicking empty areas or selecting objects in the outliner.
  • Refined project serialization and loading to correctly handle custom parent-child relationships and object appearance (colors, skins, and textures).
  • Improved synchronization of Outliner selection with keyframe selection; the Outliner now reflects the currently selected keyframes, including support for multi-object and multi-keyframe selection.
REMOVED
  • Removed deprecated code for the old add object popup, fully replaced by the library browser.
  • Removed the old export popup and deprecated render order functionality.
  • Eliminated resource management in the global tab, replaced by My Library.
  • Removed the tonemapping option in the global tab as it is not yet needed.
  • Deleted duration and frame input fields in timeline controls as they are now handled automatically.
  • Removed the refresh, reset, and auto-keyframe buttons in the timeline control as they are no longer relevant.
  • Eliminated undoable property checkboxes in the settings as they are unnecessary.

v0.1.2

March 24, 2026 Second Patch
FIXED
  • Fixed visibility state persistence in keyframes. The visible/active properties are now saved and animated correctly for each object, while remaining independent from the outliner hide feature.
  • Fixed camera Field of View (FOV) property persistence in keyframes. Camera properties are now saved correctly and can be animated according to keyframes.
  • Fixed keyframe drag behavior on touch devices. Moving keyframes now works on touch devices without interfering with the context menu.
  • Fixed rubberband selection on touch devices. Selection can now be done by press-and-hold then drag on empty tracks, while preserving timeline scrolling for normal gestures (without hold), and context menu for press-and-hold without dragging.
REMOVED
  • Removed the Delete Camera and Delete Light buttons from the properties tab because they were redundant. Object deletion is handled uniformly through the context menu and Ctrl+Del shortcut for all object types.

v0.1.1

March 11, 2026 First Patch
FIXED
  • Fixed miframe not being read correctly when imported as a file.
  • Fixed textures not applying correctly to mimodel body parts when imported as a file.

v0.1.0

March 7, 2026 Early Access
NEW
  • Launched the first usable version of Viontri.