Introduces The Beast of Millhaven example project with a full interactive story showcasing all StoryFlow features. Major UI editor improvements including typewriter text effect, detached character image layout, content area containers, fixed-resolution scaling and many more. Adds Data Only sync toggle for fast WebSocket iteration. Dozens of bug fixes across the editor and runtime.
What's New
New Features
The Beast of Millhaven Example Project: New built-in example project featuring a full interactive story with multiple characters, branching dialogue, audio, background images and variable-driven logic. Available from the new project type selector when creating a project
Typewriter Effect: Dialogue text in the runtime and .sfui editor now supports per-character reveal animation with zero-reflow span-based rendering
Detached Character Image: Character image can be placed outside the dialogue box with independent sizing, per-corner border radius and character name styling options
Content Area Container: New container type in the UI editor with fixed height, scrollbar customization and hierarchy visibility toggles
Container Anchor Point: Set the anchor origin for UI containers in the .sfui editor
Fixed-Resolution Scaling: Runtime and UI preview now support a fixed-resolution scaling system for consistent rendering across screen sizes
Data-Only Sync: New toggle in WebSocket export settings to skip copying image and audio files during sync. Only scripts, characters and variables are exported. Enables fast iteration after an initial full sync
Undo/Redo Per Tab: Editor history is now preserved per tab instead of being cleared when switching between files
Tab Switching Shortcuts: Ctrl+Tab and Ctrl+Shift+Tab to cycle through open editor tabs
Canvas Zoom Extended: Canvas can now zoom out to 10% (5x further than the previous minimum)
Resizable Dialogue Background: Background image in dialogue nodes can now be resized
Variable Description Field: Variables now have an optional description field shown as a tooltip on hover
Content Browser Shortcuts: Ctrl+D to duplicate files, Ctrl+Shift+N to create new folder
RunFlow Double-Click: Double-click a RunFlow node to focus on its entry node
Asset Preloading: Background preloading system with canvas-based rendering and loading screen for exported HTML
Improvements
Asset Caching System: Image caching eliminates flickering and improves editor performance when switching between nodes
Renderer Cache Pre-Warming: All project images are pre-cached at startup for instant rendering
Scrub-to-Adjust Inputs: Numeric inputs in the UI editor support click-drag to adjust values
Character Image Size Split: Separate width/height controls for character images in UI editor
Nesting Indicators: Collapsible section content shows visual nesting depth in UI editor hierarchy
Variable Details Tooltips: Standardized tooltip style across variable detail rows
Image Reset Styling: Restyled image reset setting as a separate row with scoped dashed border
Character Image Opacity: New opacity setting for character image background in UI editor
Character Name Margin: Configurable margin and text alignment for character name in detached layout
Flow Button Tooltip: Added tooltip to Exit Route setting in flow edit panel
GitHub Link: Added GitHub social icon to the About window
Runtime Debug Logging: Editor-only debug logging added to runtime for diagnosing play mode issues
Execution Trace Logging: Runtime trace logging for cross-engine debugging, disabled in exported HTML
Bug Fixes
Fixed export of image/audio variable values producing incorrect asset references and ID collisions
Fixed ESC key closing exported standalone HTML applications
Fixed hierarchy tree lines not rendering correctly for parent nodes with chevrons
Fixed selection overlay not updating when changing aspect ratio presets in UI editor
Fixed stale character image cache causing missing images in node previews
Fixed Show in Content Browser not expanding a collapsed panel and not resizing an already-expanded one
Fixed backslash paths in example project scripts breaking cross-platform compatibility
Fixed UI preview scrolling: enabled scroll in row/column modes, restricted clipping to detached mode only
Fixed preview scrollbar when detached character image extends off-screen
Fixed deletion alert dialog overflow with long filenames
Fixed script variables persisting across RunScript calls in standalone mode
Fixed variable interpolation flicker during RunScript execution
Fixed dialogue node overflow when unsaved changes asterisk appears
Fixed dialogue node not growing when option text wraps to multiple lines
Fixed dialogue node resize border desync when assigning audio, character or image
Fixed dialogue node resizer desync when adding options after manual resize
Fixed RunScript interface not refreshing for all nodes when script parameters change
Fixed RunScript array output evaluation in runtime
Fixed RunScript edges being deleted on project startup
Fixed variable rename not persisting to disk for open files
Fixed RunScript array parameter passing
Fixed moved files being recreated at old path by auto-save
Fixed variable values not updating when moving image/audio/character files
Fixed selection outline radius for array length nodes
Fixed stuck Comment creation after Cmd+C on Mac
Fixed cursor jumping to end of input when pressing Delete during rename
Fixed flow button showing purple highlight on focus and during drag
Fixed stale dragging/selected state persisting in saved node data
Fixed timeEl ReferenceError in exported HTML audio handler
