spine-rigc 0.20.3 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/cli.ts +7 -1
- package/docs/AUTHORING.md +275 -43
- package/docs/FACE.md +53 -7
- package/docs/SPEC_COVERAGE.md +9 -0
- package/package.json +2 -1
- package/src/compile.ts +618 -171
- package/src/keys.ts +117 -0
- package/src/motion.ts +143 -15
- package/src/rig.ts +445 -117
- package/src/types.ts +97 -8
- package/src/validate.ts +106 -1
- package/tools/editor_roundtrip.ts +99 -12
package/docs/SPEC_COVERAGE.md
CHANGED
|
@@ -602,6 +602,15 @@ with the member's own `skin: true` — either half alone is refused, because `Sk
|
|
|
602
602
|
| `clipping` | ✅ under `--profile spine` · 🚫 under `spine-html` | `end` (refused when it names no slot), `convex`, `inverse`, `vertexCount`, geometry, `color`. **A33**, and **A11_NO_CLIPPING_ATTACHMENTS** is the renderer-profile refusal |
|
|
603
603
|
| `sequence` block | ❌ | |
|
|
604
604
|
|
|
605
|
+
Across all five types, rigc emits the attachment's own **`name`** in exactly one case: a placeholder
|
|
606
|
+
that more than one skin fills (`compile.ts`'s `nameSkinAttachment`). Part 1-5 above states why it
|
|
607
|
+
matters — `name` defaults to the placeholder and `path` defaults to `name` — so several skins under
|
|
608
|
+
one placeholder are several attachments with one name, which spine-core accepts and the Spine editor
|
|
609
|
+
refuses on import ([#541](https://github.com/firejune/rigc/issues/541)). The composed name is
|
|
610
|
+
`<skin>/<placeholder>`, `path` is restated beside it so the region still resolves, and a placeholder
|
|
611
|
+
one skin fills is emitted with neither. Nothing else in the tree carries a `name`: of the twelve
|
|
612
|
+
editor exports in `examples/`, **0** attachments do, because all twelve declare one skin.
|
|
613
|
+
|
|
605
614
|
Mesh geometry is generated by exactly three procedural generators (`mesh.ts`): `buildRingMesh`
|
|
606
615
|
(three concentric rings + hub, outer two pinned), `buildRibbonMesh` (a two-wide strip along a bone
|
|
607
616
|
chain) and `buildContourMesh` (marching-squares trace of the part's own alpha → Douglas-Peucker →
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spine-rigc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.0",
|
|
4
4
|
"description": "Rig compiler for Spine — declarative rig specs in, Spine 4.3 skeleton data out, verified by a spine-core round-trip. Built so AI agents can author rigs and check their own work; the output imports into the Spine editor.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"validate": "bun cli.ts validate",
|
|
60
60
|
"explain": "bun cli.ts explain",
|
|
61
61
|
"selftest": "bun selftest.ts",
|
|
62
|
+
"smoke": "bun scripts/install_smoke.ts",
|
|
62
63
|
"typecheck": "bunx tsc --noEmit",
|
|
63
64
|
"typecheck:runs": "bunx tsc --noEmit -p tsconfig.runs.json",
|
|
64
65
|
"lint": "bunx eslint .",
|