spine-rigc 1.2.1 β†’ 1.2.2

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 CHANGED
@@ -692,6 +692,7 @@ letting `A17` blame the editor for the harness's own doing.
692
692
  | πŸ“‹ [LADDER.md](https://github.com/firejune/rigc/blob/main/docs/LADDER.md) Β· [GATE.md](https://github.com/firejune/rigc/blob/main/docs/GATE.md) Β· [PILOT.md](https://github.com/firejune/rigc/blob/main/docs/PILOT.md) | the live rung ledger, the clause statements a candidate is graded against, and how to run an agent through the ladder and score what comes back |
693
693
  | πŸ”¬ [SURVEY_2026-08-22.md](https://github.com/firejune/rigc/blob/main/docs/SURVEY_2026-08-22.md) | the survey the ladder was climbed by: rigc and the official examples as measured on 2026-08-22, and the gap list ordered by rung. A dated record, not kept current. Repository material |
694
694
  | 🧬 [GENERATIONS.md](https://github.com/firejune/rigc/blob/main/docs/GENERATIONS.md) | **Spine data from another generation.** Why a 3.8–4.2 file read as 4.3 fails in silence, the policy that follows (detect from `skeleton.spine`, never guess, play on the matching runtime), what `A16` and `ingest` do with such a file, and the editor as the migration path. Repository material |
695
+ | πŸ““ [CASES.md](https://github.com/firejune/rigc/blob/main/docs/CASES.md) | **converting a Live2D model to Spine, and verifying the conversion.** The method β€” the source's own player headless, parts from its texture along the drawables, motion baked as deform keys, reference frames first, `check` β€” run once end to end on two Live2D sample models with no editor and no converter, and verified against the source's renderer and Spine's own runtime: the three instruments, the two rigc defects verifying it led to and v1.2.1 fixed, and where the method stops. Figures only β€” the models' licence keeps every asset out. Repository material |
695
696
  | πŸ—ΊοΈ [ROADMAP.md](https://github.com/firejune/rigc/blob/main/ROADMAP.md) | where this is going, and where it has been. What 1.0 had to mean before the number was claimed, and what it was claimed on β€” conditions rather than a feature list, because direction here comes from what users hit |
696
697
  | πŸ“ [CLAUDE.md](https://github.com/firejune/rigc/blob/main/CLAUDE.md) | **the doctrine** β€” why the validator's messages are the product, why nothing reaches disk before green, why no number is ever invented, and what a change has to keep. [CONTRIBUTING.md](https://github.com/firejune/rigc/blob/main/CONTRIBUTING.md) calls it worth ten minutes before a first patch. Repository material |
697
698
 
package/docs/AUTHORING.md CHANGED
@@ -141,7 +141,12 @@ result. There is no `--no-validate`, and there will not be one.
141
141
  Green from `build` means the file is valid; it says nothing at all about whether
142
142
  the animation is the one in the frames, and there is no assertion that could β€” see
143
143
  Β§9. The two run in that order because `check` needs artifacts on disk and `build`
144
- only writes them when the gate is green.
144
+ only writes them when the gate is green. Read its report from the top, because the
145
+ framing block says whether the figures under it are about placement or motion
146
+ (Β§9.2, *Read the framing block first*), and read a figure as where the loop starts,
147
+ not where it ends: keep the first green build's figure, check every later build
148
+ against the same frames, and stop when the figure stops moving rather than when it
149
+ exists β€” against a floor measured the way Β§9.2 says.
145
150
 
146
151
  🎞️ **When the source is a foreign player β€” a Live2D model, a Unity scene, a video β€”
147
152
  make the reference frames first, from the source.** rigc reads none of those
@@ -166,6 +171,11 @@ is valid and nothing about whether it is the source's picture. And the parts are
166
171
  the source's own texture cut along its drawables, **never a screenshot of it** β€” a
167
172
  screenshot is the composed result, so a part cut from it carries every part under
168
173
  it, which is what the first of the three questions under *LOOK* below finds.
174
+ Where a part goes is the drawable's own geometry β€” its vertices in model space, its
175
+ UVs and its triangles β€” which is a mesh attachment with those three (Β§3.4, *Mesh
176
+ attachment*, where `uvs` are fractions of the region you cut rather than of the
177
+ source's page); a region at the drawable's bounding-box centre keeps only the box,
178
+ so no vertex the source moves has anywhere to go.
169
179
 
170
180
  🚨 **Read `check`'s per-frame column before its MAE.** The table's headline figures
171
181
  are the MAE and the slot drift, and a reader who came for those will skip the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spine-rigc",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
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": {
@@ -62,7 +62,12 @@ skill the package ships there, and `rigc skills --help` says what it refuses.
62
62
  `--slot <slot,…>`), which draws the frame again without that part on the same
63
63
  grid, so the two frames say which part a pixel is. AUTHORING Β§0 holds the three.
64
64
  5. `rigc check --candidate <out> --frames <dir>` when you have reference pictures
65
- (`--out <dir>` writes the picture each of its numbers came from β€” open the worst);
65
+ (`--out <dir>` writes the picture each of its numbers came from β€” open the worst).
66
+ Read its output from the top: the framing block says whether the figures under
67
+ it are about placement or motion. A figure is where the loop starts, not where it
68
+ ends β€” keep the first green build's figure, check every later build against the
69
+ same frames, and stop when the figure stops moving, not when it exists; AUTHORING
70
+ Β§9.2 says how to read the framing block and the floor to read a figure against.
66
71
  `rigc vote --candidate <a> --candidate <b>` when several candidates are green and
67
72
  only a person can choose between them.
68
73
  6. `rigc validate <out>` re-gates artifacts already on disk, and
@@ -81,7 +86,10 @@ directory of `f0000.png`, `f0001.png`…, and `rigc check --frames <that dir> --
81
86
  reads them with no `frames.json`. A port with no reference frames is unmeasured,
82
87
  not finished. The parts are the source's own texture cut along its drawables, never
83
88
  a screenshot: a screenshot is the composed result, and a part cut from it carries
84
- every part under it. rigc reads none of those formats β€” FACE Β§11, the paragraph
89
+ every part under it. Where a part goes is its drawable's geometry β€” its vertices in
90
+ model space, its UVs, its triangles β€” which is a mesh attachment with those three
91
+ (AUTHORING Β§3.4, *Mesh attachment*); a region at the drawable's bounding-box centre
92
+ keeps only the box. rigc reads none of those formats β€” FACE Β§11, the paragraph
85
93
  that opens *No Live2D file is read or written*
86
94
  ([FACE.md](https://github.com/firejune/rigc/blob/main/docs/FACE.md#11-non-goals--stated-so-nobody-proposes-them-as-gaps)) β€”
87
95
  only the pictures they produce. The rule, the background those frames need and