Concepts

Architecture

How Turboism sits between plugins and Live2D Cubism Editor.

Turboism is an adaptation layer between Live2D Cubism Editor internals and extension code. It gives plugin authors a stable integration surface without requiring direct dependence on host implementation details.

Dependency direction

Plugin -> SDK -> Runtime policy -> versioned Adapter/Provider -> Cubism/Editor
  • Plugins describe user workflows and depend only on the SDK.
  • SDK exposes Turboism-owned types, services, and lifecycle contracts.
  • Runtime owns host access, lifecycle, permissions, threading, transactions, diagnostics, compatibility, and version routing.
  • Adapter/Provider layers isolate host-specific symbols per exact Cubism Editor version.
  • Cubism/Editor remains the host application, installed and licensed separately.

Design rules that follow from this

  • One public SDK tier. Plugins never see com.live2d.* types, host widgets, native handles, host ClassLoaders, or runtime implementation types.
  • Runtime owns execution. Plugins do not create unmanaged threads, executors, or timers, and do not register bytecode transformers.
  • Writes are Editor-owned operations with validation, Undo, dirty-state handling, and stale-reference rejection.
  • Capabilities fail closed. An unavailable Provider, an unverified host version, or a stale object reference produces a typed failure instead of a fallback path.
  • Verification is layered by cost and risk, from focused tests to packaged integration, release gates, and explicit exact-version host validation.

Where to go next