Skip to content

Changelog

v1.0.0 — Public release

The first public release of Octo Transform Sync — rig, animation, and camera transfer between Toon Boom Harmony, Blender, and Autodesk Maya.

Highlights

  • All six routes — Harmony ↔ Blender, Harmony ↔ Maya, and Blender ↔ Maya, in both file formats. No per-route code: every file declares its own coordinate space and every reader converts through one canonical space.
  • Two formats, one job each.pvt carries the rest skeleton for setup and recovery; .anm carries the animation plus a folded-in rest pose and the cameras, so a single .anm rebuilds the whole rig and the shot.
  • Create Rig from a .anm alone — joints, bones, or a full Harmony peg group with composite wiring, built from the file's rest data and animated in one undo step.
  • Multi-rig — an editable Rig column splits a scene into separate rigs: one armature in Blender, one group in Maya, one node group in Harmony. Connectivity is locked, so a connected chain can never be split.
  • Multi-camera — every camera in the scene, with vertical FOV, near/far clip, offset, roll, and the default-camera flag, rebuilt attached to the peg that animates it. Camera-only pegs bake straight onto the camera instead of creating an empty joint.
  • Tangents preserved — absolute per-axis bezier handles, plus LINEAR and CONSTANT. Harmony's native handles are read where the column allows and reconstructed by curve sampling where it doesn't.
  • Correct rotation conversion — Z-up ↔ Y-up changes are applied as a quaternion conjugation, not as a permutation of Euler angles. Rotation also travels as an order-independent quaternion from the world-matrix bake.
  • Partial exports work — each item's parent resolves to its nearest exported ancestor, so half a rig still arrives as a coherent chain.
  • Readable, diffable files — indented UTF-8 JSON you can inspect, diff, and script against.
  • 30-day trial + perpetual licence — one machine-bound activation covers Harmony, Blender, and Maya, via Creem.

Architecture

  • One shared, application-neutral engine (ots_core) holding the schema, coordinate and unit conversion, tangent maths, rig grouping, and licensing — with thin per-host adapters for Harmony, Blender, and Maya.
  • Harmony and Maya share a single Qt window driven by a duck-typed backend contract; Blender uses a native bpy sidebar panel.
  • Interchange format v4, with strict version matching and no backward migration.

Known issues

  • Z-up Maya scenes convert keyframe values correctly but emit interpolation-only handles; per-key bezier tangents are simplified. Work in Y-up for exact tangent shapes.
  • Applying a .anm to an existing Harmony peg unlinks its 3D-path and quaternion-path columns and writes separate-channel bezier curves. Values are correct; the original authoring mode is not preserved.
  • Amber (unmatched) rows don't clear after Create Rig or Create Cameras — re-browse the file to re-run the match.
  • Cross-application camera aim is best-effort. Verify framing after import.
  • The Harmony readers don't run the same strict format validation as the Maya and Blender readers, so a wrong-version file surfaces differently there.

Pre-release history

Octo Transform Sync was developed privately through 2026. Public history begins with v1.0.0.