◈ Stackadia Animation Studio1.0.0 Final
The prince’s journey · 1280 × 720
View
Drop to create image layers
Drag a scene layer to set a keyframe · S: scale · K: keyframe
AssetsDrop here to store · drag onto canvas to place
30 fps · front layers at top
Markers
Seconds · drag diamonds to retime

Stackadia Animation Studio

1.0.0 Final
A compact, offline animation studio for desktop and tablets.

Start a scene

  1. Choose New empty project to begin without demo artwork or settings. Or open the Studio to explore the prince and castle example.
  2. Import PNG, JPEG or static WebP images. Dropping onto the canvas creates layers; dropping onto the Assets shelf stores images for later placement. Multiple files become separate layers, not animation poses.
  3. Use Arrange to position artwork. Switch to Animate, move the playhead and change a pose to create a keyframe. Press Play to preview.
  4. Use Save Project regularly. The downloaded .sastudio.json contains editable animation and embedded assets. Reopen it with Open Project; an exported player or movie is not an editable project.

Tools and layers

The left tools select Move, Scale, Rotate, the single Camera, Add Keyframe, Return to Start, Text and Depth View. The camera icon selects the existing camera; it does not create cameras. Sound is managed through Soundtrack in the header.

Projects contain up to 8 artwork layers, one camera track and one soundtrack. Images, text and animated sprites each occupy one artwork slot, even when hidden. Sprite poses and shelf assets do not occupy layer slots. The demo uses five artwork layers, including separately drifting clouds. The camera and sound rows are separate from artwork order.

Select layers in the timeline or inspector. Frontmost artwork appears at the top. Drag a dotted handle or use Forward/Back to reorder. Rename, hide, lock, duplicate, delete or replace artwork using Layer Controls. Locked layers must be unlocked before editing. Replacing an image preserves its transforms and clears incompatible sprite settings. Imports exceeding the available canvas slots are refused as a batch; use the shelf to store artwork without placing it.

Animate a pose

Arrange changes the layer and its entire motion path. Animate changes its pose at the current frame. Position, scale, rotation and opacity interpolate between keys using Linear, Smooth, Ease In, Ease Out or Hold. Drag key diamonds to retime them, or edit their frame number. Use snapping for broader timing and Shift-drag for individual frames. Copy/Paste transfers poses; camera keys paste only onto the camera. Keep at least one key per layer.

Choose a pivot such as Center or Feet before rotating or scaling. Changing the pivot preserves authored key poses, although paths between keys can change. A drag is one Undo step; Escape cancels it. View magnification helps editing and does not alter output.

For a translucent ghost, set Opacity in Arrange. Use Animate for opacity keys, or add Fade In/Out ranges at the playhead with a chosen duration. Each layer supports one fade of each kind. Fades multiply authored opacity; a completed fade-out remains invisible. Clear Fades removes the envelopes without changing transform keys.

Sprites, text and parallax

Select an image and open Sprite Animation. Try Use Prince Walk & Play for the included matching eight-pose preset. Custom animations accept equally sized image sequences or regular-grid sprite sheets, with up to 120 poses, a pose rate, start frame and Loop/Once/Ping-pong mode. Before the start, the first pose remains visible. Animated GIF/APNG/WebP decoding, irregular atlases and sheet gutters are not supported.

Text layers provide captions with font, size, color and outline controls, and animate like artwork. Text uses locally available fonts, so appearance can vary between systems.

The single camera supports animated X/Y travel and Scale. Higher layer parallax values respond more to camera travel; overlap still follows layer order. Gentle Push-in replaces camera keys with a smooth 20% zoom; Reset restores a neutral camera. Both are undoable. Depth View inspects 2D planes using parallax depth or layer order; it is not a 3D editor. Its viewing angle and separation do not affect exports.

Sound, markers and ranges

Soundtrack imports one audio source or loads the included original demo melody. Set timeline placement, source trim, volume, mute and fade-in/out; the separate sound row shows its waveform and supports placement dragging. Adding another sound replaces the current soundtrack. Sound follows playback, seeks and loops; scrubbing is silent. Click Play to enable browser audio. There is no multitrack mixer or separate sound-effect track.

Markers identify named frames; ranges identify named sections for preview and scripted playback. Up to 32 markers and 16 ranges are supported. Playback controls use the selected range; Stop returns to its start. These cues are included in project/player exports and rendered-export metadata.

Frame the output

Output Frame defines a fixed rectangle in camera space, keeping exposed artwork edges outside the final composition. Resize it numerically or choose Full Stage. Toggle Output Guide to inspect the crop; hiding the guide does not remove the crop. Exported output excludes selection handles, guides and workspace magnification. The demo starts with an inset crop.

Choose an export

