Nishi FamilyCompare › Photograph-to-Garment Digital Twin

Nishi Compare · measured, not asserted

Photograph-to-Garment Digital Twin

Nishi vs the field — every Nishi cell is measured against real organ source at emit time; each gap names the watch contract that will close it.

Nishi colorimetric photo twin on licensed Supima cotton apparel and prints (measured colour, measured wash fastness, the license chain as data) vs Kornit-class industrial DTG and the POD platforms and the DTG print shops and dye-sub or DTF transfer -- Aug-2026 field

Layer 1 · Executive

Where we are. MEASURED 2026-08-24 against the catalogue: the image substrate is LIVE or REGISTERED-DARK (nx_img_to_rgb, nx_imgfacts, nx_dedither, nx_color_v2 palette, nx_recolor, nx_editjudge_lib, nx_grade, nx_nxa_texbake LIVE, nx_garment_lib), the rights substrate is built (nx_licgate_lib lg_verdict, nx_realperson rp_decision, nx_takedown td_action) and the business engines are live (lc_calc, gtm_channel_best, pd_parse). The estate has NO CIELAB or CIEDE2000, NO ICC profile parser, NO wash ledger, NO license chain, NO royalty ledger and NO market-entry verdict organ. The reference photograph (FotoRoom, Roden [fotoroom]) decodes as a 1707x2560 JPEG of dune grass on sand under a blue sky.

Where we need to go. OPERATOR ASK (2026-08-24): a /compare on a physical business -- true digital twinning of a photograph, licensed onto a print or a Supima cotton tee that does not bleed -- and, generalised, an emit that says per rung what best-in-class looks like as of August 2026, what capabilities we have that must grow, and whether, how and when to enter, with the ecosystem able to establish that itself. Deliverable: the colorimetric twin lane (colour core, gamut report, soft proof, wash ledger), the license chain, the garment twin, and the ladder verdict organ, so ENTER or HOLD is computed.

The unit. 1 u = one measured session-leg (organ plus gate plus live flip), the standing calibration.
Cost to a colorimetric proof of the first image: 3.5 u. PT1 the colour core (CIELAB, CIEDE2000, ICC gamut) [deltae] [icc] plus PT2 the gamut report and soft proof on the FotoRoom subject [fespa].
Cost to a wash-proven SKU: 2.5 u more plus one contract swatch run. PT3 the wash ledger measured to ISO 105-C06 on real Supima swatches [iso105c06] through PT7 the bench gate on a contract DTG line [kornitguide]. 6 u cumulative.
Cost to a license-clean catalogue: 2 u more. PT4 the license chain and royalty ledger composing lg_verdict [copyright] [gelato]. 8 u cumulative = version 1.0.
Cost to a computed enter-or-hold verdict and a lit garment twin: 3 u more. PT5 garment placement [ofblank] and PT6 the market-ladder organ over the ladder rows below. 11 u cumulative = version 2.0.

Research bar. CIEDE2000, the field's colour-difference ruler is measured on Printing United Alliance, February 2025. Theirs: colour difference quantified in CIELAB, the formula evolved to CIEDE2000, acceptable thresholds vary by application [@deltae]. Ours: PT2 prints per-pixel DE2000 against the substrate gamut and REFUSES a proof whose declared tolerance is exceeded on the subject image -- the tolerance is a conf row the artist and the operator agree, never a number picked in code.

Business case

