Skip to content
Flare-AnimatePublic

About

Flare - A Familiar, Open Source Animation Suite. Forked from OpenToonz.

Topics

Resources

Contributing

Security policy

Stars

136 stars

Watchers

7 watching

Forks

Latest commit

 

History

5,646 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flare

Flare splash screen

A free, open-source Animation suite based on OpenToonz and Next2Flash. Designed with continuity for Adobe Flash/Animate users

Discord Website License Nightly Issues Platforms Status

Website · Discord · Download · Issues · 日本語 · 简体中文

Very early alpha. Expect bugs and incomplete Flash/Animate import fidelity. Back up your work and report problems on GitHub or Discord.

Contents

Overview · Screenshots · Features · Install · Build · Architecture · Roadmap · Contributing · License

Overview

Flare is a community fork of OpenToonz reworked to feel like Adobe Animate. It gives the Flash/Animate community a modern, cross-platform home that reads existing .fla, .xfl and .swf projects with no subscription and no dead runtime.

  • Familiar UI - Animate-style workspace (Drawing / Animation / Rigging / Compositing rooms) and theme.
  • Open your old work - native C++ import for the Flash/Animate file family; no Java or external runtime.
  • OpenToonz power underneath - vector and raster levels, xsheet/timeline, plastic rigging, FX, rendering pipeline.

Screenshots (WIP)

Animate-style workspace Timeline & rigging Flash import
placeholder placeholder placeholder

Features

Area Status
Adobe Animate-style default workspace (OpenToonz and StudioGhibli rooms selectable in Preferences > Interface > Rooms) Available
Vector + raster drawing, xsheet, timeline Available (inherited)
Plastic/skeleton rigging, FX schematic, motion tracking, script console Available (inherited)
Flash/Animate import (table below) Shipped; fidelity improving
Next2Flash SWF round-trip + AS3 decompiler Shipped as optional sidecar, see docs/NEXT2FLASH_INTEGRATION.md
Moho project support Shipped: structure, rig, asset manifest (no rendering), see docs/MOHO_SUPPORT.md

Newly Supported file types

Format Extension Status
Flash project (ZIP) .fla Import (XFL extraction + parse)
XFL project .xfl Import (directory or ZIP)
Compiled Flash .swf Header + embedded bitmap extraction
Component library .swc Catalog + embedded bitmaps
Flash Video .flv / .f4v Raster level via FFmpeg
ActionScript .as Imported as reference text
Legacy binary FLA (OLE2/CFBF, CS4 and earlier) .fla, .fls Carved and read
Adobe AIR packages .air, .ane, .oam Unpacked, assets gathered
Extension packages .zxp, .mxp Unpacked, assets gathered
Shared libraries .sol Unpacked, assets gathered
Compressed SWF .swz, .ksk Same reader as .swf
ISO-BMFF video .f4v, .m4v, .mp4 Detected; raster level via FFmpeg
Moho / Anime Studio project .moho, .mohoproj, .anime, .animeproj, .anme Structure read; see below

Format detection is by content, not by extension, so a .fla that is really a SWF — or a SWF renamed to .zip — still opens. The detector recognises uncompressed FWS, zlib CWS and LZMA ZWS, ZIP-backed XFL, the OLE2/CFBF signature, and the ISO-BMFF ftyp box.

Moho: Flare reads a rig's structure — layers, bones, switch layers, keyframe tracks, and the artwork it references — and writes a manifest. It does not render the rig; reproducing Moho's skeleton solve, region-weight deformation and Smart Bones is a much larger project than reading the file, and docs/MOHO_SUPPORT.md explains why.

Complex documents will not round-trip cleanly yet. Details and limits: docs/FLASH_SUPPORT.md, docs/how_to_import_swf.md. Tracking issues: #16, #47.

Install

Nightly builds are published on every push to master: Latest nightly release

Platform Asset Requirements
Windows Flare-Windows-Portable-nightly.zip Windows 10/11, 64-bit
Linux Flare-x86_64.AppImage x86_64, glibc 2.35+ (Ubuntu 22.04+)
macOS Flare.dmg macOS 13+ Intel (Apple Silicon via Rosetta 2)

Pre-release builds may be unstable. Optional: install FFmpeg on PATH for .swf/.flv/.f4v playback (Flash import itself needs no external tools).

macOS first launch. Flare is not notarized. If macOS reports the app as "damaged", clear the quarantine flag once:

xattr -dr com.apple.quarantine /Applications/Flare.app

Linux. If the app exits with "Could not locate Flare's stuff folder", set FLAREROOT to the installed stuff directory, e.g. export FLAREROOT=/usr/share/flare/stuff. The AppImage finds it automatically.

