Release Notes
A full history of zStudio — from the first lines of code to today. 23 posts covering February 2018 through November 2026.
Free for Everyone, AI Skills in Every Importer & Discord
November made zStudio free. There are no plans or tiers any more: the full editor, PSD import, scene validation, copying between scenes, the MCP server, skill libraries and local image models are all free to download and use, with no account and no watermark. The only thing for sale is AI credits, which pay for zStudio Cloud: the built-in AI Chat and cloud image models with transparent backgrounds. Credits never expire. In the built-in AI Chat you can now choose the model, and you pay per step for what each step actually uses; current prices are shown live on the Pricing page. Windows builds are back, starting with v2.5.8, so all three platforms are on the same version again. The editor gained User Components: under Components → Add/Remove… you can add your own scenes, a scene folder or a folder of scenes to the Components menu, and pasted components get unique template and instance names so they never clash with what is already in your scene. Recent scenes can be removed from the welcome screen, and new buttons open an image's file, the scene's folder or a Spine JSON file in Finder or Explorer. Grid lines now adjust their colour to stand out against whatever stage background you choose. AI tools connected over MCP can capture a small image of the stage to check their work, find where a nested element really ends up on screen, and name images and Spines as they import them, and the AI Chat and image model lists show live credit prices. The editor dropped GSAP in favour of its own lightweight tween engine, the space shooter example got new artwork, and the space shooter and wild west examples now use the Lilita One and Nunito fonts. On the runtime side, every zImporter package now ships AI skills in its skills/ folder, covering setup, components, responsive layout, and animation and spawning, so AI coding tools write correct zImporter code. Add the folder in zStudio under Help → AI Skill Libraries, or point any AI tool at node_modules/<package>/skills/. The website gained a full zImporter Guide with examples for Pixi.js, Phaser and HTML. The Pixi.js and Phaser importers dropped their unused GSAP dependency for smaller installs, zImporter_PIXI7 fixed the ZNineSlice parameter order, and zImporter_PIXI8 now carries an MIT licence. Finally, zStudio has a community: the new Discord server is linked from the website and from every importer's README.
Bring Your Own AI: Free MCP, Skills & Local Image Models
October opened the v2.5 series and changed how AI works in zStudio. The MCP server became free on every plan, including Community: connect an AI tool you already use, such as Claude (desktop or Claude Code), Antigravity, Cursor, VS Code, Windsurf or Gemini CLI, and it can build scenes in the editor on your own subscription without using zStudio credits. Help → Connect AI (MCP) shows the server address and a ready-to-paste setup snippet for each tool. AI Skill Libraries let you teach the AI your studio's own conventions, such as how you structure popups or name templates. Add a folder of Markdown files, a single skill file, or a starter library to edit; the AI loads only the skills it needs for each task. If you already have scenes, the dialog includes a prompt that has an AI tool study them and write the skill files for you. Local Image Models brought image generation to your own computer, free and with no account, credits or internet connection. Stable Diffusion 1.x, 2.x and XL, FLUX, Z-Image and Qwen-Image models load from .safetensors or .gguf files, multi-part models in the ComfyUI folder layout are found automatically, and text-to-image, image-to-image and in-place reskin all work. AI tools connected over MCP can use your local models too. The MCP toolset itself grew: an AI can now duplicate a container as a new template, place new instances of existing templates and save the scene, and less common operations are reachable through a single run_action tool that the AI can look up with describe_actions. If the default MCP port is already taken, zStudio picks the next free one. Renaming a template now reliably keeps its children's animations, even when a child's name contains the template's name. The website gained a dedicated AI page explaining the whole setup.
Steady Releases
August and September were quieter months on the surface, but releases kept shipping: ten of them, from v2.3.9 on 7 August to v2.4.8 on 19 September. The biggest change was Redo. Undo had been in zStudio since early 2025, but now Cmd/Ctrl+Shift+Z, Cmd/Ctrl+Y or Edit → Redo brings back the moves, transforms, deletes and pastes you have just undone, and undo now covers orientation and alpha changes too. Drilling into a container now tints the stage background a little for each level, so you can tell at a glance how deep you are, and holding Space shows the hand cursor straight away rather than only once you start panning. zStudio also got better at stopping mistakes before they happen. You can no longer add a second asset inside a container that already holds an image, particle or Spine. Pasting scene data whose templates already exist in your library is refused with a message instead of overwriting them, and a tooltip confirms when you copy an asset's transform or text style. Newly imported Spine characters now appear in a visible pose instead of an empty setup pose, and Spine files without an atlas, broken particle JSON and unreadable folders are reported clearly instead of stopping a load. Crash reporting was refined so that an error repeating many times a second is only reported once. Following July's pricing change, the editor now leaves exports watermark-free by default, including when you are offline or signed out. The website's pre-rendering was tuned so search engines see the full content of every page. v2.4.8 also turned out to be the last Windows build for a while; Windows releases resumed in November.
Animated Sprites & Scene Validation
July was the busiest month of the year so far, with eighteen releases from v2.2.1 to v2.3.8. The headline feature was the Animated Sprite: a new asset type that plays a sequence of frame images at a fixed frame rate, a lightweight alternative to Spine for walk cycles, explosions and other sprite-sheet style animations. You can create one from Import → Import Animated Sprite, or simply drag in a folder of numbered frames (frame_01.png, frame_02.png…) and zStudio detects it automatically and imports the frames in order. The Attributes panel shows a frame grid with play and stop, FPS (12 by default), adding, removing and reordering frames, looping, and play-on-start. Scene validation also arrived: zStudio can write a snapshot of the scene hierarchy so your code can check that the containers it references still exist after a designer edits the scene, and by the end of the month it also flagged missing Spine animations and skins. The Hierarchy panel learnt to reorder: drop a layer just before or after a sibling to move it, not only inside another container, and undo it if you change your mind. Nine-slice borders can now be set in the Sprite inspector, including by dragging the edges, and the change carries across every instance of the template. The Particle inspector gained spawn shapes (rectangle or ring), move paths and blend modes, and older particle configs are upgraded to the current format when they load. Import → Reload All Images refreshes every image from disk, so edits made in another app show up without reopening the scene. zStudio also started reporting crashes automatically, and asks you to sign in again when your session expires instead of failing quietly. Watermarked exports were dropped from the pricing plans, and new video tutorials covered animated sprites, scene validation and reloading every image in the project folder. Outside the editor, zStudio was listed on Launchstag and tools.cafe, and the website gained an llms.txt file so AI assistants can understand what zStudio is.
Stability & Token Refresh
June was focused on stability and hardening the features shipped in May. A silent JWT token refresh was implemented — when the credits-balance token expires in the background, zStudio silently re-authenticates so the user never hits a stale-token error. The search bar in the Hierarchy panel had a clickability regression that was fixed. Ongoing AI panel work continued. Six releases went out over the month, from v2.1.5 to v2.2.0 on June 23. At the end of the month the importers got ready for July's Animated Sprite asset: zImporter_PIXI7 gained an AnimatedSprite class and zImporter_html a ZAnimatedSprite class, so frame-by-frame animations made in zStudio play back at runtime.
MCP Server & AI Panel
May brought the most ambitious feature yet: MCP (Model Context Protocol) server integration. zStudio now exposes a full MCP server that AI assistants (like Claude) can connect to and drive the editor programmatically. Via MCP, an AI can create scenes, import assets, generate images, set properties, navigate orientation, and more. A companion AI panel was added to the editor UI — a chat-like interface where you can type requests and have the AI assistant execute them directly against the open scene. The MaskInspector arrived, letting you set a PIXI mask on any container. Collapsible inspector sections made the Properties panel far less cluttered. The BottomPanel was reorganised. All four importer packages received significant updates in May: zImporter_PIXI7 underwent a major Spine loading refactor with improved animation handling. Masking support landed across all four packages. zImporter_html gained cue point support — you can now listen for named timeline markers directly in plain-HTML projects. zImporter_PIXI8 published its first README.
v2.0 — Licences, Kinematics & Example Scenes
April was the v2.0 major release. The headline change was a complete licensing and authentication overhaul: a LicenseFeaturesManager controls which features are enabled based on the user's plan (Community, Pro, etc.). Spine importer, Photoshop importer, and other premium features gate behind licence checks. Watermarking landed for Community-tier exports — PNG exports get a subtle watermark when you're on the free plan. Example scenes (robot, space shooter, wild west) were added to the welcome screen so new users have something to explore immediately. The v2.0 release also added direct links to all four importer packages from the zStudio menu. The importers themselves received maintenance and refactoring passes across zImporter_PIXI7, zImporter_Phaser, and zImporter_PIXI8.
Auth, Credits & Visual Overhaul
March delivered the authentication and monetisation infrastructure that would underpin the v2.0 launch. An email/password login system was built with an OAuth flow and a dedicated auth window. A credit system for AI image generation was integrated — buy credit packs, view your balance, and get appropriate error handling when credits run low. Support for GPT Image 1.5 and an updated Leonardo v2 API were added alongside the existing OpenAI pipeline. The UI got a comprehensive theme overhaul — new colour definitions in StyleUtils and a DefaultTheme centralised all colours, improving consistency across every panel. Axis-locking during drag (hold Shift to constrain to X or Y) shipped. The importer family grew in March: zImporter_PIXI8 was created — a new package targeting the PixiJS v8 API, launching immediately with all components. zImporter_PIXI7 gained skew transform properties in the data interfaces and scene disposal. A GitHub Actions CI workflow was also added for automated dist builds.
AI Image Generation & Linux
February was the month AI arrived in zStudio. OpenAI image generation was integrated — provide your API key in the settings and generate images directly from the AI Image Inspector panel. A Leonardo AI module was also built. Linux became a supported platform — the build pipeline now produces a Linux AppImage, complete with icon and auto-updater support. The Photoshop → zStudio converter was deepened: portrait/landscape layouts are handled separately and the converter now validates the directory structure and returns detailed error messages. Other highlights: unsaved changes are flagged in the tab title, an Import Instructions panel explains how to load each asset type, and scene preview thumbnails were saved alongside scene files for the welcome screen. The importer ecosystem had a massive February too: zImporter_PIXI7 gained Spine 4.x support, a new ZTimeline init API, progress callbacks on asset loading, and full JSDoc documentation. zImporter_Phaser shipped Spine integration via @esotericsoftware/spine-phaser, BitmapText, an improved ZNineSlice, and a ParticleConverter for adapting PIXI particle configs to Phaser. A brand-new package, zImporter_html, launched on February 24 — a plain-HTML/JS importer for projects that don't use any game framework.
Search, Tabs & Server Validation
January brought usability upgrades to the core navigation experience. A search bar was added to the Hierarchy panel so you can filter the scene tree by name. Keyboard arrow navigation in the hierarchy let you move between assets without a mouse. The webview tab system was improved: tabs became drag-and-droppable to reorder them, the welcome tab prevented duplicates, and an About modal was embedded inline. The server validation system now shows a proper blocker modal when the app version is outdated. Full bitmap font support shipped — load .fnt files, preview them in the font dropdown, and export them correctly in the scene JSON.
Gradient Text, Bitmap Fonts & Filters
December was a feature-dense month. Gradient text fills arrived — a GradientSlider lets you set gradient stops directly in the Text Inspector. BitmapText became a first-class text type alongside PIXI.Text, with full alignment and anchor support. The Filters Inspector grew ColorMatrix and Blur filter controls. A Photoshop importer appeared in the Top Menu (early version). File drag-and-drop in the Text Inspector lets you drop a .json style file directly onto it. Memory management got a serious pass — destroyed drag targets, cleanup on panel close, GPU RenderTexture release, and event listener teardown were all fixed. The undo system was expanded to cover text style changes, asset renaming, and child index changes. The importers kept pace: zImporter_PIXI7 gained BitmapText and gradient text alongside a refactored ZButton and ZSlider. zImporter_Phaser shipped new components.
Hierarchy Drag & Asset Locking
November shipped an important workflow feature: drag-and-drop reordering in the Hierarchy panel. You can now drag any asset up or down in the tree to change its layer order or reparent it — no more relying solely on keyboard shortcuts. An asset locking mechanism was added: lock any asset to prevent accidental moves or edits. Name validation was tightened to prevent reserved words and duplicates. A default font system was built so your preferred font persists across sessions. The Electron version was pinned to v31.7.7 to preserve file drag-and-drop behaviour. zImporter_Phaser matured significantly during November, shipping its first working HTML example scene, NineSlice support, and a more capable ZContainer and ZButton.
Z-Index & Spine Skins
October was a quieter month — four releases — but they carried meaningful features. A ZIndexInspector was added to the Properties panel, letting you explicitly set the z-order of any asset. Spine skin switching at design time was wired up. A Scene Validation utility was introduced — when loading a scene, zStudio now reports any objects that are missing from or added to the saved data, so you catch schema drift early. GUI hover state was tracked in the Model to prevent accidental clicks when the cursor is over a panel.
Tooltips, Alignment & Nine-Slice
September was a polish sprint with 23 releases. A comprehensive tooltip system was built — every button and control in the UI now shows a tooltip on hover. The Bottom Panel was introduced as a persistent bar for common actions like focusing on the stage. Alignment tools were improved with proper spacing calculations. Dynamic sliders replaced static sliders in the Filters and Text inspectors. Nine-slice support was fixed for proper inset propagation. The welcome screen got scene preview thumbnails from saved JSON. A SceneInspector was added for setting the scene FPS and resolution from the Properties panel. zImporter_PIXI7 received its first significant update: improved text handling, ZContainer resizing logic, and pivot behaviour on fit-to-screen.
Webviews & Undo Hardening
August saw two phases. The first half was a rapid stabilisation sprint — undo coverage was extended to wrap/break/paste operations, texture atlas loading was improved, and multi-select pivot reset shipped. Then on August 17 came the biggest architectural change yet — the entire renderer was migrated to Electron webviews (v1.1.0). This unlocked proper process isolation and paved the way for the multi-scene tab experience. The rest of August hardened the new architecture: text JSON styling, Spine skin support, the welcome screen showing recently opened scenes with thumbnails, fixed library search, and improved texture atlas frame handling. On the runtime side, August also saw the launch of the first two companion importer packages: zImporter_PIXI7 and zImporter_Phaser — npm libraries developers can drop into their own games to load and display zStudio scenes at runtime.
Scene Management & Cross-Scene Copy
July brought six releases as the team shipped a steady stream of quality-of-life improvements. The headline feature was copying assets between scenes — you can now copy a selection in one scene and paste it into another open scene tab. The export pipeline was refactored around a typed ExportType interface, making the export menu cleaner and more extensible. A Name Change panel let users rename templates inline. The Top Menu gained an Exit option. Particle folder importing from the file menu was wired up.
Spine, Particles & Anchoring
June was a landmark month for asset type support. Spine animation landed — users can now import .json + .atlas Spine files and place animated characters on stage. Shortly after, Pixi Particle files became importable too, with a full particle controller and inspector. The Anchoring system was built from the ground up: assets can be anchored to edges or corners of the stage so they reposition correctly when the resolution or orientation changes. Cue points arrived in the Timeline — named markers you can drop on specific frames and reference at runtime. The ButtonInspector was added to configure button states. Alignment and distribution tools appeared in the Properties panel. The orientation management system let you define separate portrait and landscape transforms per asset.
Packaging & Distribution
May was a brief but important month focused on distribution. The Windows installer build (NSIS target) was set up. macOS notarization was tackled and finally succeeded. The build pipeline was overhauled to produce properly signed, packaged artifacts for both platforms. Very few feature commits — but this was the work that made zStudio something that could actually be handed to users.
Timeline & Templates Polish
April focused on deepening the animation and template systems. The SelectionManager was extracted as a dedicated module to manage drag targets cleanly across panels. Width and height input fields landed in the Transform Inspector, giving numeric control over asset dimensions. The Hierarchy panel gained drill-down navigation — double-clicking a container zooms you into it. Timeline got lock/unlock per layer and frame-management buttons. Duplicate template was added from the Properties panel. The first robot template assets appeared as bundled examples. The easing system was extended with an "Apply to All" button on the timeline, and the Copy/Paste Properties feature let you copy transform values between assets.
Building the Editor
March was the single busiest month in zStudio's history — over 250 commits landed as the project went from rough prototype to a genuine editor. The application was officially renamed zStudio during this sprint. The core panel layout came together: a Hierarchy panel for the scene tree, a Properties/Attributes panel for inspecting assets, and a Timeline panel for animations. The editor gained its first proper text support, system font scanning, and a full text inspector. Drop shadow filters were added along with a Filters Inspector panel. Multi-select landed (hold Shift to select multiple assets). The first version of Undo shipped, backed by a proper UndoManager. Pivot point editing arrived with a dedicated PivotInspector. Packaging for macOS and Windows was wired up, including code signing for Mac.
The First Lines
After a five-month pause, work on the September 2024 prototype resumed on 24 February 2025. These early days were about turning the prototype into a foundation: tidying up the Git repository, adding copy and paste for stage assets, highlighting the x=0 and y=0 lines on the grid and fixing asset loading from disk. On 28 February the scene exporter from the original Flash tool was ported to TypeScript and brought into the editor, together with its rectangle packer for texture atlases and the first runtime classes for loading scenes into a game. The same day saw the first version of a "library" — a panel on the left that would eventually become the Templates panel. Nothing was pretty yet, but the bones were there.
The Prototype
Before the TypeScript editor took shape there was a prototype. On 19 September 2024 the first version of what would become zStudio was uploaded to its repository in a single commit: 24 files and around 6,300 lines of code. It was already an Electron app drawing its whole interface with PIXI.js 7.4.2, the same foundations zStudio runs on today. The stage had a grid that you could pan by dragging and zoom with the mouse wheel. You dragged images in from disk to place them as sprites, then moved, resized and rotated them, with a selection box and anchor marker drawn around the selected asset. Containers could be created and drilled into, and a path bar along the top showed where you were in the hierarchy. Three draggable panels sat over the canvas: a Hierarchy panel listing the scene tree, a Properties panel with fields for x, y, width, height, rotation, scale, alpha and instance name, and a Timeline panel with a draggable playhead and keyframes for each asset. The File menu could save the scene as JSON and open it again. The controller/view split that still organises zStudio's code, with a BaseController wrapping each PIXI container and Sprite and Container controllers built on top, was there from the start, as was the global Model. The project already listed the Spine, particle emitter and drop shadow libraries, though none of them were wired up yet. Work then paused until February 2025.
The Origin
zStudio began as a tool solving a very specific problem: game studios had years of valuable animation work locked inside Adobe Flash (.fla) files, and the web was moving to HTML5. Getting that work out — with all its animation tracks, sprite hierarchies, pivot points, and bitmap fonts intact — required something that didn't exist yet. So we built it ourselves. The first commit landed in February 2018. The core was an Adobe AIR application written in ActionScript 3. It accepted a compiled .swf file on the command line, walked the entire display list, and wrote out a structured placements.json alongside individual PNG images for every display object. That JSON schema — templates, instances, portrait/landscape orientation transforms, animation keyframes — became the foundation that zStudio is still built on today. By August 2018 the tool could pack all images into a single texture atlas using a custom rectangle packer written in AS3. Matrix decomposition was added so that Flash's internal transformation matrices could be broken back down into the x, y, rotation, scaleX, scaleY, skewX, and skewY values the runtime actually needed. A font exporter was built to extract embedded Flash fonts and convert them to bitmap font data. In September 2023 the placements.json output structure was tightened up. Its core later carried over into zStudio itself: in February 2025 the scene exporter and rectangle packer were ported to TypeScript and brought into the editor, detaching them from the Flash/AIR environment.