AxisPositionFiguresDecision
InvestmentHobbyist rung is zero capex (a licensed image on a POD account [gelato] or a print shop's Supima blank [ofblank]); the small-business rung is 6 u of organ work plus one contract swatch run; a press stays BOUGHT-AS-A-SERVICE until a computed volume case11 u to version 2.0; no hardware in any rungfund PT1 to PT3 now -- the colour core is reused by every image product on the estate
MarketDTG in 2026 is about speed, automation and sustainability at the industrial end [kornitbest]; artist royalties at the platform end are 5 to 15 percent of wholesale [gelato]; Supima DTG blanks are off-the-shelf [ofblank]the differentiated unit is a MEASURED twin (colour plus wash plus chain), priced above commodity POD and below fine-art editionsno price point is picked before PT2 and PT3 print their numbers on the first subject
Opportunity costPT1 (colour science) and PT4 (license chain) generalise to every image product and every licensed-content domain on the estate; PT6 generalises to every /compare domainthe ladder organ is the reusable asset; the tee is its first subjectcharge PT1, PT4 and PT6 to the platform, only PT3, PT5 and PT7 to this product
Competitive positionthe field owns the press [kornit], the blank [ofblank] and the marketplace [gelato]; nobody owns measured colour plus measured wash plus the license chain as data [fespa] [iso105c06]our position is the instrument, not the factorycompete on the proof, buy the printing
Go to marketartist-partner DTC under the photographer's name vs a white-label twin-proof service to print shops vs licensing the proof itself to platformsthe GTM facade ranks the three once PT2 hands it product rowsthe channel decision is downstream of the gamut and wash numbers, not upstream
Buy vs buildPrinting: BUY (contract DTG, then industrial [kornitguide]). Blanks: BUY [ofblank]. Colour science, wash ledger, license chain, garment twin, entry verdict: BUILD -- they do not exist to buythe only build is the instrument; production stays bought until M3 proves a vertical caseinstrument first, verticalise only on computed evidence

Market-entry ladder

LevelBest in class (Aug 2026)What we haveWhat must growVerdict
HobbyistA POD account (Gelato class) with the artist's file uploaded and a 5 to 15 percent royalty [gelato], or a DTG-ready Supima blank printed by a shop per unit [ofblank]; no colour management, no wash data, a terms checkbox for rightsdecode, resolution facts, palette, photoreal grade, license gate, takedown posture, PBR render substrate (the measured rows)nothing structural -- a written license from the photographer [copyright] and one listingENTER NOW at zero capex as the learning lane; it produces the first swatches PT7 measures
computed: NO-REQUIREMENT
Small businessA shop-class DTG line run as pretreat, print, cure [kornitguide] with an ICC-profiled press and a spectrophotometer [fespa], a declared DE2000 tolerance [deltae], blanks bought wholesale [ofblank] and wash claims tested to ISO 105-C06 [iso105c06]none of the colour core, no wash ledger, no chain -- every one of those is an _ABSENT_ contract todayPT1, PT2, PT3 and PT7 on a CONTRACT line before owning any pressGROW-FIRST -- enter when M1 (a wash-proven SKU) is green; a press stays bought as a service until the volume case is computed
computed: GROW-FIRST (6/7 landed, binding rows:knowledge/phototwin_wash.tsv)
Market leaderKornit-class industrial DTG with automation, zero-pretreatment and connected production flow [kornitbest] [kornit], a brand licensing program and verified sourcing under the Supima mark [supimaguide], platform-scale takedown operationsthe trade engines (lc_calc, gtm), the chain and royalty ledger (PT4), the flat-front twin (PT5) and the verdict organ (PT6) are all landed; the mesh drape (PT8) and a wash-proven SKU are not; the operations are not ours at allPT8, a wash-proven SKU in the ledger, plus operations the estate does not own (a press floor, fulfilment)GROW-FIRST -- a market leader is a wash-proven SKU on a body-mesh twin, not a landed organ list; the call is printed by PT6 from the ladder state, never asserted on this page
computed: GROW-FIRST (4/6 landed, binding PT8)
Innovation leaderNobody in the field sells a colorimetric twin with per-SKU wash data; the trade press describes ICC practice as unusual on the textile side [fespa] and vendors state fastness in prose [iso105c06]the substrate to build it on (decoder, palette, grader, compliance judge, render) is measured presentPT2 soft proof and PT3 wash ledger PUBLISHED on every product -- that pair is the exceedGROW-FIRST -- this is THE WEDGE, reachable at M1 without market-leader scale (proof first, press never); it is ENTER the moment the swatch ledger holds measured rows
computed: GROW-FIRST (3/4 landed, binding rows:knowledge/phototwin_wash.tsv)
Research leaderSpectral rather than tri-stimulus reproduction, fiber-level colour retention on extra-long-staple cotton [fiberguide], pigment fixation science on cotton at the press vendors [kornitguide]the swatch corpus PT7 produces and the colour core PT1a spectral intake on measured reflectance (pt_gamut_report over spectra) and a swatch corpus with DE2000 per wash cycle across blanks and linesGROW-FIRST -- after M3; the swatch corpus is the research asset and it accrues from the first bench run, so the research rung is a by-product of the small-business rung, not a separate investment
computed: GROW-FIRST (1/2 landed, binding rows:knowledge/phototwin_wash.tsv)

27 of 28 capabilities measured|8 of them measured exceeds|1 open|coverage 964/1000|adoption 12 full / 15 partial

Layer 2 · Roadmap

Do this next — computed by the ranker, never chosen by a seat

Order from nx_compare_rank (nx_dr_ocm: (deficit + cost-of-delay + option + enables) x sponsor x self-sufficiency x momentum / cost). FINISH rows are rungs whose symbol is present but whose organ is short of full adoption: the cheapest closures on this board, listed before any new work. Stamp: # asof=1787883579 domain=phototwin target_version=- rungs=8 done=7 open=1 finish=5 ranker=nx_dr_ocm

#StageRungPriorityDerivation
FFINISHGamut report and soft proof (PT2) pt_soft_proofREGISTERED-UNAUTHORISEDregistered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
FFINISHWash-fastness ledger (PT3) pt_wash_ledgerREGISTERED-UNAUTHORISEDregistered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
FFINISHLicense chain and royalty ledger (PT4) al_license_chainREGISTERED-UNAUTHORISEDregistered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
FFINISHGarment twin placement (flat-front knit) (PT5) gt_print_placeREGISTERED-UNAUTHORISEDregistered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
FFINISHBench gate on printed swatches (PT7) pt_bench_gateREGISTERED-UNAUTHORISEDregistered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
#1laterGarment twin on the tee MESH (PT8) gt_drape_mesh80v=1 m=2 c=25

Critical path — contract, done-rule, executor, cost

RungCloses withDefinition of done (pre-declared)ExecutorEst.
Colour science core (PT1)cs_de2000sRGB to CIELAB and CIEDE2000 in integer arithmetic with a KAT against published pairs [@deltae]; ICC profile parsed to a substrate gamut [@icc]; neg-control: a pair known to differ by more than 4 DE00 must never read under 1Organ2 u
Gamut report and soft proof (PT2)
after PT1
pt_soft_proofper-photograph gamut coverage permil and a DE2000 heat-map against the Supima-plus-pigment profile [@fespa]; the FotoRoom dune image is the declared subject [@fotoroom]; refuses when the profile is absent; the output is the artist's approval artifactOrgan1.5 u
Wash-fastness ledger (PT3)
after PT1
pt_wash_ledgerswatch rows measured before and after declared ISO 105-C06 laundering cycles [@iso105c06], DE2000 per cycle as DATA on the SKU; a SKU with no ledger row prints UNMEASURED, never a claimOrgan1.5 u
License chain and royalty ledger (PT4)al_license_chainphotographer, rights granted (reproduce, derive, distribute [@copyright]), term, territory and royalty permil of wholesale [@gelato] as rows; a SKU without a chain REFUSES to publish; royalties in integer cents composing lg_verdict; a Supima-mark chain when the blank is sold under the mark [@supimaguide]Organ2 u
Garment twin placement (flat-front knit) (PT5)
after PT2
gt_print_placethe print ink-multiplied over the blank's albedo [@ofblank] under a procedural jersey-knit relief lit from the upper left, every parameter in knowledge/garment_twin.conf, the albedo rows replaced by the PT7 bench swatch when measured; honest about its surface: FLAT-FRONT, mesh drape is PT8Organ1 u
Garment twin on the tee MESH (PT8)
after PT5
gt_drape_meshthe print placed on the tee mesh UV through ntb_bake_pbr and rendered on a body, with the Supima fiber rows [@fiberguide] as the material data; stays OPEN until the mesh path ships -- PT5 is not thisOrgan2.5 u
Market-entry verdict (PT6)
after PT3,PT4
ml_entry_verdictreads this plan's ladder rows plus the catalogue ladder state of every symbol on the matrix and prints ENTER, HOLD or GROW-FIRST per level with the binding rung named; neg-control: a domain whose rungs are all ABSENT must never print ENTER above hobbyist; generic to every /compare domainOrgan1.5 u
Bench gate on printed swatches (PT7)
after PT3
pt_bench_gatea declared swatch set printed on a contract DTG line [@kornitguide] [@kornitbest] and on one industrial line [@kornit], measured by spectrophotometer before and after cycles, REFUSING on partial coverage -- the physical proof the ladder's small-business rung needsGate1 u

Milestones

MilestoneRungsCumulative
M0 · Colorimetric proofPT1,PT23.5 u
M1 · Wash-proven SKUPT3,PT76 u
M2 · License-clean cataloguePT48 u
M3 · Computed entry verdict with a lit twinPT5,PT611 u
Layer 3 · Engineering
How this is scored. Every Nishi mark is measured: the generator reads the real organ source on disk and requires the implementing symbol to exist (no self-grading). A watching tag names the organ and symbol contracted to close a gap — the mark flips itself on the next compare beat when that workstream ships, and the comparewatch- plane row flips with it. The flip is necessary, not sufficient: it proves the symbol exists, never that the capability is good. The bar is the rung's pre-declared done-rule, proven by its gate — a symbol shipped without the behaviour behind it is a defect, and the flip is exactly what makes that defect visible instead of quiet. Competitor marks record documented capability presence — presence, not depth or scale. Adoption is measured too: every measured row carries where its organ stands on the estate's ladder (source → built → promoted → registered → invoked; libraries by importer reach minus validation importers; gates by the execution surfaces that run them). A row is fully adopted only at the top of its ladder; anything short is tagged partial with the exact remedy, so a build nobody promoted can no longer read as shipped. Census stamps: importers asof 1787849099, gate census asof 1787855507 (unix seconds; -1 = census absent).

Capability matrix — measured against source

leads / measured exceed present partial absent · click any capability for its evidence

CapabilityNishiKornit-class industrial DTGPOD platform (Gelato class)DTG print shop (DTLA class)Dye-sub or DTF transfer
INTAKE
Decode the source photograph to RGB (baseline JPEG, PNG)Measured: nx_img_to_rgb exists in runtime/nx_img_to_rgb.nx, verified at emit. Every rival ingests a file. Ours is a sovereign decoder with a graceful-degradation contract: baseline JPEG and partial PNG; a progressive JPEG must be REFUSED by name, never decoded to garbage (debt row on the plan) Adoption: LIB-WIRED importers=20 nonval=11 — fully adopted (top of its ladder).
Print-resolution facts per asset (dimensions and bytes)Measured: if_fsize exists in runtime/nx_imgfacts.nx, verified at emit. The operator's own question that organ was built for: are the images too small. A print needs the pixel count against the print size before any colour work; the field checks this at upload Adoption: LIVE — fully adopted (top of its ladder).
Palette-crush detection (photograph or crushed palette file)Measured: dd_classify exists in runtime/nx_dedither.nx, verified at emit. A submitted file that is a palette-crushed export is not a photograph; the classifier says so before a twin is attempted. No platform in the field screens for it Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-DARK
COLOUR
Dominant-palette extraction as the gamut-check inputMeasured: nx_color_kmeans_palette exists in runtime/nx_color_v2.nx, verified at emit. The RIP inside an industrial line handles gamut best [kornitguide]; the sovereign k-means palette is what the gamut report will score against the substrate profile Adoption: LIB-WIRED importers=10 nonval=8 — fully adopted (top of its ladder).
Deterministic masked recolour (a real colour-edit channel)Measured: r_paint exists in runtime/_hdl_build/nx_recolor.nx, verified at emit. An artist-approved gamut remap needs a deterministic edit channel, not a re-roll; press operators do this by hand in the field Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-DARK
Edit-compliance judge (did the requested colour change actually happen)Measured: ej_compliance exists in runtime/_hdl_build/nx_editjudge_lib.nx, verified at emit. The measured lesson that organ carries: retention converged while the requested change never happened. The twin loop needs the same judge on every remap Adoption: LIB-WIRED importers=4 nonval=3 — fully adopted (top of its ladder).
JUDGE
Photoreal grader on any JPEG (is the twin still a photograph)Measured: g_run exists in runtime/_hdl_build/nx_grade.nx, verified at emit. After gamut mapping the result must still grade as a photograph on the estate's own red-team grader; no rival grades its proof Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-DARK
TWIN
PBR atlas bake and lit textured render (the garment preview substrate)Measured exceed: ntb_bake_pbr in runtime/nx_nxa_texbake_lib.nx, verified at emit. Field mockups are flat composites of the design over a product photo; ours bakes albedo, specular, gloss and normal maps and renders a lit turntable -- the substrate for a garment that is actually lit like cotton Adoption: LIB-WIRED importers=5 nonval=2 — fully adopted (top of its ladder).
Spatially-coherent garment mask (segment the garment, not the skin)Measured: gm_segment_grow exists in runtime/_hdl_build/nx_garment_lib.nx, verified at emit. Placing a print needs the garment region, and that lib was built because a hue mask caught the model's face; the field places prints on a fixed template Adoption: LIB-WIRED importers=1 nonval=1 — fully adopted (top of its ladder).
RIGHTS
Shippability verdict, may I SELL what this chain producedMeasured: lg_verdict exists in runtime/nx_licgate_lib.nx, verified at emit. The estate's license gate as a lib on the emit path; POD platforms run an IP check at upload [gelato]. A garment SKU composes the same verdict before it is listed Adoption: LIB-WIRED importers=2 nonval=2 — fully adopted (top of its ladder).
Real-person depiction decision (portrait and likeness)Measured: rp_decision exists in runtime/nx_realperson.nx, verified at emit. A photographer's portfolio includes people; likeness, minors and consent are a decision matrix here, a policy page at the platforms Adoption: LIB-GATE-ONLY importers=1 — PARTIAL: imported only by validation organs (gates, tests, benches): wire it into a shipping program.
adoption LIB-GATE-ONLY importers=1
Notice-and-takedown posture (counter-notice and restoration)Measured: td_action exists in runtime/nx_takedown.nx, verified at emit. The safe-harbour posture as code: an infringement notice against a listed SKU resolves to remove, review or reject-incomplete with the deadline named; platforms own this best today [gelato] Adoption: LIB-WIRED importers=2 nonval=1 — fully adopted (top of its ladder).
BUSINESS
Landed-cost and tariff corridor pricing for blanks and inkMeasured: lc_calc exists in runtime/_hdl_build/nx_landed_cost.nx, verified at emit. Blanks [ofblank], pretreatment and ink priced through the live trade engine before they enter the unit economics Adoption: LIVE — fully adopted (top of its ladder).
Go-to-market channel engineMeasured: gtm_channel_best exists in runtime/nx_gtm_svc.nx, verified at emit. The GTM facade ranks channels per product in an adjacent domain; artist-partner DTC, white-label twin service and print-proof licensing are its rows here Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-DARK
DESIGN
Outcome-to-capability decompositionMeasured: pd_parse exists in runtime/_hdl_build/nx_product_decompose.nx, verified at emit. The decomposer maps the twin outcome onto required capabilities and gaps over the design-to-market planes -- it is how this matrix's gap rows were derived Adoption: REGISTERED-DARK — PARTIAL: callable, authorised, no MCP invocation on record (a direct fork logs the runner, so this is not proof it never ran); no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-DARK
EVIDENCE
Sovereign mirrored and pinned reference register for this fieldMeasured: knowledge/fetched/cmp_phototwin exists in knowledge/compare/phototwin.refs, verified at emit. Every rival claim on this page resolves to a mirror in the estate evidence store, content-pinned by hash and re-measured on every emit Adoption: ABSENT — PARTIAL: no source and no binary: this is a build contract, not a partial deploy.
adoption ABSENT
COLOUR
sRGB to CIELAB and CIEDE2000 in integer arithmeticMeasured exceed: cs_de2000 in runtime/nx_colorsci_lib.nx, verified at emit. The field's colour-difference metric evolved to CIEDE2000 and thresholds vary by application [deltae]; RIPs compute it inside the press. Contract = the sovereign colour core with a KAT against published pairs, the ruler every proof is judged by Adoption: LIB-WIRED importers=4 nonval=2 — fully adopted (top of its ladder).
ICC profile parse and substrate gamut (the Supima-plus-pigment gamut as data)Measured: cs_icc_gamut exists in runtime/nx_colorsci_lib.nx, verified at emit. The ICC profile is the file that describes what gamut a device can reproduce [icc] [fespa]. Contract = parse the press-plus-blank profile into the gamut the twin maps into Adoption: LIB-WIRED importers=4 nonval=2 — fully adopted (top of its ladder).
TWIN
Gamut-coverage report per photographMeasured exceed: pt_gamut_report in runtime/nx_phototwin.nx, verified at emit. Per image: what permil of the palette lies outside the substrate gamut, named by region (the dune image's sky blue and yellow-green). Nobody hands the artist this number today Adoption: REGISTERED-UNAUTHORISED — PARTIAL: registered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-UNAUTHORISED
Perceptual gamut mapping to the substrate (a twin, not a clip)Measured exceed: pt_gamut_map in runtime/nx_phototwin.nx, verified at emit. The press clips or the RIP maps generically [kornitguide]. Contract = a mapping that preserves the photograph's relationships, proven by the grader and the compliance judge, approved by the artist Adoption: REGISTERED-UNAUTHORISED — PARTIAL: registered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-UNAUTHORISED
Soft proof with a DE2000 heat-map and a declared toleranceMeasured exceed: pt_soft_proof in runtime/nx_phototwin.nx, verified at emit. Soft proofing simulates the press on a calibrated monitor [fespa]; ours adds the per-pixel DE2000 map against the declared tolerance [deltae] and REFUSES a proof that exceeds it Adoption: REGISTERED-UNAUTHORISED — PARTIAL: registered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-UNAUTHORISED
FASTNESS
Wash-fastness ledger measured to ISO 105-C06, printed on the SKUMeasured exceed: pt_wash_ledger in runtime/nx_phototwin.nx, verified at emit. Vendors state fastness in prose; the standard measures it [iso105c06]. Contract = swatch rows before and after declared laundering cycles with DE2000 per cycle as DATA; a SKU without rows prints UNMEASURED Adoption: REGISTERED-UNAUTHORISED — PARTIAL: registered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-UNAUTHORISED
GARMENT
Print placed on a lit, procedurally knitted cotton front (ink multiplies the fabric, relief shades it)Measured: gt_print_place exists in runtime/nx_garment_twin.nx, verified at emit. Every rival previews on a flat template with no fabric physics. Contract = ink-multiply over the blank's albedo [ofblank] under a jersey-knit relief, every parameter in knowledge/garment_twin.conf, the albedo rows replaced by the bench swatch (PT7) when measured Adoption: REGISTERED-UNAUTHORISED — PARTIAL: registered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-UNAUTHORISED
Print draped on the tee MESH through the PBR bake (body-on-mesh render)Open — watching runtime/nx_garment_twin.nx : gt_drape_mesh, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. No rival previews on a body mesh at all. Contract = the print placed on the tee mesh UV through ntb_bake_pbr with the Supima fiber rows [fiberguide] as the material data; stays OPEN until the mesh path ships -- the flat-front rung above is not this
watching gt_drape_mesh
RIGHTS
License chain as data, photographer to SKU, refusing a SKU without its chainMeasured exceed: al_license_chain in runtime/nx_artlicense.nx, verified at emit. The rights are the photographer's by default [copyright]; platforms hold a terms checkbox [gelato]. Contract = owner, rights granted, term, territory and royalty as rows; a SKU without a chain cannot publish; selling under the Supima mark adds its own chain [supimaguide] Adoption: REGISTERED-UNAUTHORISED — PARTIAL: registered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-UNAUTHORISED
Royalty ledger in integer cents per sale on the immutable planeMeasured: al_royalty_ledger exists in runtime/nx_artlicense.nx, verified at emit. Platforms pay 5 to 15 percent of wholesale [gelato] and own the ledger. Contract = per-sale royalty rows in integer cents the artist can audit Adoption: REGISTERED-UNAUTHORISED — PARTIAL: registered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-UNAUTHORISED
MARKET
Autonomous market-entry verdict from the ladder rows and the catalogueMeasured exceed: ml_entry_verdict in runtime/nx_market_ladder_lib.nx, verified at emit. The operator ask: the ecosystem establishes best-in-class per rung and says ENTER, HOLD or GROW-FIRST itself. Contract = read this plan's ladder rows plus the catalogue ladder state and print the verdict with the binding rung named; generic to every domain Adoption: LIB-WIRED importers=3 nonval=2 — fully adopted (top of its ladder).
FIELD
Bench gate on real printed swatches (spectrophotometer plus laundering cycles)Measured: pt_bench_gate exists in runtime/nx_phototwin.nx, verified at emit. Incumbents are proven presses [kornit]; ours is unproven until swatches printed on a contract line [kornitbest] are measured before and after cycles, REFUSING on partial coverage Adoption: REGISTERED-UNAUTHORISED — PARTIAL: registered, no cap ever minted; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption REGISTERED-UNAUTHORISED

Debt register

IdSevWhat it isUnblock
phototwin-progressive-jpeg3nx_img_to_rgb decodes baseline JPEG and partial PNG only; scaled portfolio exports are often progressive JPEG, which today would fail silently rather than by name.PT1 adds a progressive-JPEG refusal with the reason named; PT2 refuses a subject it cannot decode.
phototwin-no-lab-space4The estate has RGB, HSV and YCbCr (nx_color_v2) and no CIELAB, so no colour difference can be stated in the unit the whole field uses [@deltae].PT1 is the fix; until it lands every colour claim on this page is unmeasured and says so.

Risk register

RiskLikelihood x impactMitigation
Gamut mapping alters the artist's intent and ships anywayprobable x highPT2's soft proof is the approval artifact; no SKU publishes without the artist's approval row on the chain
A wash-fastness claim is published before it is measuredpossible x highPT3 prints UNMEASURED on any SKU without ledger rows; PT7 refuses on partial coverage; the standard is named on the page [@iso105c06]
The license lapses or the territory is wrong and the SKU keeps sellingpossible x highthe chain carries term and territory rows; an expired or out-of-territory chain REFUSES at lg_verdict, and the takedown posture is already code
A watch contract flips on symbol existence, so a stub reads greenpossible x highthe flip is the receipt, the rung gate is the proof -- PT7 is a physical gate on purpose
The subject photograph is reproduced in the estate before it is licensedpossible x highthe image is analysed locally and NOT mirrored into the evidence store; the register carries the studio page only [@fotoroom]
On these two registers. Rows are declared in the domain's plan file and carry the debt id, which is the join key back to the sovereign debt plane — that plane, not this page, is the authority on state. Reconciling them automatically (the regen reading the plane and refreshing these rows) is a named, owed rung; until it lands, treat an id here as a pointer to look up, not a status to trust.
Honest verdict. The Aug-2026 field, from the mirrored record: pigment direct-to-garment on cotton is a mature industrial process -- the vendor's own 2026 guide describes it as pretreatment, print, cure [@kornitguide], and its 2026 buyer's guide says the year's themes are speed, automation and sustainability with zero-pretreatment as the headline technology [@kornitbest]; dye sublimation is positioned for polyester and light fabrics, which is why it is not the cotton answer [@kornitguide]; a 100 percent American-grown Supima 6 oz blank is sold DTG-ready off the shelf by a Los Angeles print shop [@ofblank]; and the POD platforms price an artist's royalty at 5 to 15 percent of wholesale [@gelato]. What nobody in that field sells is the TWIN: colour managed through ICC profiles and a spectrophotometer -- practice the trade press itself describes as unusual on the textile side [@fespa] [@icc] -- judged in CIEDE2000 against a declared tolerance [@deltae], with wash fastness MEASURED to ISO 105-C06 on the actual blank [@iso105c06] rather than promised, and the license chain (the photographer's exclusive rights to reproduce, derive and distribute [@copyright]) carried as data on every SKU. The subject artist is FotoRoom, a professional studio in Roden [@fotoroom]; the declared first subject -- dune grass on sand under a blue sky -- is sky blue plus saturated yellow-green plus sand highlights on white, the classic out-of-gamut regions for pigment on cotton, so the twin question is real on the very first image. The ecosystem answer: the estate already decodes, palettes, grades, masks, renders and license-gates images today (measured rows below); the colour science, the wash ledger, the license chain and the entry verdict are the named contracts, and the market-entry ladder on this page is what says ENTER, HOLD or GROW-FIRST.

Person · product · place — not yet measured for this domain

Every compare carries this layer. Declare knowledge/compare/phototwin.ppp (rows surface|nishi or c1..c4|label|url|connect naming OUR live surface and each rival's front door), run nx_ppp_probe domain phototwin, and this section fills itself on the next beat: the same ruler on both sides — privacy and CX (third-party hosts, tracker classes, cookies, security headers), design and longevity (design hygiene, computed WCAG contrast, render-blocking resources, unsized media, script weight, theme and motion queries), findability (landmarks, skip link, on-site search, breadcrumb, headings, internal links).

References

Beyond a link list. Every reference below resolves twice — the publisher's copy and, where banked, the estate's own non-rottable library mirror with a content pin — and carries its evidence class plus the exact claim on this page it grounds. Keyed marks like [key] in the matrix notes jump here. A dash means honestly absent, never assumed.
  1. [kornit] Kornit Digital corporate site (2026) -- the industrial pigment direct-to-garment vendor whose systems define the Kornit-class column: sustainable textile printing solutions positioned at production scale. publisher · read in our library knowledge/fetched/cmp_phototwin_kornit.html · pin h2b0abe27816f82739dda266ae913684512f828db7570d238f75a5c477925d14c · accessed 2026-08-24 · vendor-docGrounds: The Kornit-class industrial DTG column and the FIELD bench-gate row.
  2. [kornitguide] Kornit magazine. What is DTG printing -- a full guide (2026). Vendor guide -- the pigment DTG process as pretreatment, print, cure; DTG versus direct-to-film transfer; dye sublimation positioned for synthetic fabrics like polyester and light colours, not cotton. publisher · read in our library knowledge/fetched/cmp_phototwin_kornitguide.html · pin hac4001febb6a690fcb529521dfcc61ff6c92884dadef94e8259e4588900f5a34 · accessed 2026-08-24 · vendor-docGrounds: The process rows and the dye-sub or DTF transfer column: which method reaches a cotton tee at all.
  3. [kornitbest] Kornit magazine. Choosing the best DTG printer for t-shirts in 2026 (updated February 2026). Vendor buyer's guide -- the 2026 themes are speed, automation and sustainability, zero-pretreatment DTG as the headline technology, a white underbase for dark garments. publisher · read in our library knowledge/fetched/cmp_phototwin_kornitbest.html · pin h606b6fed8c522de169f7114a14a742ea44d252b20964b2cbf9a63237471cc9d9 · accessed 2026-08-24 · vendor-docGrounds: The market-leader ladder rung: what an Aug-2026 industrial line looks like.
  4. [iso105c06] ISO 105-C06:2010 Textiles -- Tests for colour fastness -- Part C06: Colour fastness to domestic and commercial laundering. The published standard a wash-fastness claim is measured against. publisher · read in our library knowledge/fetched/cmp_phototwin_iso105c06.html · pin h600fbc3aec446bebddc287a798bcd1ce02081701bfb6be05c8d499595c201c0e · accessed 2026-08-24 · published-standardGrounds: The FASTNESS wash-ledger row and rung PT3: the no-bleed no-fade claim as a measured number, never a promise.
  5. [icc] International Color Consortium (2026). The standards body for open vendor-neutral colour management: the ICC profile format and the workflows that use ICC profiles. publisher · read in our library knowledge/fetched/cmp_phototwin_icc.html · pin h6916b3d7b7c049391e04981b92dcf6649a6066f5ee84892bbd7d88129e8a4864 · accessed 2026-08-24 · published-standardGrounds: The COLOUR ICC-gamut row: the substrate profile the twin maps into is an ICC profile.
  6. [fespa] FESPA. Colour management in digital textile printing. Trade feature -- every device is calibrated and characterised with ICC technology, the profile describes the gamut a device can reproduce, measurements come from a spectrophotometer, and soft proofing simulates the press on a monitor; presented as practice the textile side has not fully adopted. publisher · read in our library knowledge/fetched/cmp_phototwin_fespa.html · pin h8027b7bad65a80b6a1bfec25c506f1ad8cb492d8c4af6363c0a655f8bff9fb85 · accessed 2026-08-24 · mirrored-indexGrounds: The TWIN gamut-report and soft-proof rows and the innovation-leader ladder rung.
  7. [deltae] Printing United Alliance (printing.org), February 2025. Dissecting Delta E and the mathematical difference between colors -- Delta E quantifies colour difference in CIELAB, the formulas evolved to CIEDE2000, and acceptable thresholds vary by application. publisher · read in our library knowledge/fetched/cmp_phototwin_deltae.html · pin hb0ed153eeb9b2138da1955dbcd17f4b9a2a8aafa1e5e34d51aca2990801ca673 · accessed 2026-08-24 · mirrored-indexGrounds: The COLOUR DE2000 row, rung PT1 and the research bar: the twin is judged in DE2000 against a declared tolerance.
  8. [gelato] Gelato. Art licensing -- the ultimate guide for 2026. POD-platform guide -- artists typically receive 5 to 15 percent of the wholesale price of products carrying their designs, alongside flat-fee deals. publisher · read in our library knowledge/fetched/cmp_phototwin_gelato.html · pin ha1eb237b78016c2f26bf9ae68ff9d850e1295045a52d58691ce016124d3f4570 · accessed 2026-08-24 · vendor-docGrounds: The POD-platform column, the royalty-ledger row and the hobbyist ladder rung.
  9. [ofblank] DTLA Print. Custom Original Favorites -- American-grown Supima 100 percent cotton 6 oz t-shirt, sold as a DTG-printable blank by a Los Angeles print shop (2026). publisher · read in our library knowledge/fetched/cmp_phototwin_ofblank.html · pin h942988ec2608c4c00de72f13e8576755c71d0fa50ee3a9a4d004a50fdb24b405 · accessed 2026-08-24 · vendor-docGrounds: The DTG print-shop column and the GARMENT placement row: the Supima blank exists off the shelf, DTG-ready.
  10. [fotoroom] FotoRoom Fotografie -- professional photography studio in Roden, the Netherlands: the subject artist whose portfolio image (dune grass on sand under a blue sky) is the declared first twin subject. The image itself is not reproduced here. publisher · read in our library knowledge/fetched/cmp_phototwin_fotoroom.html · pin h362d4116956c39cd3f02a3a41793a1683fd5e0e4ae790bc502d137d452e8bfd0 · accessed 2026-08-24 · source-readGrounds: The subject of rung PT2 and the license chain: whose rights, whose image, whose approval of the proof.
  11. [fiberguide] PuraFabric. Supima cotton fabric -- a practical guide to the American premium fiber. Trade guide -- fiber properties and their consequences in finished fabric: hand-feel, durability and colour retention (re-fetched for this domain; the page changed since the supimacotton mirror of 2026-08-19). publisher · read in our library knowledge/fetched/cmp_phototwin_fiberguide.html · pin h81ec53296474bfc8b21fba2f17c3e572b6b3c4cf1811b3c557fa3793011f9ba9 · accessed 2026-08-24 · mirrored-indexGrounds: The research-leader ladder rung: colour retention is a fiber property before it is a print property.
  12. [supimaguide] Essential Layers. What is Supima cotton -- the complete guide (2026). Consumer guide -- extra-long staple properties and the licensed trademark program with verified sourcing behind the name (re-fetched for this domain 2026-08-24, byte-identical to the supimacotton mirror). publisher · read in our library knowledge/fetched/cmp_phototwin_supimaguide.html · pin h9dea5d0ce3cd695478d857a9c577a2faca94b4e5277eb5643c3f57c6dd1b0f1b · accessed 2026-08-24 · mirrored-indexGrounds: The market-leader ladder rung: selling under the Supima mark needs its own license chain.

generated by nx_swcompare_matrix (sovereign NishiLang organ) from knowledge/compare/phototwin.matrix · every Nishi cell verified against organ source at emit time · watch cells re-measured on every compare beat · zero JS, zero trackers