Elm Story 0.7 — text formatting + multimedia support for images / audio

Images and sounds create impactful emotions and illustrate what you read in the text. With Elm Story 0.7 you can now bring your storyworld to life using multimedia content, creating a dynamic interplay between words and.

Scene Map Improvements

Event creation

Creating new events is much easier now. Just drag out a path from a choice or an event passthrough.

Event Editing

  • Double-clicking the node header enables inline rename
  • Double-clicking the character area opens the character manager. Alternatively, click character name to open manager without selecting node
  • Double-clicking event content opens the editor. Alternatively, hover over event content peak and click button to open editor without selecting the node

Event Content text formatting 

You can now create and change the style of your content through a Notion/Medium-like floating toolbar.

  • Type "/" to open the command menu and select the element you want to create
  • Highlight a piece of content to bring up the toolbar and change its style
  • Drag the handle to change the block position

Currently, Elm Story 0.7 supports text formatting for block h1-h4, ordered/unordered list and hyperlink. You can also choose between Inline bold, italic, underline and strikethrough.

Keyboard shortcuts for bold, italic, underline and strikethrough toggling are also implemented.



No more silence when you enter your storyworld. Now, scene and event support a new audio profile. The profile defines the audio instance to the storyteller e.g. what is the track/asset identifier? Does this track loop?

Options include loop toggle. Configuration is managed via the element properties panel.

The storyteller also supports an internal audio mixer:

  • If audio is detected in the next scene/event, the Storyteller will crossfade between tracks
  • If scene and event tracks are playing, scene track volume is reduced by 70%

The UI component supports creating a profile, play/pause/mute/scrobble as well as toggling loop, reimport (different or updated track) and deleting the profile. The UI also displays current track time and track duration.


Images can be imported into an event. Currently the inline image element will fit horizontal and can be cropped and adjusted with or without the help of a togglable grid.

For 0.7, inline image elements will display in 16:9 at a max size of 655x368 (or 1310x736 retina) and scale down (based on display size) to 320x180. 

Based on designer feedback, future versions of ES will provide configuration for size, position, repeat (texture), etc.

Character Reference

it is possible to make a reference to a character using the "Character Reference" command from the command menu "/". Once open, the character to be referenced can be selected, the style changed and whether the alias is to be shown can be selected using the right arrow.

Characters that are referenced within an event are displayed under the preview of the content in the scene map. You can click on the icon to open the Character Manager.

In addition, in the Events Tab you can check all events in which that character is referenced.

At the moment a referenced character is seen in the storyteller as normal content. Future versions may extend this to include audience interactions e.g. display information about the character on reference click, character-specific interactions, etc.

0.7.0 (Early Access) Release Notes

Based on designer feedback, v0.7 is packed with 10 major features, ~60 enhancements and ~70 bug fixes.
An exhaustive list of 0.7 (d6f6b568) changes are available on our issue tracker.


  • Scene Map
    • It is now possible to toggle for event content previews and referenced character grids and render content preview placeholders when zoomed out beyond threshold
    • Support for AND/OR gate type in path conditions (match ALL|ANY)
    • Support for path conditions specificity (if...else)
  • Event
    • Audio playback support
      • Loop toggle
      • Tracks crossfade
    • Inline character references are now supported
    • Transitions between events are now supported
    • Double-clicking header no longer beings up the event content editor.
    • Element Properties
      • Paths are now patched and maintained when changing event type from  CHOICE to JUMP
  • Event Content
    • Event content now supports Text formatting (Notion/Medium-like floating toolbar, drag and drop and keyboard shortcut)
      • Block (Element)
        • H1, H2, H3, H4
        • Alignment: left (default), center, right
        • Quotes
        • (Un)ordered lists
      • Inline (Leaf)
        • Normal (default)
        • Italics
        • Bold
        • Underline
        • Strikethrough
    • Event content now supports inline images
      • Crop and expand to the width of event stream, otherwise centered
      • Drag and drop reordering
  • Composer
    • “Getting started” sample content is now generated on storyworld creation
  • Scene
    • Added support for audio playback
  • Storyteller
    • New serialization library
    • Storyteller now supports Audio Mixer