OutputUse and limits
Save ProjectEditable .sastudio.json with shelf artwork, sprites, soundtrack and settings. Reopen this file to continue editing.
PNG frameThe current frame at the output crop’s native size, with transparency where present. No sound.
PNG sequence / sprite sheetZIP containing rendered images and a timing/crop/cue manifest. Choose sampling rate, size and bounds. Optional audio is the original source file with timing metadata, not trimmed/faded rendered audio. Up to 300 sampled frames, 150 million total rendered pixels; sheet maximum 8192 pixels per side and 16 million pixels. Rendered exports also limit decoded source images to 64 million pixels.
MovieBrowser-supported WebM/MP4, 15 or 30 fps, solid background, optional soundtrack with trim, placement and fades. Records in real time; keep the tab visible. Record Preview, inspect picture/sound/duration, then Download before closing. Interrupted or excessively delayed recording is discarded. Output dimensions are rounded to even pixels. The actual codec/container depends on browser support; exact encoded frame cadence is not guaranteed.
Player HTMLOne offline interactive HTML file with playback controls, audio, markers/ranges and JavaScript API. Preview Player runs the generated file in isolation. Closing the preview releases playback resources.

Rendered sample bounds are inclusive; the final sample is held for one interval, and an off-cadence end frame is not appended. PNG exports are the exact-frame option. Movie and ZIP exports are capped at 200 MB each. GIF export is deferred.

Use with Stackadia

Export Player HTML and import it as a Stackadia HTML App Object. Direct native playback commands require the separately supplied, accepted experimental AS-1 Standalone/Player hosts; they are not automatically added to the main Stackadia release. This RC does not modify those hosts or the xStack format.

The player exposes window.StackadiaAnimation: ready, play, pause, stop, seek, playRange, setRange, setLoop, setVolume, setMuted, getState and on. Its About / Playback API documents usage. Within the matched AS-1 hosts, send playAnimation, pauseAnimation, stopAnimation, seekAnimation, playAnimationRange, setAnimationRange, setAnimationLoop, setAnimationVolume, muteAnimation or animationState to the HTML App object. Seek uses whole frames, volume uses 0–1, loop/mute use booleans and range names/IDs use strings. Commands are asynchronous and require a ready, interactive HTML App in Browse mode.

Host callbacks include htmlAnimationReady, htmlAnimationMarker, htmlAnimationComplete, htmlAnimationPlaying, htmlAnimationPaused, htmlAnimationStopped, htmlAnimationState and htmlAnimationError. Existing script handlers retain precedence. Commands are not queued across navigation/reload. The standalone player does not expose a general incoming postMessage command interface.

Limits and shortcuts

Stage: 1280 × 720; timeline: 30 fps, 1–60 seconds. Shelf: up to 128 images. Image import: up to 16 files per batch, 20 MB per file, 32 megapixels per image. Embedded asset data: up to 100 MB; project files: up to 110 MB. Sound source: up to 20 MB, 120 seconds, mono/stereo and 12 million decoded samples. Format decoding depends on the browser. Reducing image resolution improves playback; the layer cap alone cannot guarantee speed.

Space: Play/Pause · Left/Right: frame step · V: Move · S: Scale · R: Rotate · K: add key in Animate · Cmd/Ctrl+Z: Undo · Cmd/Ctrl+Shift+Z: Redo · Cmd/Ctrl+C/V: Copy/Paste key outside text fields · Escape: cancel drag. Dark, Light and High Contrast affect the interface, not authored colors. Theme preference is remembered when browser storage permits. New Project and Load Demo clear Undo history; save before switching.

Release scope and notes

Released October 15, 2026, following acceptance of RC1. The RC preparation step removes the obsolete disabled audio-tracks tool, labels the camera as a single camera, replaces historical development notes with this guide and updates release identity/notices. Editing, project format 7, artwork and playback/export behavior remain based on accepted P06-S03 / Dev19.

Deferred: multiple cameras and shot switching; multiple soundtracks/audio mixing; unlimited/grouped layers; skeletal animation, automatic lip sync and advanced effects; true 3D authoring; animated GIF export and animated-image decoding; irregular sprite atlases. Mainline AS-1 host promotion is a separate release decision. Desktop and tablets are the intended targets; phones are outside this release scope.

Validation and verification checklist

Release record: Michael accepted RC1 and authorized Final promotion on October 15, 2026. The earlier P06-S03 build and separate AS-1 review package were also accepted. All 21 regression suites passed during RC preparation. Final promotion changes release labels and documentation only; application logic, project format and embedded assets are preserved. Automated regression covers editing/project logic, raster exports, ZIP integrity, player/API and host relay behavior. Movie tests use a mock encoder. Actual Safari, Chrome, Firefox and secondary Edge codec/playback, audible sync and tablet interaction are manual checks; no per-browser certification is implied.

  1. Open this HTML offline. Try the demo, Prince Walk, all three themes and Depth View. Confirm the camera tool selects the one camera and Soundtrack opens the one audio track.
  2. Start an empty project. Import up to eight artwork layers; test over-limit rejection, shelf placement, ordering, opacity/fades, keys and Undo/Redo.
  3. Save/reopen a project with sprites, soundtrack, crop, markers and ranges. Compare playback. Try a damaged project; the current project should remain usable.
  4. Check current PNG, sequence and sprite-sheet exports for crop, alpha and timing. Cancel a render and retry.
  5. For each intended browser, record a short movie with sound and fades. Check duration, sync, seeking, actual format and playback after download. Cancel or hide the tab during recording, then retry.
  6. Export Player HTML, reopen offline and test controls, sound, range playback, looping and cue events. In the matched AS-1 hosts, check native commands/callbacks and navigation/reload.
  7. On a tablet, check selection, dragging, controls and modal scrolling. When reporting issues, include browser/OS, failures and reproducible steps.

