@rig-c/core 2.39.0 → 2.40.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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +2 -2
- package/NOTICE.md +3 -3
- package/README.md +48 -47
- package/docs/AUTHORING.md +86 -30
- package/docs/FACE.md +14 -14
- package/docs/INGEST.md +4 -4
- package/docs/MOTION.md +2 -2
- package/docs/PROMPTING.md +4 -4
- package/docs/RIGGING.md +33 -33
- package/package.json +4 -4
- package/skills/rigc/SKILL.md +8 -8
- package/skills/rigc-face/SKILL.md +6 -6
- package/skills/rigc-ingest/SKILL.md +5 -5
- package/skills/rigc-motion/SKILL.md +6 -6
- package/skills/rigc-rigging/SKILL.md +6 -6
- package/src/assertions/bodies/a51.ts +92 -0
- package/src/assertions/facts/setup_world.ts +40 -0
- package/src/assertions/kinds.ts +1 -0
- package/src/assertions/model/declared.ts +1 -0
- package/src/assertions/model/index.ts +7 -0
- package/src/assertions/model/setup_world.ts +35 -0
- package/src/ballot.ts +1 -1
- package/src/bonedist.ts +1 -1
- package/src/cli/shared.ts +1 -1
- package/src/cli/spine_commands.ts +1 -1
- package/src/compile.ts +2 -0
- package/src/deformmeasure.ts +3 -3
- package/src/depth.ts +3 -3
- package/src/diff.ts +1 -1
- package/src/generation.ts +1 -1
- package/src/preview.ts +2 -2
- package/src/rig.ts +104 -2
- package/src/trackgen.ts +1 -1
- package/src/types.ts +9 -0
- package/src/validate.ts +49 -0
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
"name": "rigc",
|
|
11
11
|
"source": "./",
|
|
12
12
|
"description": "Author Spine 4.3 rigs with rigc: an entry skill with the install line and the build, validate, render, check and vote loop, plus routers for rigging, motion, faces and foreign skeletons, each linking the shipped guide that owns its rules.",
|
|
13
|
-
"homepage": "https://github.com/
|
|
14
|
-
"repository": "https://github.com/
|
|
13
|
+
"homepage": "https://github.com/rig-c/core#readme",
|
|
14
|
+
"repository": "https://github.com/rig-c/core",
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"keywords": ["spine", "spine2d", "skeletal-animation", "rig", "compiler", "ai-agents"]
|
|
17
17
|
}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
"name": "firejune",
|
|
7
7
|
"url": "https://github.com/firejune"
|
|
8
8
|
},
|
|
9
|
-
"homepage": "https://github.com/
|
|
10
|
-
"repository": "https://github.com/
|
|
9
|
+
"homepage": "https://github.com/rig-c/core#readme",
|
|
10
|
+
"repository": "https://github.com/rig-c/core",
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"keywords": ["spine", "spine2d", "skeletal-animation", "rig", "compiler", "ai-agents"]
|
|
13
13
|
}
|
package/NOTICE.md
CHANGED
|
@@ -40,8 +40,8 @@ Software's terms, not a licence term of this project:
|
|
|
40
40
|
development dependency for its own gate, and so does an install with
|
|
41
41
|
`spine-core` added beside it. Validation is not optional on either: the gate
|
|
42
42
|
runs through the runtime where it is installed and through rigc's own validator
|
|
43
|
-
where it is not, and the two are held to the same verdicts in CI on
|
|
44
|
-
|
|
43
|
+
where it is not, and the two are held to the same verdicts in CI on 50 of the
|
|
44
|
+
51 assertions — the official parser's own parse runs only where the runtime is.
|
|
45
45
|
|
|
46
46
|
> **If a product integrates a Spine Runtime to play rigc's output, that integration
|
|
47
47
|
> is subject to the terms above** — rigc neither creates those terms nor removes
|
|
@@ -144,4 +144,4 @@ licence file that does not exist.
|
|
|
144
144
|
`bench/reference/` is repository material — it is not in `package.json`'s `files`
|
|
145
145
|
list, so it is not part of the published npm package. The full reasoning, and the
|
|
146
146
|
per-rung framing behind it, is in
|
|
147
|
-
[`bench/reference/README.md`](https://github.com/
|
|
147
|
+
[`bench/reference/README.md`](https://github.com/rig-c/core/blob/main/bench/reference/README.md).
|
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="https://raw.githubusercontent.com/
|
|
2
|
+
<img src="https://raw.githubusercontent.com/rig-c/core/main/assets/banner.svg" alt="rigc — AI-authored 2D rigging and animation, verified before it is written" width="100%" />
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
@@ -15,12 +15,13 @@ gated by a list of named assertions before a byte is written — rigc's own vali
|
|
|
15
15
|
the published package, held to a `spine-core` round trip's verdicts in this
|
|
16
16
|
repository's CI. Built so AI agents can author rigs and check their own work; it ships
|
|
17
17
|
as an agent skill. On npm it is `rig-c` — the same package as `spine-rigc`, the name it
|
|
18
|
-
first shipped under,
|
|
18
|
+
first shipped under, and as `@rig-c/core`, its name under the toolchain's scope, both
|
|
19
|
+
published beside it with the same files at every version.
|
|
19
20
|
|
|
20
21
|
## What you get
|
|
21
22
|
|
|
22
23
|
<p align="center">
|
|
23
|
-
<img src="https://raw.githubusercontent.com/
|
|
24
|
+
<img src="https://raw.githubusercontent.com/rig-c/core/main/assets/rigc-demo.gif" alt="Loose part PNGs assembling themselves into a character that breathes, blinks and waves" width="600" />
|
|
24
25
|
</p>
|
|
25
26
|
|
|
26
27
|
<p align="center"><em>Fourteen part PNGs drawn from scratch for this repo, one rig spec, one motion spec — the assembly,
|
|
@@ -63,12 +64,12 @@ it cuts both ways:
|
|
|
63
64
|
is a development dependency: this repository uses it to hold rigc's own validator
|
|
64
65
|
to the round trip's verdicts — in CI, on the public example recipes and every
|
|
65
66
|
selftest call, and on a private corpus of production rigs measured before each
|
|
66
|
-
release. Of the
|
|
67
|
+
release. Of the 51 assertions, 50 run on both; `A00_ROUNDTRIP_PARSE`, the official
|
|
67
68
|
parser's own parse, runs only where the runtime is installed and is reported as a
|
|
68
69
|
SKIP elsewhere. There, in the parse's place, the report also carries the model
|
|
69
70
|
side's own two parse rules, `A00_MODEL_READ` and `A00_MODEL_REGIONS_ON_PAGES`,
|
|
70
71
|
which no round-trip rule matches and the registry does not hold — so its summary
|
|
71
|
-
totals
|
|
72
|
+
totals 53 on the core entry, and its last line counts 44 rules on the model side
|
|
72
73
|
([AUTHORING §5.2](docs/AUTHORING.md) has a row for each). Install it beside rigc
|
|
73
74
|
(`bun add -d @esotericsoftware/spine-core`) and the same `rigc` runs the round
|
|
74
75
|
trip on every build. The
|
|
@@ -114,7 +115,7 @@ there by the render script rather than left to memory. The same file's
|
|
|
114
115
|
and art, not this material. `7-anticipation` publishes no `license.txt` upstream, so
|
|
115
116
|
no such grant exists for it and its frames are never committed — they render only
|
|
116
117
|
into a gitignored directory, enforced by `git check-ignore`. Full reasoning:
|
|
117
|
-
[`bench/reference/README.md`](https://github.com/
|
|
118
|
+
[`bench/reference/README.md`](https://github.com/rig-c/core/blob/main/bench/reference/README.md)
|
|
118
119
|
(repository material, not in the npm package).
|
|
119
120
|
|
|
120
121
|
The problem rigc is aimed at is narrow. An agent asked to author a rig has no way
|
|
@@ -141,18 +142,18 @@ repository it was cut from. What is measured is the install itself — pack,
|
|
|
141
142
|
install into an empty directory, build, render — on Linux, macOS and Windows
|
|
142
143
|
runners and on Linux at the declared minimum, Bun 1.2.0 (the `installs` and
|
|
143
144
|
`installs-matrix` jobs in
|
|
144
|
-
[`ci.yml`](https://github.com/
|
|
145
|
+
[`ci.yml`](https://github.com/rig-c/core/blob/main/.github/workflows/ci.yml),
|
|
145
146
|
repository material, not in the npm package); a platform
|
|
146
147
|
whose leg is red there is not one the package is known to run on.
|
|
147
148
|
|
|
148
149
|
**The npm package is `rig-c`; the command it installs is `rigc`.** npm
|
|
149
150
|
refuses the name `rigc` as too similar to packages that already exist, so the
|
|
150
|
-
project
|
|
151
|
-
|
|
151
|
+
project and the executable keep their name and the registry entry carries one
|
|
152
|
+
hyphen; the repository is [`rig-c/core`](https://github.com/rig-c/core). **`spine-rigc` is the same package**: it is the name
|
|
152
153
|
every version up to 2.20.4 shipped under, and it stays published as an alias —
|
|
153
154
|
every version from 2.20.4 on is on both names, with the same files — so a
|
|
154
155
|
project that depends on `spine-rigc` keeps receiving every release. A new
|
|
155
|
-
project installs `rig-c
|
|
156
|
+
project installs `rig-c`; `@rig-c/core` is the same package under the scope.
|
|
156
157
|
|
|
157
158
|
```bash
|
|
158
159
|
bunx rig-c --help # run it without installing
|
|
@@ -177,7 +178,7 @@ against Spine's official example projects — fetched, never committed — and a
|
|
|
177
178
|
reference frames this project renders from them, which **are** committed, each
|
|
178
179
|
example's own `license.txt` beside them under the redistribution grant those files
|
|
179
180
|
carry; the images stay **non-commercial only**. The reasoning is in
|
|
180
|
-
[`bench/reference/README.md`](https://github.com/
|
|
181
|
+
[`bench/reference/README.md`](https://github.com/rig-c/core/blob/main/bench/reference/README.md)
|
|
181
182
|
and the terms in [NOTICE.md](NOTICE.md). It needs a clone and `bun run
|
|
182
183
|
fetch-examples`, and says so by name when the corpus is absent. `check` is not one
|
|
183
184
|
of them: it reads whatever frames you point it at, so it runs from the installed
|
|
@@ -196,7 +197,7 @@ a rule keeps living in exactly one place. The repository is also a Claude Code
|
|
|
196
197
|
plugin marketplace:
|
|
197
198
|
|
|
198
199
|
```shell
|
|
199
|
-
/plugin marketplace add
|
|
200
|
+
/plugin marketplace add rig-c/core
|
|
200
201
|
/plugin install rigc@rigc
|
|
201
202
|
```
|
|
202
203
|
|
|
@@ -228,7 +229,7 @@ symlinked skill folder, which is not measured here, and Antigravity CLI 1.1.9 ha
|
|
|
228
229
|
way to list skills without starting a session, so what it does with a link is not
|
|
229
230
|
measured either; `--copy` is the shape that asks nothing of a host. Gemini CLI can
|
|
230
231
|
also fetch a skill itself, one folder at a time:
|
|
231
|
-
`gemini skills install https://github.com/
|
|
232
|
+
`gemini skills install https://github.com/rig-c/core.git --path skills/rigc --scope workspace`.
|
|
232
233
|
The routers are named `rigc-rigging`, `rigc-motion`, `rigc-face` and `rigc-ingest`
|
|
233
234
|
because that directory is flat — beside another tool's `motion`, a bare name is
|
|
234
235
|
whichever one the host picked — and under the Claude Code plugin they read
|
|
@@ -243,7 +244,7 @@ files, one `build`, one `validate`. No clone, no art pipeline, nothing fetched.
|
|
|
243
244
|
nowhere else in this repository. That is [AUTHORING.md](docs/AUTHORING.md) §3's
|
|
244
245
|
rule applied here: no example value in these documents is copied out of a
|
|
245
246
|
reference export, so nothing you read in a quickstart is an answer to anything
|
|
246
|
-
[the ladder](https://github.com/
|
|
247
|
+
[the ladder](https://github.com/rig-c/core/blob/main/docs/LADDER.md) measures.
|
|
247
248
|
|
|
248
249
|
**1. Install the command.**
|
|
249
250
|
|
|
@@ -370,7 +371,7 @@ rigc: look at it: rigc preview --candidate …/buoy/spine
|
|
|
370
371
|
```
|
|
371
372
|
|
|
372
373
|
`profile=spine` is the rulebook that judged it: *is this valid Spine 4.3 that any
|
|
373
|
-
runtime plays correctly?* That is the default, and the [Profiles](https://github.com/
|
|
374
|
+
runtime plays correctly?* That is the default, and the [Profiles](https://github.com/rig-c/core/blob/main/docs/BENCHMARK.md#profiles--wrong-versus-not-how-we-do-it-here)
|
|
374
375
|
section of the benchmark dossier is where the other one lives. `validate` then re-reads those
|
|
375
376
|
artifacts from disk and ends `rigc: green`. That is a rig. `spine/skeleton.json`
|
|
376
377
|
is Spine 4.3 skeleton data — it loads in a Spine runtime and it imports into the
|
|
@@ -448,7 +449,7 @@ The voter picks a winner or says "tie / no preference"; the page hands them a
|
|
|
448
449
|
small JSON file to save; `--record` checks that file against the ballot's own
|
|
449
450
|
hashes and appends one line to an append-only ledger, refusing by name anything
|
|
450
451
|
that does not belong to it. See
|
|
451
|
-
[Letting someone choose](https://github.com/
|
|
452
|
+
[Letting someone choose](https://github.com/rig-c/core/blob/main/docs/BENCHMARK.md#letting-someone-choose--rigc-vote).
|
|
452
453
|
|
|
453
454
|
**Where to go next.**
|
|
454
455
|
|
|
@@ -476,8 +477,8 @@ that does not belong to it. See
|
|
|
476
477
|
it, so a figure is read against that rather than against a number from a page;
|
|
477
478
|
AUTHORING.md §9.2 says what the two halves of that bound are and why the floor
|
|
478
479
|
is not zero.
|
|
479
|
-
- [docs/LADDER.md](https://github.com/
|
|
480
|
-
and rendered frames, scored. [docs/PILOT.md](https://github.com/
|
|
480
|
+
- [docs/LADDER.md](https://github.com/rig-c/core/blob/main/docs/LADDER.md) is the benchmark: the same job, from a brief
|
|
481
|
+
and rendered frames, scored. [docs/PILOT.md](https://github.com/rig-c/core/blob/main/docs/PILOT.md) is how to run an
|
|
481
482
|
agent through it and score what comes back.
|
|
482
483
|
- 🤖 **Handing the authoring to an AI agent?**
|
|
483
484
|
[docs/PROMPTING.md](docs/PROMPTING.md) is the operator's page — the six prompt
|
|
@@ -493,7 +494,7 @@ four candidates in one page and takes a human's answer back. Reach for them the
|
|
|
493
494
|
a rig compiles green, because green says nothing at all about the picture.
|
|
494
495
|
|
|
495
496
|
<p align="center">
|
|
496
|
-
<img src="https://raw.githubusercontent.com/
|
|
497
|
+
<img src="https://raw.githubusercontent.com/rig-c/core/main/assets/rigc-keypose.gif" alt="Two key poses read back by rigc pose, two candidate in-between motions compiled from them, and a rigc vote ballot picking one" width="600" />
|
|
497
498
|
</p>
|
|
498
499
|
|
|
499
500
|
<p align="center"><em>The whole loop on one character: two key poses are the given
|
|
@@ -526,7 +527,7 @@ something is drawn over them are `rigc chainfit`'s, once a candidate exists —
|
|
|
526
527
|
|
|
527
528
|
## The gallery — seven complete rigs over art that ships with them
|
|
528
529
|
|
|
529
|
-
Each directory in [`gallery/`](https://github.com/
|
|
530
|
+
Each directory in [`gallery/`](https://github.com/rig-c/core/tree/main/gallery) is
|
|
530
531
|
one rig spec, one motion spec and the PNGs they name, small enough to read in one
|
|
531
532
|
sitting. Each stars a single feature, so *how do I do X* has a working answer rather
|
|
532
533
|
than a field table, and each README carries the frame rate it was authored at, what
|
|
@@ -535,16 +536,16 @@ was verified, and what writing it cost. Repository material: a clone and
|
|
|
535
536
|
|
|
536
537
|
| Example | Stars | What it is |
|
|
537
538
|
| --- | --- | --- |
|
|
538
|
-
| [`gallery/walk`](https://github.com/
|
|
539
|
-
| [`gallery/squash`](https://github.com/
|
|
540
|
-
| [`gallery/flex`](https://github.com/
|
|
541
|
-
| [`gallery/ride`](https://github.com/
|
|
542
|
-
| [`gallery/portrait`](https://github.com/
|
|
543
|
-
| [`gallery/nod`](https://github.com/
|
|
544
|
-
| [`gallery/look`](https://github.com/
|
|
539
|
+
| [`gallery/walk`](https://github.com/rig-c/core/tree/main/gallery/walk) | `ik` constraints + **`ik` timelines** | Two two-bone leg chains solved to foot targets — the planted leg nailed down, the swinging one let go at the top of its lift |
|
|
540
|
+
| [`gallery/squash`](https://github.com/rig-c/core/tree/main/gallery/squash) | **`deform` timelines** | A ball squashed about its contact point and stretched along its travel, from two affine transforms the keys state rather than tabulate |
|
|
541
|
+
| [`gallery/flex`](https://github.com/rig-c/core/tree/main/gallery/flex) | **`contour` meshes** | A swallow-tailed banner and a serrated leaf: four meshes traced off their own alpha, waved by bone timelines and rippled by a `deform` |
|
|
542
|
+
| [`gallery/ride`](https://github.com/rig-c/core/tree/main/gallery/ride) | `path` attachments + **path constraints** | A trolley coasting down a drawn rail and rolling back, driven by a `position` timeline, with `groups` + `stagger` keying the wheels and the ears |
|
|
543
|
+
| [`gallery/portrait`](https://github.com/rig-c/core/tree/main/gallery/portrait) | **deform `transform`** + `derive` group tracks | A 2.5D head turn: two meshes and six feature bones all keyed from one stated expression, `dx = x(cos t − 1) − z·sin t`, with the depths in the spec rather than a README |
|
|
544
|
+
| [`gallery/nod`](https://github.com/rig-c/core/tree/main/gallery/nod) | the **`pitch`** and **`wave`** transform kinds | A head bowing and two lop ears rippling, on three meshes each laid out for the closed form that moves it — a fold angle solved for before authoring, and a shear whose winding no amplitude can reverse |
|
|
545
|
+
| [`gallery/look`](https://github.com/rig-c/core/tree/main/gallery/look) | **`slider` constraints** | A head that turns because a **value** says so: two dials drive two sliders, and the rendered animation moves the needles rather than the face — with a depth map under the face mesh, a soft mask on the cowlick, and a slider range derived from the turn ceiling `build` reports rather than picked by eye |
|
|
545
546
|
|
|
546
547
|
<p align="center">
|
|
547
|
-
<img src="https://raw.githubusercontent.com/
|
|
548
|
+
<img src="https://raw.githubusercontent.com/rig-c/core/main/assets/rigc-scene.gif" alt="A portrait rig breathing, glancing aside, then turning its head in 2.5D — hair and features sliding at different depths" width="600" />
|
|
548
549
|
</p>
|
|
549
550
|
|
|
550
551
|
<p align="center"><em>The portrait rig playing its three animations in one take — the turn is
|
|
@@ -557,7 +558,7 @@ and that cost is one stated expression per key. Compiled and rendered entirely b
|
|
|
557
558
|
published package.</em></p>
|
|
558
559
|
|
|
559
560
|
🎞️ **How the three films on this page were made** is kept with them, one directory per
|
|
560
|
-
film in [`films/`](https://github.com/
|
|
561
|
+
film in [`films/`](https://github.com/rig-c/core/tree/main/films) — a `run.sh` that
|
|
561
562
|
names every step, the assembler that cuts the shots and draws the type, and a README
|
|
562
563
|
saying what the film claims and which tool printed each figure on screen. Repository
|
|
563
564
|
material, like the gallery: a clone runs them.
|
|
@@ -592,11 +593,11 @@ commands take it and what its default is.
|
|
|
592
593
|
`diff`, `bonedist`, `check` and `bench` measure against something you were given; the
|
|
593
594
|
first three work on any reference you have, and `bench` is a repository workflow that needs a clone
|
|
594
595
|
and `bun run fetch-examples`. The reasoning behind them is in
|
|
595
|
-
[the benchmark dossier](https://github.com/
|
|
596
|
+
[the benchmark dossier](https://github.com/rig-c/core/blob/main/docs/BENCHMARK.md).
|
|
596
597
|
|
|
597
|
-
`build` and `validate` both default to `--profile spine` — the
|
|
598
|
+
`build` and `validate` both default to `--profile spine` — the 35 validity rules, which
|
|
598
599
|
ask *is this valid Spine 4.3 that any runtime plays correctly?* `--profile spine-html`
|
|
599
|
-
adds all
|
|
600
|
+
adds all 51: the other 16 are one renderer's policy and one canvas budget's, and they
|
|
600
601
|
fire on perfectly correct editor-produced Spine data, which is why they are opt-in.
|
|
601
602
|
⇒ **That reason is about foreign data and does not carry to a rig you are authoring
|
|
602
603
|
yourself: author under `--profile spine-html` and read the extra 16 as findings, and
|
|
@@ -609,7 +610,7 @@ Several cuts can also be registered in a `cuts.json` and built by name
|
|
|
609
610
|
(`build --cut my_cut --cuts path/to/cuts.json`); every path in that table resolves
|
|
610
611
|
relative to the `cuts.json` file itself, so the table lives with the project that owns
|
|
611
612
|
the art. Its shape is under
|
|
612
|
-
[Usage](https://github.com/
|
|
613
|
+
[Usage](https://github.com/rig-c/core/blob/main/docs/BENCHMARK.md#usage).
|
|
613
614
|
|
|
614
615
|
### Starting from a skeleton you already have
|
|
615
616
|
|
|
@@ -758,13 +759,13 @@ letting `A17` blame the editor for the harness's own doing.
|
|
|
758
759
|
| 📥 **[docs/INGEST.md](docs/INGEST.md)** | **working with a skeleton you did not author.** What every command can and cannot do with a foreign `skeleton.json`, reading it with the toolchain, transcription as the route that makes it yours, what each validator complaint means on an export, and the re-pivot/rename/extend recipes. Ships in the package too |
|
|
759
760
|
| 🤖 **[docs/PROMPTING.md](docs/PROMPTING.md)** | **handing the authoring to an AI agent** — the prompt clauses a measured pilot run paid for, and what you can leave unsaid. Ships in the package too |
|
|
760
761
|
| 🔬 **[docs/SPEC_COVERAGE.md](docs/SPEC_COVERAGE.md)** | **the Spine 4.3 format, field by field.** Every key the 4.3 JSON parser and atlas reader take, what each defaults to, and the parser line it comes from — the rows rigc's refusals cite by part number. Ships in the package too |
|
|
761
|
-
| 🎓 **[the benchmark dossier](https://github.com/
|
|
762
|
-
| 📋 [LADDER.md](https://github.com/
|
|
763
|
-
| 🔬 [SURVEY_2026-08-22.md](https://github.com/
|
|
764
|
-
| 🧬 [GENERATIONS.md](https://github.com/
|
|
765
|
-
| 📓 [CASES.md](https://github.com/
|
|
766
|
-
| 🗺️ [ROADMAP.md](https://github.com/
|
|
767
|
-
| 📐 [CLAUDE.md](https://github.com/
|
|
762
|
+
| 🎓 **[the benchmark dossier](https://github.com/rig-c/core/blob/main/docs/BENCHMARK.md)** | **why you can trust the output.** The yardstick, `diff` and `check` and what neither can see, the eight-rung ladder and the spineboy graduation exam, the run viewer, the 51 named assertions with their profiles, and the selftest that has watched every one of them fire. Repository material — it is not in the npm package |
|
|
763
|
+
| 📋 [LADDER.md](https://github.com/rig-c/core/blob/main/docs/LADDER.md) · [GATE.md](https://github.com/rig-c/core/blob/main/docs/GATE.md) · [PILOT.md](https://github.com/rig-c/core/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 |
|
|
764
|
+
| 🔬 [SURVEY_2026-08-22.md](https://github.com/rig-c/core/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 |
|
|
765
|
+
| 🧬 [GENERATIONS.md](https://github.com/rig-c/core/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 |
|
|
766
|
+
| 📓 [CASES.md](https://github.com/rig-c/core/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 |
|
|
767
|
+
| 🗺️ [ROADMAP.md](https://github.com/rig-c/core/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 |
|
|
768
|
+
| 📐 [CLAUDE.md](https://github.com/rig-c/core/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/rig-c/core/blob/main/CONTRIBUTING.md) calls it worth ten minutes before a first patch. Repository material |
|
|
768
769
|
|
|
769
770
|
## Why you can trust the output
|
|
770
771
|
|
|
@@ -786,7 +787,7 @@ attributability is **measured** to be capped below the bar reads down when every
|
|
|
786
787
|
observable about it is independently verified strict. Every other rung and the
|
|
787
788
|
graduation exam pass on the clause itself. Recompiling a stored candidate reproduces its
|
|
788
789
|
record **to the digit within one gate**; across an instrument change the digits move,
|
|
789
|
-
and [docs/LADDER.md](https://github.com/
|
|
790
|
+
and [docs/LADDER.md](https://github.com/rig-c/core/blob/main/docs/LADDER.md) records
|
|
790
791
|
where. The standing figures quoted above are from its *gate-v2.4 re-inspection*, which
|
|
791
792
|
is the current sweep.
|
|
792
793
|
|
|
@@ -805,19 +806,19 @@ a from-zero run is a tooling-progress measurement rather than a re-climb, which
|
|
|
805
806
|
why the certification above is scoped to tool + guide + protocol. One of those
|
|
806
807
|
attempts states the residual in its own words: *"in motion it is not at editor
|
|
807
808
|
quality."* All six, with their verdicts, are in
|
|
808
|
-
[docs/LADDER.md](https://github.com/
|
|
809
|
+
[docs/LADDER.md](https://github.com/rig-c/core/blob/main/docs/LADDER.md).
|
|
809
810
|
|
|
810
811
|
The whole dossier — the yardstick, `diff` and `check` and what neither of them can
|
|
811
|
-
see, every rung, the run viewer, the
|
|
812
|
-
[docs/BENCHMARK.md](https://github.com/
|
|
812
|
+
see, every rung, the run viewer, the 51 assertions and the selftest behind them — is
|
|
813
|
+
[docs/BENCHMARK.md](https://github.com/rig-c/core/blob/main/docs/BENCHMARK.md).
|
|
813
814
|
Live rung status is
|
|
814
|
-
[docs/LADDER.md](https://github.com/
|
|
815
|
+
[docs/LADDER.md](https://github.com/rig-c/core/blob/main/docs/LADDER.md).
|
|
815
816
|
|
|
816
817
|
## Contributing
|
|
817
818
|
|
|
818
|
-
Issues are the ledger; see [CONTRIBUTING.md](https://github.com/
|
|
819
|
+
Issues are the ledger; see [CONTRIBUTING.md](https://github.com/rig-c/core/blob/main/CONTRIBUTING.md) for what a change
|
|
819
820
|
has to clear before it lands. Releases are cut by release-please —
|
|
820
|
-
[RELEASING.md](https://github.com/
|
|
821
|
+
[RELEASING.md](https://github.com/rig-c/core/blob/main/RELEASING.md).
|
|
821
822
|
|
|
822
823
|
## Licence
|
|
823
824
|
|