1.0.0 FinalA compact, offline animation studio for desktop and tablets.
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.
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.
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.
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.
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.
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.
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.
window.StackadiaAnimation
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.
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.
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.
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.
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.
Author: Michael RobertsCreated: October 14, 2026 · Revised: October 15, 2026Copyright © 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 LicenseCopyright (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
Current illustrated scene running in a separate isolated frame. This protocol is proposed for Studio; Stackadia 1.4.4 needs a host adapter.
Remove and its animation? The image stays in the asset shelf. You can undo this change.
Bring your images and stories to life.
Inspect 2D planes in an isometric view. Animation output uses the canvas.
Higher parallax values move more with camera travel. They are not measured 3D distances. Layer order independently controls overlap.
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.
Attach to selected image (preserves movement, fades and size)
Reverse filename order for frame sequences
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.
Import one soundtrack, or try the included demo melody. Press Play after closing this window.
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.
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.
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.
Click Play inside the player to enable sound. Closing this preview releases its playback resources.
PNG sequence or sprite sheet, using the output crop. The editor and playhead stay unchanged. Files are packaged in one ZIP with frame metadata.
Include original soundtrack separately with timing/fade 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.
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.