@rig-c/core 2.39.0 → 2.39.1
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 +1 -1
- package/README.md +43 -42
- package/docs/AUTHORING.md +25 -25
- 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/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/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/trackgen.ts +1 -1
|
@@ -9,7 +9,7 @@ compatibility: Requires Bun 1.2 or later and the npm package rig-c.
|
|
|
9
9
|
|
|
10
10
|
Load this when the request is a **skeleton rather than a movement**: loose part
|
|
11
11
|
PNGs in, a bone hierarchy out. Every rule below is owned by
|
|
12
|
-
[RIGGING.md](https://github.com/
|
|
12
|
+
[RIGGING.md](https://github.com/rig-c/core/blob/main/docs/RIGGING.md); this file says when to open it and what it
|
|
13
13
|
will not do for you.
|
|
14
14
|
|
|
15
15
|
## Non-negotiables
|
|
@@ -30,15 +30,15 @@ are named in RIGGING §11 — neither as a pass bar.
|
|
|
30
30
|
|
|
31
31
|
## Read, in this order
|
|
32
32
|
|
|
33
|
-
1. [AUTHORING.md](https://github.com/
|
|
33
|
+
1. [AUTHORING.md](https://github.com/rig-c/core/blob/main/docs/AUTHORING.md) — the rig spec field by field (§3),
|
|
34
34
|
the failure map (§5–§6), reading a pose out of a picture (§8.1, §11, §12),
|
|
35
35
|
and the editor's own conventions (§10).
|
|
36
|
-
2. [RIGGING.md](https://github.com/
|
|
36
|
+
2. [RIGGING.md](https://github.com/rig-c/core/blob/main/docs/RIGGING.md) — the structure itself: what identifies a
|
|
37
37
|
pivot and what moving one costs (§2–§3), gauges (§4), what a chain can reach
|
|
38
38
|
(§6), and the instruments that see structure (§11).
|
|
39
|
-
3. Then [MOTION.md](https://github.com/
|
|
40
|
-
[FACE.md](https://github.com/
|
|
41
|
-
[INGEST.md](https://github.com/
|
|
39
|
+
3. Then [MOTION.md](https://github.com/rig-c/core/blob/main/docs/MOTION.md) once the skeleton exists;
|
|
40
|
+
[FACE.md](https://github.com/rig-c/core/blob/main/docs/FACE.md) if the figure is a head;
|
|
41
|
+
[INGEST.md](https://github.com/rig-c/core/blob/main/docs/INGEST.md) if the skeleton was handed to you already
|
|
42
42
|
compiled.
|
|
43
43
|
|
|
44
44
|
Every guide linked here is in the installed package at `node_modules/rig-c/docs/`,
|
package/src/ballot.ts
CHANGED
|
@@ -616,7 +616,7 @@ export function buildBallot(input: BallotInput): { html: string; manifest: Ballo
|
|
|
616
616
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
617
617
|
<title>rigc ballot — ${escapeHtml(manifest.ballot)}</title>
|
|
618
618
|
<!--
|
|
619
|
-
Generated by rigc ${escapeHtml(input.version)} — https://github.com/
|
|
619
|
+
Generated by rigc ${escapeHtml(input.version)} — https://github.com/rig-c/core
|
|
620
620
|
|
|
621
621
|
Every candidate's skeleton, atlas and atlas pages are embedded in this file as
|
|
622
622
|
data URIs, so it plays on its own with no server and no sibling files.
|
package/src/bonedist.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* a rotation of 300° are one key each. Stage 3 is the measure for that, and
|
|
10
10
|
* until this file it did not exist: *"None of it exists. Do not report a
|
|
11
11
|
* per-frame figure until it does"*
|
|
12
|
-
* ([issue #8](https://github.com/
|
|
12
|
+
* ([issue #8](https://github.com/rig-c/core/issues/8)).
|
|
13
13
|
*
|
|
14
14
|
* `rigc check` is the other neighbour and it is **not** this. It measures a
|
|
15
15
|
* candidate against **pictures** — the rendered reference frames — which is
|
package/src/cli/shared.ts
CHANGED
|
@@ -334,7 +334,7 @@ function ceilingPair(axis: { positive: FoldLimit | null; negative: FoldLimit | n
|
|
|
334
334
|
* above the minimum. A ceiling set by one bad texel has 99 % of the mesh
|
|
335
335
|
* surviving to the form's angle while the reported number collapses — 64.58°
|
|
336
336
|
* against 6.08° for one texel of 160,000, with the percentile unmoved at 64.80°
|
|
337
|
-
* in both ([#412](https://github.com/
|
|
337
|
+
* in both ([#412](https://github.com/rig-c/core/issues/412),
|
|
338
338
|
* `bench/studies/2026-09-05-noise` §6).
|
|
339
339
|
*
|
|
340
340
|
* Three spellings, three different claims, for the reason `ceilingPair` prints
|
|
@@ -28,7 +28,7 @@ import { dirname, join, resolve } from 'node:path';
|
|
|
28
28
|
function repositoryUrl(): string {
|
|
29
29
|
const repo = readPackageMeta()?.repository;
|
|
30
30
|
const url = typeof repo === 'string' ? repo : repo?.url;
|
|
31
|
-
return (url ?? 'https://github.com/
|
|
31
|
+
return (url ?? 'https://github.com/rig-c/core').replace(/^git\+/, '').replace(/\.git$/, '');
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
// ---------------------------------------------------------------------------
|
package/src/deformmeasure.ts
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* ⭐ **One survey, two consumers.** `A39_DEFORM_KEEPS_TRIANGLE_WINDING` reads the
|
|
5
5
|
* reversals out of it and refuses a build; `explain`'s `DEFORM` block prints the
|
|
6
6
|
* whole of it and refuses nothing. That split is issue
|
|
7
|
-
* [#296](https://github.com/
|
|
8
|
-
* [#314](https://github.com/
|
|
9
|
-
* [#316](https://github.com/
|
|
7
|
+
* [#296](https://github.com/rig-c/core/issues/296)'s two halves —
|
|
8
|
+
* [#314](https://github.com/rig-c/core/pull/314) landed the assertion and
|
|
9
|
+
* [#316](https://github.com/rig-c/core/issues/316) the report — and the reason
|
|
10
10
|
* they share this file rather than each posing the skeleton themselves is that
|
|
11
11
|
* the report's `winding 32 of 32 kept` and A39's `8 of 32 reverse` are **the same
|
|
12
12
|
* count**. Two derivations of one number drift, and the one that drifts silently
|
package/src/depth.ts
CHANGED
|
@@ -454,14 +454,14 @@ export function foldPrecedes(
|
|
|
454
454
|
* minimum alone cannot answer the question an author actually has: `degrees` is
|
|
455
455
|
* the same number whether a whole band of the mesh reaches the limit together
|
|
456
456
|
* or one triangle does, and those are a form and a bad texel respectively
|
|
457
|
-
* ([#412](https://github.com/
|
|
457
|
+
* ([#412](https://github.com/rig-c/core/issues/412),
|
|
458
458
|
* `bench/studies/2026-09-05-noise` §6).
|
|
459
459
|
*
|
|
460
460
|
* ⚠️ And a band is not sufficient evidence of a form either, which is what
|
|
461
461
|
* `stepShare` is here for: an OUTLINE is a band, so a mesh whose ceiling is set
|
|
462
462
|
* by the occlusion edge of a cut-out reads `p1/degrees` near 1 and a `depthStep`
|
|
463
463
|
* of most of the sheet's range — both of the older figures reading *healthy* on
|
|
464
|
-
* the same measurement ([#448](https://github.com/
|
|
464
|
+
* the same measurement ([#448](https://github.com/rig-c/core/issues/448)).
|
|
465
465
|
*
|
|
466
466
|
* ⛔ Neither figure changes `degrees`, and neither is a threshold. rigc does not
|
|
467
467
|
* have the authority to guess its input away, so nothing here filters,
|
|
@@ -499,7 +499,7 @@ export interface FoldLimit {
|
|
|
499
499
|
* triangle that folds first.
|
|
500
500
|
*
|
|
501
501
|
* ⭐ The figure that tells a form from a cliff, and it is the one reading the
|
|
502
|
-
* other two cannot give ([#448](https://github.com/
|
|
502
|
+
* other two cannot give ([#448](https://github.com/rig-c/core/issues/448)).
|
|
503
503
|
* A form has a slope, so refining the lattice halves the step and halves this
|
|
504
504
|
* with it while the angle converges. A **discontinuity has no slope**: the
|
|
505
505
|
* step stays the whole range however fine the lattice gets, this figure pins
|
package/src/diff.ts
CHANGED
|
@@ -362,7 +362,7 @@ function atPlaces(n: number): number {
|
|
|
362
362
|
* it, so `note` states both rates and which side is the bigger one. A histogram
|
|
363
363
|
* intersection over the same quantity reads 421/1339 whether the candidate has
|
|
364
364
|
* a third of the reference's keys or three times them — that ambiguity is what
|
|
365
|
-
* [issue #20](https://github.com/
|
|
365
|
+
* [issue #20](https://github.com/rig-c/core/issues/20) turned on, and a
|
|
366
366
|
* figure that repeated it would be the second copy of the same defect.
|
|
367
367
|
*/
|
|
368
368
|
function rateAgreement(id: string, what: string, unit: string, a: number, b: number, convention: string): DiffMeasure {
|
package/src/generation.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* **silently**: 4.3 takes constraints from the top-level `constraints` array
|
|
8
8
|
* alone, so a 4.0–4.2 file parses clean with none of them — measured across
|
|
9
9
|
* 1,302 shipped skeletons that loaded 0 of 8,672 constraints
|
|
10
|
-
* ([#706](https://github.com/
|
|
10
|
+
* ([#706](https://github.com/rig-c/core/issues/706) row 1). rigc is where
|
|
11
11
|
* that knowledge lives for the tools around it (#706 *Ownership*), and living
|
|
12
12
|
* in one place means one reader of `skeleton.spine`:
|
|
13
13
|
* `A16_SKELETON_VERSION_4_3` asks this function for its verdict, and `ingest`
|
package/src/preview.ts
CHANGED
|
@@ -263,7 +263,7 @@ export function buildPreview(input: PreviewInput): string {
|
|
|
263
263
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
264
264
|
<title>rigc preview — ${label}</title>
|
|
265
265
|
<!--
|
|
266
|
-
Generated by rigc ${escapeHtml(input.version)} — https://github.com/
|
|
266
|
+
Generated by rigc ${escapeHtml(input.version)} — https://github.com/rig-c/core
|
|
267
267
|
|
|
268
268
|
The skeleton, the atlas and every atlas page are embedded in this file as data
|
|
269
269
|
URIs, so it plays on its own with no server and no sibling files.
|
|
@@ -357,7 +357,7 @@ export function buildPreviewPanes(inputs: PreviewInput[], version: string): stri
|
|
|
357
357
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
358
358
|
<title>rigc preview — ${inputs.length} candidates</title>
|
|
359
359
|
<!--
|
|
360
|
-
Generated by rigc ${escapeHtml(version)} — https://github.com/
|
|
360
|
+
Generated by rigc ${escapeHtml(version)} — https://github.com/rig-c/core
|
|
361
361
|
|
|
362
362
|
Every candidate's skeleton, atlas and atlas pages are embedded in this file as
|
|
363
363
|
data URIs, so it plays on its own with no server and no sibling files.
|
package/src/trackgen.ts
CHANGED
|
@@ -87,7 +87,7 @@ export interface TrackDeriveTurn {
|
|
|
87
87
|
*
|
|
88
88
|
* ⚠️ That sign is the one thing here no assertion can check, and this comment
|
|
89
89
|
* had it backwards until issue #350's neighbour
|
|
90
|
-
* ([#351](https://github.com/
|
|
90
|
+
* ([#351](https://github.com/rig-c/core/issues/351)). The closed form is
|
|
91
91
|
* the arbiter: `d = (x−about)·(cos t − 1) − (depth − carried)·sin t` gives a
|
|
92
92
|
* part with `depth > carried` a **negative** residual, and FACE §3 makes
|
|
93
93
|
* exactly that the nose diagnostic — *if the nose's residual is not negative,
|