RIGS V7: how every pixel is derived
Everything below is deterministic. Given the same token record, the renderer produces the same bytes every time, and proof/ checks this per token. No words are drawn on any card.
1. Token identity (from the contract, unchanged)
seed = keccak256("GOODSMASH_PREVIEW" ‖ RIGS address (20 bytes) ‖ uint256 tokenId)
pick(s,n) = keccak256(seed ‖ uint256 tokenId ‖ uint256 salt) mod n
Species = pick(1, 8) Mood = pick(2, 6) Implant = pick(3, 7) Accessory = pick(4, 8) Mutation = pick(5, 6)
roll = keccak256(seed ‖ uint256 tokenId ‖ "RARITY") mod 1333
Rarity = GENESIS if tokenId = 1, else MYTHIC <5, LEGENDARY <25, EPIC <90, RARE <450, UNCOMMON <1333
Re-checked on all 10,000 tokens: 0 seed mismatches and 0 trait mismatches.
Aura Field and CORE are unreachable. Aura Field is table index 6 but the pick is mod 6; CORE needs roll ≥ 1350 but the roll is mod 1333.
The renderer never computes traits. It reads them.
2. The medical data: numbers only, never words
medical.py holds only numeric test scores: WMS-IV Flexible (LMVR) and WAIS-IV working memory. It contains no name, date of birth, case or request number, examiner, diagnosis text or history. The scores are visualisation inputs, not a diagnosis or a medical claim.
GroupValuesIndex sum of scaled scores (IMI / DMI / AMI / VMI)13 / 6 / 5 / 14Index scores80 / 57 / 57 / 84Percentile ranks9 / 0.2 / 0.2 / 1495% confidence intervals74–90 / 53–66 / 53–68 / 80–89SEM4.5 / 3.35 / 3.67 / 2.6IMI − DMI80 − 57 = +23, critical value 11, significant, base rate 1.8%AMI − VMI57 − 84 = −27, critical value 8.82, significant, base rate 5.9%Logical Memory I / II (raw, scaled, percentile)10, 3, 1st / 5, 2, 0.4thVisual Reproduction I / II (raw, scaled, percentile)36, 10, 50th / 8, 4, 2ndRecognition (LM II / VR II raw)19 / 6Working Memory Index; digit span forward / backward83; 5 / 4
Salted commitment ("sealed")
canonical = 51 values, fixed order, uint16 big-endian (signed difference offset +32768) -> 102 bytes
C = keccak256(salt32 ‖ canonical)
= 0x521936988610c0efb7012b27a03de49540b835b0b2f2e3bf6a34179ac6b52d15
tokenMed = keccak256(C ‖ seed) // same bytes as Solidity keccak256(abi.encodePacked(C, seed))
The salt is private. It is a 32-byte random value, held only by the owner, and it is not in this repository.
Without the salt, C cannot be brute-forced back into the scores, even though a score vector is low-entropy.
tokenMed gives every token its own medical randomness stream. Two tokens with identical traits still tear, streak and glitch differently.
"Unhashing" (the reveal)
If the owner ever publishes (salt, canonical), anyone can recompute C and confirm the art came from these exact results. The renderer has a revealed state that shows what the reveal means: the damage heals.
The index seams stop wobbling and lock to their exact depths.
The discrepancy tears are stitched shut in
#CCFF00.
The far reflection gets all 36 facets back instead of 8.
proof/sealed-vs-revealed/ shows both states side by side.
3. Where each score becomes structure
Strata: the four index seams
Depth: y = 128 − index. IMI 80 → y48, VMI 84 → y44, DMI and AMI 57 → y71. Delayed and auditory memory land on the same seam and merge; immediate and visual ride high.
Wobble: ½ · CI width · 0.25 (sealed only).
Broken-pixel fraction: SEM / 10.
Brightness: 0.25 + 0.75 · √(percentile/100).
Hue: index sum × 10°.
Upper-wall subtest seams
y = 8 + raw/2, hue raw × 10°.
Thickness grows with the scaled score; brightness follows the percentile.
Discrepancy tears (the mania)
Shift: 2 × |difference| / critical → 4 px right (IMI−DMI), 6 px left (AMI−VMI).
Rows torn per frame: base-rate% × 128 / 100 × (1 + rarity/4).
Tear length: 12 + 14 × ratio px.
Tint: the IMI−DMI tear edge is
#CCFF00; the AMI−VMI edge is magenta.
Which rows tear: chosen from the tokenMed stream every frame.
The face is never torn. The body tears at half strength.
Digit span = the loop
5 forward + 4 backward = a 9-frame animation.
The five lanterns light 0→4, then 3→0.
Recognition
LM II recognition 19 = the 19
#CCFF00 knots holding the rope bridge together.
VR II recognition 6 = on the backward half of the loop, 6 of the 8 far facets relight.
Working memory
WMI 83 → the return light drags an 8-cell
#CCFF00 trail.
Retention (what survives across the chasm)
6/13 = 0.46: sleepers and cart
5/10 = 0.50: timber posts
8/36 = 0.22: far reflection
Counts
13 sleepers before the break and 6 after
10 timber sets and 5 after
5 lanterns
14 crystals
36-facet near reflection and 8-facet far copy
Escalation field
Stroke count = rarity base × VR-I / mean (= 2.975). Placement comes from tokenMed.
Stroke length grows with rarity.
4. Bitcoin and early-crypto history (real constants, no text)
Genesis block hash 000000000019d6689c…8ce26f: 64 cells in the rock. Its 10 leading zeros are dark nodules (the proof of work).
The commitment C: 128 bits drawn directly under the genesis seam as 64 cells, bright cells in
#CCFF00. The medical proof sits under Bitcoin's proof.
Halving vein: thickness 16 → 8 → 4 → 2 → 1 for the 4 halvings.
21 gold nuggets in the separated cart: the 21M cap.
Two pizza discs: 22 May 2010.
Silk Road homage:an onion geode (Tor) with one clipped corner;
three camels on the far ridge;
sealed string-tied parcels (contents never shown);
an escrow scale beside the bridge.
White hat and black hat on one peg.
A rug sliding into the chasm.
A GPU mining rig with blinking LEDs.
A split vault door: custody loss.
V1 / V2 lineage fossils: 5×5 bit patterns from each token's recorded v1Sha256 and v2Sha256.
The archive layer is hidden. It sits one tone step from the rock and reads only where the implant lamp or a lantern throws light. proof/xray/ shows it fully lit.
5. Traits on the body (why nothing floats now)
The anatomy is hand-measured. anatomy_v7.py records, for all 48 Species × Mood carriers: helmet top, helmet brim line, lamp, under-chin, chest centre and shoulder line. review/ANATOMY-48-PROOF.png draws every point on every carrier.
Every accessory attaches to those points:Horns: rooted in the brim.
Halo: sized to the helmet.
Antenna: set into the helmet top.
Necklace: hangs from the under-chin.
Chest Rig: runs shoulder to hip, with pouches and a buckle.
Core Chip: sits at chest centre, with
#CCFF00 traces.
Wings: grow from the shoulders.
Cape: hangs from the shoulders with a
#CCFF00 clasp.
Implant = the helmet lamp. Its exact colour plus a lens glyph and beam geometry light the whole mine.
Mood:The carrier sprite itself carries the mood.
The world grade and weather also follow it:Bullish: embers
Bearish: drips
Chill: motes
Focused: spotlight
Grumpy: heat and tremor
Mutation changes body and world together.
6.
#CCFF00
#CCFF00 is the colour of repair and return:
the return light and its trail
the 19 bridge knots
the commitment seam
the recognition facets
the far-side bounce rim on every RIG
the IMI−DMI tear edge
the Cape clasp and Core Chip traces
the stitches in the revealed state
7. Putting it onchain later (not started)
The renderer contract would store:
the 48 carriers (packed palette sprites, SSTORE2);
the anatomy table (48 × 13 bytes);
the 102-byte score vector;
C.
It would compute tokenMed = keccak256(C, seed) in Solidity and emit <rect> runs. Nothing in GoodsMashNFTV2.sol changes; setRenderer swaps only the image. Never call reveal() on the NFT contract: it would re-seed every token and re-roll all traits.
8. How rare is this profile? (only what the report itself supports)
The report's own numbers:A +23 IMI−DMI gap occurs in about 1.8% of the normative sample.
A −27 AMI−VMI gap occurs in about 5.9%.
Three of four subtests below the 10th percentile occurs in about 10% of individuals.
These can't be multiplied into one "1 in N" figure. The scores are correlated, so any single number would be invented.
9. Known defects
Mixed drawing styles: Neutral tokens use the naturalistic species sprites; the other five moods use the chibi mood sprites.
GENESIS / MYTHIC with Chaos Veins is dense.
Chest Rig on Orb-Head and Raccoon is readable but low-contrast.
Hidden-archive objects can sit behind large Wings or Capes.