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
- Mapping Layer — how host-specific knowledge stays isolated.
- Automation — the extension and automation paths.
- Development Status — what is implemented today.
- SDK API Guide — the current plugin-facing surface.