Enhancements, fixes and etc.

  • Character Manager
    • Event content references added to Events tab
  • Data 
    • support scene -> children -> jump element type
  • Import
    • Import error message is now improved
  • Scene Map
    • Event connections indication improved
    • Increased node handle interaction area
    • List referenced characters in Event node
    • Input variable moved to element properties panel
    • Jump node improved
    • Event nodes now show their input type
    • Event title can now be modified inline
    • Added support for node creation by dragging out a Path
    • Event content excerpt is now displayed
      • Edit character by double-clicking character persona space; selects event (use character link if selection is not desired)
      • Edit event content by double-clicking content space; selects event (use edit button if selection is not desired)
    • Selected Jump node now uses its border color
  • Event
    • Spellcheck disabled in Event content expressions
    • Choice text is now selected when rename starts
  • Event Content
    • Event content text font replaced from Fira Mono to Roboto Serif
    • Event content now matches the base storyteller styles
    • Event content now supports inline hyperlinks
    • Drag and drop/element content reordering
  • Storyteller
    • New serialization library
    • Motion settings
    • UI scale settings
    • In input event, a cursor and a placeholder are now displayed instead of the initial value
    • After event interaction, unused choices, passthrough and loopback element are now removed from event stream
    • Event interactions now fill the horizontal event stream space
    • Empty blocks are now allowed
    • Input result now align with choice result
    • Next event now displays top of event content based on display height
    • Text of choices not picked is now blurred
    • Audio is muted when not visible
    • Reset dialog now properly reset the storyworld
    • Storyteller now renders when scene and choice/input event are defined and jump event is in first position
  • Composer
    • Shortcuts for UI zoom added
    • It’s now possible to easily enter negative numbers for variables, conditions and effects
    • Audio is paused when not visible
  • Character Personality
    • Energy is now Agency
  • Storyteller PWA
    • Book and Console themes are now called Light and Dark
    • Audio stops when returning on title screen
    • Audio is paused when not visible
  • Storyworld Outline
    • Event types are now differentiated
    • Jump nodes can now be removed via context menus
    • Element title is now selected when rename starts
    • Clicking on other elements is disabled if an Element is in rename mode
    • Add element context menu improved
    • Jumps are now showed with Events
    • Element title tooltip is now showed on hover
  • XRay
    • When clicking a different event, if event content editor is open for a different event, now the editor changes to clicked event content
  • Storyworld Preview
    • Event types are now differentiated
    • Character reference is now highlighted
    • show scene > event breadcrumb in Xray
    • Event content updates are now debounced to improving authoring and speed in editor
    • Toggling Xray on before first scene and event, Xray toggle will not invert
    •  Element property players are disabled when testing audio


This is an early access release and there are bugs. Report problems to our issue tracker and join our public Discord server. 

Roadmap Updates

0.7.x — Stability + Performance (May)

Focus on stability, performance, bug fixes, minor UX improvements and introduces a new way to handle the dreaded Black Screen of Death.

0.8 — Content Customization (Summer)

Video support and customization options.

0.9 — Smart Composition (Fall)

Spend less time organizing scenes and more time composing storyworld content.

1.0 — App Optimization + Web Support (End of the year)

For early access previews on our progress, subscribe to our Patreon.

Track roadmap progress via our issue tracker.

Support Elm Story

To help this project continue to thrive with full-time, active feature development and updates, consider a donation via Itch.io.

Thank you to our generous community members who are able to donate monetarily or volunteer their time. You power Elm Story's continued development and growing awareness!

Become a monthly patron to earn support badges and unlock early access previews, in-app recognition, monthly Q&As, feature priority polls, 1:1 support and ESC name reservations for studio and designer profiles. 

Thank you for your continued support! :)


Elm Story (Early Access) — Mac 81 MB
Version 0.7.0 Apr 18, 2022
Elm Story (Early Access) — Linux 81 MB
Version 0.7.0 Apr 18, 2022
Elm Story (Early Access) — Windows 60 MB
Version 0.7.0 Apr 18, 2022

Get Elm Story

Leave a comment

Log in with itch.io to leave a comment.