This is the 1.0.0 Final release, promoted from the accepted RC1. The checklist remains available for verifying other browsers, devices and exported content.

The optional bridge diagnostic below is an isolated Studio protocol test, not the native AS-1 integration test.

About, license and notices

Author: Michael Roberts
Created: October 14, 2026 · Revised: October 15, 2026
Copyright © 2026 Michael Roberts. Contains AI-generated content.

Studio code is provided under the MIT License. The demo illustrations and Prince Walk atlas contain AI-generated artwork. The included melody is an original demonstration cue. This single-file Studio bundles its assets and uses browser APIs without external runtime libraries. Separately supplied Stackadia hosts retain their GPL-3.0-or-later notices. User-imported assets retain their respective rights.

MIT License
Copyright (c) 2026 Michael Roberts

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

www.stackadia.com · www.mygiantbrain.com · www.krellstudios.com

Playback bridge · feasibility prototype

Current illustrated scene running in a separate isolated frame. This protocol is proposed for Studio; Stackadia 1.4.4 needs a host adapter.

Image import

Delete layer?

Remove and its animation? The image stays in the asset shelf. You can undo this change.

THE PRINCE’S JOURNEYA layered scene. A story in motion.
◈ STACKADIA

Animation
Studio

Bring your images and stories to life.

  • Import artwork and arrange your scene.
  • Set a few keys for smooth movement, turns and fades.
  • Add captions and explore layered parallax.
Desktop & tablets · works offline
Author: Michael Roberts · Revised October 15, 2026
1.0.0 Final · Contains AI-generated artwork

Layer depth view

Inspect 2D planes in an isometric view. Animation output uses the canvas.

Select a plane

Higher parallax values move more with camera travel. They are not measured 3D distances. Layer order independently controls overlap.

Sprite animation

Included preset: Prince Walk

Eight matching Prince walking poses

Try the included eight-pose walk. Applies to the Prince layer (or selected image if Prince is absent), keeps movement and fades, and starts playback. Undo restores the previous artwork.

Sprite sheet grid (left to right, then next row)

Use an evenly divided grid without gutters. Trim unused cells using Pose count.

Frames are sorted by filename: walk1, walk2, … walk10. Equal-sized transparent PNG frames work well. Import is one undoable operation; invalid files cancel the entire import.

Soundtrack

Import one soundtrack, or try the included demo melody. Press Play after closing this window.

One sound file up to 20 MB / 120 seconds. Common formats supported when your browser can decode them. Waveform shows the full source; start and trim control placement.

Output frame

Scene coordinates, whole pixels. Output size equals Width × Height. Resize the frame to exclude exposed artwork edges throughout the animation; it is not a guarantee of coverage.

Cropped output preview · current frame

Markers & Playback Ranges

Markers · up to 32

Ranges · up to 16

Playback marker activity

    Use the Preview selector in the transport to play a range. The existing Loop option loops that section. Stop rewinds to its start. Scrubbing can inspect outside the range without changing it.

    Export animation player

    The complete scene and all ranges remain included. This creates an offline HTML player with controls and a JavaScript API; it is separate from your editable Studio project. The selected output frame is used. Native Script control is available only in the matched experimental AS-1 host copies. Movie export is available separately from Export Movie.

    Exported player preview

    Click Play inside the player to enable sound. Closing this preview releases its playback resources.

    Export rendered frames

    PNG sequence or sprite sheet, using the output crop. The editor and playhead stay unchanged. Files are packaged in one ZIP with frame metadata.

    Up to 300 frames / 150 million rendered pixels / 200 MB of encoded files per export. Sheets also cap at 8,192 pixels per side and 16 megapixels. Reducing the range, size or sample rate reduces memory. PNG files are silent; included source audio is not trimmed, faded or muxed.

    Export movie

    Records the selected output crop in real time. Keep this tab visible. Sound is recorded internally; review it in the completed preview. Movies use a solid background and even pixel dimensions. A stalled/interrupted recording is discarded. Target frame rate is not a guarantee of exact encoded frame timing; use PNG export when each frame must be exact.

    Preview, check sound and duration, then Download before closing. Closing releases the preview. MP4/WebM choices depend on this browser. Encoded output is capped at 200 MB.