Build from source

Requires CMake 3.10+. Building is memory-intensive; limit parallel jobs on low-RAM machines.

cmake -S flare/sources -B build -G "Ninja" -DCMAKE_BUILD_TYPE=Release

# <4GB RAM: -j1  |  4-8GB RAM: -j2  |  >8GB RAM: --parallel
cmake --build build -j2

Platform guides: Windows · macOS · Linux · BSD

Architecture

Path Purpose
flare/sources/ Application and libraries (C++/Qt, CMake): toonz core, UI, Flash import
flare/sources/common/flash/ Format readers: SWF, XFL/FLA, ZIP, shapes, optional AS3 bridge
flare/sources/common/moho/ Moho (Lost Marble) project reader
flare/sources/common/tgame/ Game engine: entity-component-system, fixed-timestep loop, systems
flare/sources/common/*/rust/ Rust backend (flare_formats): modules beside the C++ they port, manifest at flare/sources/Cargo.toml,
tools/flash/next2flash/ Optional Python sidecar for ActionScript decompile / string patch / compile
stuff/ Runtime data: rooms, profiles, brushes, FX presets
thirdparty/ Bundled third-party libraries
plugins/ Plugin SDK and samples
packaging/ Installer / AppImage / DMG packaging
ci-scripts/, scripts/ CI and developer helper scripts
tests/, tools/ Test suites and utilities
docs/ Build guides and design docs

Dev tip: python scripts/log_watcher.py tails build *.log files (VS Code task "watch logs", Ctrl+Shift+B).

Running the tests

python tests/run_all.py          # everything: pytest, native C++, Rust, fixtures

Individual suites, useful while iterating:

python tests/native/run_tests.py          # native C++ readers and updater
python -m pytest tools/flash/tests -q     # Flash bridge and format fixtures
cargo test --workspace --manifest-path flare/sources/Cargo.toml
python tests/check_issue_fixes.py         # which open issues have code answering them

tests/native/run_tests.py finds Qt on its own, so QT_BIN need not be exported. Pass --no-local-src to link the tests against the built DLLs instead of compiling the checked-out sources — that path is what catches export/ABI mistakes, and it needs a freshly built tnzcore and flareqt.

Roadmap

Goal: a C++/Rust successor to Flash / Adobe Animate (CS6-era workflow plus later Animate features), built on OpenToonz.

Status is honest: each row states what is in the tree, not what is intended.

Feature Status
Flash/Animate import — .fla .xfl .swf .swc .flv .f4v .as, plus CFBF legacy .fla, AIR/ZXP/MXP/ANE packages Shipped; fidelity improving
Moho project import Shipped: structure, rig and asset manifest. Rendering not implemented (doc)
Next2Flash SWF round-trip, AS3 decompiler Shipped as an optional sidecar: decompile, string patch, compile (doc)
Beginner-friendly (FlipaClip-style) layout profile Shipped: Preferences > Interface > Rooms > FlipaClip
Game-creation tooling Scaffolded: flare/sources/common/tgame — ECS, fixed-timestep loop, sprite/physics/script/audio/camera/particle/UI systems. Not yet wired into the UI
Rust backend Shipped in part: flare_formats does content-based format sniffing over a C ABI. Always built (via Corrosion)
Android build Scaffolded: flare/android (Gradle + Qt activity). Not yet building an APK
Windows installer EXE NSIS script shipped (packaging/windows/installer.nsi)
Peer-to-peer remote control Protocol and tests only (remote_protocol_tests); no transport
Auto-update Shipped: release check, SHA-256 verification, download (flareupdater.cpp)
User-editable UI layouts, submittable as a PR Rooms are plain .ini under stuff/profiles/layouts/rooms/; add a directory and it appears in the room list

Reference projects: JPEXS decompiler, Ruffle, swf2js, Citrus Engine, Adobe Flash Simple Game Engine, as3mxml. Licences are preserved wherever code is ported; see LICENSE.txt.

Contributing

Contributions are welcome. See CONTRIBUTING.md.

Flare stays compatible with OpenToonz where possible; keep upstream licensing and attribution intact.

License

Files outside thirdparty/ and stuff/library/mypaint brushes/ are under the Modified BSD License. Third-party components keep their original licenses (see thirdparty/ and stuff/library/mypaint brushes/Licenses.txt). Flare is a fork of OpenToonz (DWANGO; based on Toonz by Digital Video / Studio Ghibli).

Discord Server

About

Flare - A Familiar, Open Source Animation Suite. Forked from OpenToonz.

Topics

Resources

Contributing

Security policy

Stars

136 stars

Watchers

7 watching

Forks

Releases

Packages

Used by

Contributors

Languages