Migration to v1.0
This guide covers every consumer-visible change from each v0.x version up to v1.0.0. If you are on v0.12.x, there is nothing to migrate β v1.0.0 is byte-for-byte API-compatible with v0.12.0; the bump signals stability, not breakage.
TL;DR
| If you are on⦠| Migration cost | Read |
|---|---|---|
| v0.12.x | None | Stability commitments |
| v0.10.x or v0.11.x | None | The 0.10 β 0.12 entries below |
| v0.9.x | None (additive changes only) | The 0.9 β 0.10 entry below |
| v0.8.x | None (additive changes only) | The 0.8 β 0.9 entry below |
| v0.7.x or earlier | Several rename + restructure passes | The full 0.x history in CHANGELOG.md |
What v1.0 commits to
After v1.0.0, breaking changes to any symbol tagged @public follow
this policy:
- The breaking change ships in version
N.x.ywith a@deprecatedtag on the old shape and aconsole.warnon first use (when feasible). - The old shape remains usable through every release in both the
NandN+1major series. - The old shape is removed in
(N+2).0.0, following the deprecation window in API Stability Policy.
@experimental symbols (listed in api-stability.md)
do not get this guarantee. They may change in minor releases. Pin the
version ("@joroya/react": "1.2.3" rather than "^1.2.3") if you depend
on them.
Per-version migration notes
v0.12.x β 1.0.0
No source changes. The v1.0.0 bump promotes commitments, not shapes.
Every export from v0.12.x is present in v1.0.0 with an identical
signature. Run pnpm update and youβre done.
What is new (additive, opt-in):
- Plugin system (
PluginRegistry,ThreeRenderer.usePlugin) β only affects you if you install plugins. getMathBackend()/registerMathBackend()β only affects you if you register a backend.api:checkscript β read-only audit, nothing changes about your build.
v0.11.x β v0.12.0
- New components:
Skin(skeletal animation). Optional; existing code does not change. BufferGeometryDefgainedskinIndicesandskinWeightsβ both optional. Static meshes are unaffected.- New helpers:
solve2BoneIKin@joroya/core,Vehiclein@joroya/physics. Additive. PhysicsSystem.getBody(node)β new public method.
v0.10.x β v0.11.0
- Five new packages:
@joroya/inspector,@joroya/input,@joroya/assets,@joroya/react,@joroya/vue. None depend on each other; install only what you use. - No changes to existing package APIs.
v0.9.x β v0.10.0
PostProcessingDef.fxaaβPostProcessingDef.antialiasing. The old field never worked (the renderer didnβt read it); the rename also switched the implementation from a missing FXAA pass to a real SMAA pass. Existing code that wrotefxaa: truewas silently a no-op before β now they should writeantialiasing: true.- TypedArrays survive serialization: supported arrays in
AnimationClipandBufferGeometrysurviveserialize/deserialize.InstancedMeshcomponents are intentionally skipped bydeserialize; restore them with an application adapter. Their arrays can be saved separately withtypedArrayReplacer/typedArrayReviver. See Serialization for the supported array types.
v0.8.x β v0.9.0
- New
Animatorcomponent withplay/stop/crossFadeAPI. The pre-v0.9 stub component had no methods; existing usage was necessarily a no-op or a placeholder. @joroya/physicscleaned of rapier orphans. If you were importingRigidBody,Collider, or related from@joroya/physics/components/*, switch to@joroya/coreexports β the canonical components have lived there since v0.9.ThreeRenderer.render(dt?): accepts an optional frame-time argument. Callers that didnβt pass one still work (defaults to1/60), but animation looks crisper with a realdt.
v0.7.x and earlier
See the full historical CHANGELOG. Pre-v0.7 versions predate this projectβs monorepo stabilization (v0.3.0βs βBuild Stabilizationβ entry). The simplest migration path from a 0.6.x or earlier release is to read each intermediate CHANGELOG section sequentially.
Stability commitments
Symbols ship under one of three tags (full list in
api-stability.md):
@publicβ breaking change requires a major bump.@experimentalβ may change in minors.@internalβ not part of the public API.
If a symbol from a packageβs dist/index.d.ts is not listed in the
stability doc, treat it as @public (the conservative default).
Need help?
- Open an issue at https://github.com/joshuacba08/oroya-animate/issues with the version youβre coming from and the symbol youβre stuck on.
- The
CHANGELOG.mdis the authoritative log of every shape-affecting change.
Runtime maintenance updates
The current workspace adds Transform.setPosition, setRotation and setScale (all return void and copy values), plus Scene(root?: Node), without removing v1 signatures. JSON now saves only supported declarative data and preserves the complete root. Three.js reconciles the graph every frame and releases owned resources on removal, remount and disposal. Previously direct transform writes still require an explicit refresh. Package publishing is a separate release; this documentation deployment does not publish npm artifacts.