Nishi FamilyCompare › Manga Generation

Nishi Compare · measured, not asserted

Manga Generation

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.

AI manga and comic creation -- Nishi against the Anifusion-class product field AND the research bar, DiffSensei (CVPR 2025), which does layout-controlled character-preserving multi-panel generation by pairing an MLLM with a diffusion model. That is the bar R1/R4/R11 aim at, with deterministic 3D instead of diffusion luck. Each gap row WATCHES its future organ:symbol and flips live when the workstream ships it.

Layer 1 · Executive

Where we are. Measured and working: the generation core (swarm txt2img with deterministic pre-spend QC), the asset pipeline (content-addressed gallery, full-population ranking, image and identity judges), the character substrate (anatomy-legal posing, genome-seeded identity, real-mocap motion), page composition (landed 2026-08-13), the sovereign font, and the PDF read-back referee. Still open: the authoring surface -- styles, bubbles, script, sheets, training, video, export, canvas, sketch -- plus the research-bar gap, layout-conditioned generation. The counts sit below this line, measured at emit rather than typed here, so they cannot drift from the source.

Where we need to go. Product parity is the Anifusion-class creator loop end to end -- generate, lay out, letter, export -- with styles, sheets and training around it. The research bar is DiffSensei-class layout-conditioned, character-consistent page generation, measured on its own protocol rather than asserted.

The unit. 1 u = one measured session-leg. Calibration: R1, the panel compositor, went from existing substrate to shipped, registered and live-verified in a single leg on 2026-08-13. Estimates recalibrate as each rung lands.
Cost to product parity: 12.5 u. All nine authoring gaps. Canvas (3 u) and the training loop (2 u) are the long poles and both defer behind the creator loop.
Cost to the exceed demo: 3 u. Reachable BEFORE parity: sheets, then the identity judge wired across a sheet, then layout conditioning by the deterministic path -- one character provably identical across every panel of a composed page.
Cost to meet the research bar: 2 u. R11 by path A. On the deterministic path it is not an add-on to parity, it IS the exceed.

Research bar. DiffSensei (CVPR 2025) is measured on layout adherence F1 and cross-panel identity DINO-C on MangaZero. Theirs: F1 0.727 DINO-C 0.651 (leads 5 baselines; next best F1 0.720 [@msdiffusion24]). Ours: not yet benched -- R12 runs the same protocol and publishes our row.

17 of 25 capabilities measured|3 of them measured exceeds|8 open|coverage 680/1000|adoption 6 full / 11 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=1787883525 domain=mangagen target_version=0.1 rungs=11 done=3 open=8 finish=3 ranker=nx_dr_ocm

#StageRungPriorityDerivation
FFINISHSpeech bubbles (R2) mb_bubble_drawPROMOTED-UNREGISTEREDa real binary nobody can call over MCP: /api/tools/register it; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
FFINISHScript to beats (R3) ms_beatsPROMOTED-UNREGISTEREDa real binary nobody can call over MCP: /api/tools/register it; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
FFINISHCharacter sheets (R4) mcs_sheet_emitPROMOTED-UNREGISTEREDa real binary nobody can call over MCP: /api/tools/register it; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked)
#10.1Style packs (R5) gen_style_pack6500v=13 m=1 c=2
#2laterSketch to art (R10) gen_img2img1000v=5 m=1 c=5
#3laterLayout-conditioned generation (R11) mp_scene_condition800v=8 m=2 c=20
#4laterVideo animatic (R8) ma_animatic_emit800v=8 m=1 c=10
#5laterTraining loop (R9) lt_train_deploy800v=16 m=1 c=20
#6laterPrint export (R6) me_pdf_emit250v=5 m=1 c=20
#7laterCanvas editor (R7) mc_canvas_wasm133v=4 m=1 c=30
#8laterMangaZero bench (R12) mz_bench_run0v=0 m=1 c=15

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

RungCloses withDefinition of done (pre-declared)ExecutorEst.
Style packs (R5)gen_style_packStyle rows as data; distinct styles must measure distinct -- a row that changes nothing is a defect to rewrite, never deleteLocal model0.5 u
Speech bubbles (R2)
after R5
mb_bubble_drawBubble geometry, tails and sovereign TTF raster; overflow REFUSES, never silently clipsOrgan1 u
Script to beats (R3)ms_beatsEvery script line lands in exactly one panel; the partition is printedOrgan1 u
Character sheets (R4)mcs_sheet_emitLegality-checked pose sweep, renders, sheet grid; identity judged per cell. Chain proven end to end 2026-08-14 (nx_body_gen makes the mesh, nx_headcrop bands it, nx_anat_sov renders, nx_contactsheet composes, nx_charjudge scores) with every argv contract written down. The sheet judges on the axes that are real for this asset and PRINTS face_axis as an honest zero: the face is absent in the geometry, not in the judge, and that belongs to the graphics lane.Organ1 u
Layout-conditioned generation (R11)
after R1,R4
mp_scene_conditionCharacters placed in-panel at generation time. Path A: per-panel camera and pose from the 3D lane through the landed compositor, deterministic. Path B: region-conditioned diffusionOrgan2 u
MangaZero bench (R12)
after R11
mz_bench_runRun the paper's own protocol and publish our FID/CLIP/DINO/F1 row beside theirs -- a grade-1 external referee, not our own scoring [@mangazero25]Local model1.5 u
Print export (R6)me_pdf_emitPDF and CBZ emit; our own reader must read the PDF back (the referee already exists)Organ2 u
Video animatic (R8)
after R6
ma_animatic_emitPan and zoom page traversal through the sovereign codec; vqoe and frame-score floorsOrgan1 u
Training loop (R9)lt_train_deployFavorites to dataset to train to deploy; the tuned model must EXCEED baseline on the same prompts under the judge panel or it is not wiredLocal model2 u
Sketch to art (R10)gen_img2imgimg2img entry on the gen daemon; fidelity and quality judgedLocal model1 u
Canvas editor (R7)mc_canvas_wasmWasm-owned layered editor under the interop law; edit ops replay deterministicallyOrgan3 u

Milestones

MilestoneRungsCumulative
M0 · Creator loop usableR5,R2,R3,R43.5 u
M1 · Exceed demo publishedR4,R115.5 u
M2 · Our row in the research tableR127 u
M3 · Full product parityR6,R8,R9,R10,R712.5 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

CapabilityNishiAnifusionNovelAIMidjourneyPixAIDiffSensei
GEN
text-to-image on own GPU + gallery ingestMeasured: gen_param_schema exists in runtime/nx_gen.nx, verified at emit. All four products are txt2img SaaS [anifusion] and DiffSensei generates as research code; Nishi renders on the sovereign swarm, seed-deterministic, cids into the gallery -- live-run receipt 2026-08-13 Adoption: LIVE — fully adopted (top of its ladder).
deterministic prompt QC before spendMeasured exceed: gen_content_bg in runtime/nx_gen.nx, verified at emit. nx_gen anatomy = mechanical risk/factors/wetfix refusal-with-remedy BEFORE GPU spend; nothing in either column surfaces a pre-spend QC verdict Adoption: LIVE — fully adopted (top of its ladder).
style-pack breadth (50+ named styles)Open — watching runtime/nx_gen.nx : gen_style_pack, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. R5 gap watching gen_style_pack: style rows as DATA; a style row that changes nothing is a defect to rewrite, never delete
watching gen_style_pack
PAGE
panel-grid page compositorMeasured: mp_page_emit exists in runtime/nx_manga_page.nx, verified at emit. R1 KEYSTONE gap watching mp_page_emit; cs_draw (nx_contactsheet) is the proven substrate to extend -- page-spec rows + gutters + RTL read order Adoption: PROMOTED-UNREGISTERED — PARTIAL: a real binary nobody can call over MCP: /api/tools/register it; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption PROMOTED-UNREGISTERED
layout presets/templates as dataMeasured: mp_layout_rows exists in runtime/nx_manga_page.nx, verified at emit. R1 data plane watching mp_layout_rows; house law: layouts are rows, never code Adoption: PROMOTED-UNREGISTERED — PARTIAL: a real binary nobody can call over MCP: /api/tools/register it; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption PROMOTED-UNREGISTERED
layout-conditioned generationOpen — watching runtime/nx_manga_scene.nx : mp_scene_condition, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. R11, and the axis the research bar exposes that NO product column shows: DiffSensei places characters in-panel at generation time via masked cross-attention [diffsensei25]. Our path A is per-panel camera and pose from the 3D lane through the landed compositor -- deterministic placement instead of sampled placement
watching mp_scene_condition
TEXT
sovereign font (TTF emitter)Measured: append_glyph exists in runtime/nx_font_ttf_emit.nx, verified at emit. Rivals rent fonts; append_glyph serializes our own glyph outlines -- the lettering substrate is ours to the byte 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
speech-bubble compositorMeasured: mb_bubble_draw exists in runtime/nx_manga_bubble.nx, verified at emit. R2 gap watching mb_bubble_draw: bubble geometry + tails + TTF raster; overflow text must REFUSE, never silently clip. DiffSensei lays out dialog REGIONS in-generation (its F1 metric) but does not letter them Adoption: PROMOTED-UNREGISTERED — PARTIAL: a real binary nobody can call over MCP: /api/tools/register it; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption PROMOTED-UNREGISTERED
SCRIPT
script-to-panel beatsMeasured: ms_beats exists in runtime/nx_manga_script.nx, verified at emit. R3 gap watching ms_beats: script rows -> beats -> panel specs; every line lands in exactly one panel, partition printed. DiffSensei adapts story text per panel with an MLLM; ours is deterministic rows first Adoption: PROMOTED-UNREGISTERED — PARTIAL: a real binary nobody can call over MCP: /api/tools/register it; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption PROMOTED-UNREGISTERED
CHAR
pose legality by anatomyMeasured: sg_legal exists in runtime/_hdl_build/nx_skelgen.nx, verified at emit. sg_legal answers -- is this pose anatomically legal -- BEFORE render; every other column samples and hopes 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
consistency by construction (genome+seed)Measured exceed: sg_fk in runtime/_hdl_build/nx_skelgen.nx, verified at emit. DiffSensei LEADS the field on this axis statistically (DINO-C 0.651, adapter + sampling); a Nishi being re-rendered from genome+seed is the SAME being as an equality -- different mechanism, and the 2D bridge is still open (R4/R11) 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
character sheets / turnaroundsMeasured: mcs_sheet_emit exists in runtime/nx_manga_charsheet.nx, verified at emit. R4: legality-checked pose sweep -> renders -> sheet grid; identity judged per cell Adoption: PROMOTED-UNREGISTERED — PARTIAL: a real binary nobody can call over MCP: /api/tools/register it; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption PROMOTED-UNREGISTERED
identity/quality judge (organ eye)Measured: cjc_hw exists in runtime/_hdl_build/nx_charjudge.nx, verified at emit. scores character images mechanically; DiffSensei evaluates with research metrics, no product judge Adoption: LIVE — fully adopted (top of its ladder).
design brief + relationship memoryMeasured: cm_ctx exists in runtime/nx_charmem.nx, verified at emit. cm_ctx folds prefs and memories into the gen context; CompanionCard compiler is the sibling 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
ASSET
gallery + cid canon + searchMeasured: si_hex exists in runtime/nx_galx_saveimg.nx, verified at emit. cid = nxc1-sha256 content addressing, view index, save-to-gallery live on /gallery Adoption: PROMOTED-UNREGISTERED — PARTIAL: a real binary nobody can call over MCP: /api/tools/register it; no execution surface runs it either (clock, cron, daemon, roster, actlog and surfaced forks checked).
adoption PROMOTED-UNREGISTERED
full-population quality rankingMeasured exceed: do_rank in runtime/_hdl_build/nx_gen_rank.nx, verified at emit. do_rank loads the ENTIRE plane, no sampling; rival ranking is user clicks -- their loop ends at the eyeball, ours at a measured order Adoption: LIVE — fully adopted (top of its ladder).
image-quality judge (symmetry Q1000)Open — no implementing organ is measured for this axis yet. bilateral-symmetry scorer over gallery cids
TRAIN
LoRA dataset export from favoritesMeasured: le_prompt exists in runtime/nx_galx_lora_export.nx, verified at emit. le_prompt recovers prompts from PNG headers into the dataset; products train in their cloud, DiffSensei publishes a research recipe Adoption: LIVE — fully adopted (top of its ladder).
train -> deploy -> A/B loopOpen — watching runtime/nx_galx_lora_train.nx : lt_train_deploy, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. R9 gap watching lt_train_deploy; pre-declared accept: tuned model must EXCEED baseline on the same prompts under the judge panel, or it is not wired
watching lt_train_deploy
MOTION
real-mocap decode + retargetMeasured: m_joints exists in runtime/nx_bvhmotion.nx, verified at emit. BVH/VMD decoded sovereignly, dance retargeted 510 keys at 30fps; every other column synthesizes motion or has none 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
VIDEO
image-to-video generationOpen — watching runtime/nx_manga_animatic.nx : ma_animatic_emit, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. R8 gap watching ma_animatic_emit: animatic lane (pan/zoom through the sovereign codec) first; diffusion video out of scope until R1-R6 ship
watching ma_animatic_emit
EXPORT
print-ready PDF/CBZ emitOpen — watching runtime/nx_manga_export.nx : me_pdf_emit, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. R6 gap watching me_pdf_emit -- and the round-trip referee is free: our own reader must read our PDF back
watching me_pdf_emit
PDF read-back refereeMeasured: nx_pdf_extract_text exists in runtime/nx_pdf_text.nx, verified at emit. per-font CMap decode already sovereign -- the R6 acceptance instrument exists today Adoption: LIVE — fully adopted (top of its ladder).
CANVAS
layered editor workspaceOpen — watching runtime/nx_manga_canvas.nx : mc_canvas_wasm, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. R7 gap watching mc_canvas_wasm under the JS-interop law: wasm owns logic, page shim = fb copy + input only
watching mc_canvas_wasm
SKETCH
realtime sketch-to-artOpen — watching runtime/nx_gen.nx : gen_img2img, re-measured on every compare beat. Ship that symbol and this mark flips itself; the comparewatch- plane row flips with it. R10 gap watching gen_img2img: img2img entry on the gen daemon
watching gen_img2img

Debt register

IdSevWhat it isUnblock
1786650261eaten6Gen daemon generate lane does not land renders. CONFIRMED TWICE, about five hours apart, by count=1 canaries at 832x1216 and 512x768: the POST returns nothing and the recent-cid list comes back BYTE-IDENTICAL both times -- same 48 entries, same head. Reads answer normally, so the daemon is up and only the render path is dead; this is a stopped worker, not a slow one. It is the top blocker in the lane: it holds R5 styles, R10 sketch-to-art, the first generated manga page, and therefore the M1 exceed demo.Operator action on the box: restart the swarm/laptop gen worker and its keeper task, then one count=1 canary and check nx_gen recent for a NEW cid. Everything downstream is already built and gated and will run the moment a cid appears -- the page compositor, the bubbles, the beat splitter and the character sheet all shipped this session.
1786646407not in this scope5ARENA-OVERRUN in the shared image-decode path on webp and one jpg: the canary reports a write past the allocation while pixels still render.Fix the decode lib, then re-run the compositor smoke until the canary lines stop appearing.
charjudge-scalenot in this scope5CHARACTERISED, and the mechanism is a magic number. Ladder on one mesh (face_axis / CHARJUDGE): 192x288 gives 1000/283, 256x384 gives 1000/294, 288x432 gives 1000/285, then 320x480 gives 0/0 and 512x768 gives 0/0 -- a sharp cliff between 288 and 320, not a gradient. Cause, read in nx_charjudge_lib: the face scan accepts an eye pair only when their separation is between 8 and 44 RAW PIXELS, and the search pyramid halves at most three times. So the judge has a bounded working resolution baked into two literals, and above it a real face is simply never inside the window. This also corrected an earlier claim of mine on this page (that the model had no face); the three probes behind it were all at least 320 wide, which is the confound.Make the eye-separation window relative to the image or to the detected head box rather than absolute pixels, or let the pyramid keep halving until the window is reachable; failing that, print the measuring range in the organ header so callers choose a size deliberately. R4 already renders at 256x384 for this reason, written down in its source rather than left as a lucky default.
owed-reconcilenot in this scope4Now buildable, and the drift it warned about is already REAL: this page carries a sharpened description of debt 1786650261 while the plane still holds the original wording, because I edited the plan file and not the plane. Probing the tool settled the format -- `nx_debt find ` returns one row per line as index, then tab-separated epoch id, severity, scope, state and description, closing with a matched/shown/total envelope. It also settled the DESIGN question: the plane owns STATE (open or eaten, and severity) while the page owns NARRATIVE, so a reconcile should sync state and never overwrite prose in either direction.Have the regen fork ../nx_debt.elf find per matrix domain, write the parsed rows beside the matrix, and let the generator take STATE from there while keeping the plan's wording -- the same shape as the watchlist, which already refreshes contracts every run. Then a row whose plane state says eaten stops being displayed as open.
magic-anatomynot in this scope4Rule-11 sweep 2026-08-14 with the estate ruler. At its DEFAULT threshold nx_body_gen and nx_anat_sov both report ZERO magic numbers -- but that is a filtered read. At threshold 2 the honest counts are 510 sites over 107 distinct values in nx_body_gen and 461 over 88 in nx_anat_sov. Most are structural and legitimate (per-mille 1000 appears 87 times, ASCII 48 and 57 in the number parser, degrees 360 and 180 and 90 in the angle maths, byte 255, small strides), but some are POLICY hiding as arithmetic -- the clearest being the anthropometric band boundaries 600 and 764 per-mille in the body profile path.Hoist the policy-shaped values (the anthropometric band edges first) into the existing canon table rather than a const block, so they can be tuned as data; leave the structural literals named at most. Do it in the body lane with its own gates, and prove neutrality the way this lane did: rebuild and byte-compare the elf.
magic-bubblestylenot in this scope2nx_manga_bubble now names its policy (stroke, ink, paper, leading, margin) as consts and its one mathematical constant (707 per-mille, the largest box inside an ellipse) separately, and the whole refactor rebuilt BYTE-IDENTICAL. But named is not data: the lettering house style still lives in code.Add a style row beside knowledge/manga/layouts.conf carrying stroke, ink, paper and leading, and read it the way the layout is read. Not via argv position 11 -- that slot is the first word of dialogue.
evidence-page-has-no-emitternot in this scope4Estate-wide, found 2026-08-14 and CONTROLLED. The matrix generator emits an affordance promising an autonomously-generated evidence page whenever a domain declares gates, and that page 404s -- for mangagen AND for videoops, so it is pre-existing and not something this lane introduced. Root cause is a tree split: the generator runs with CWD=buildroot and reads buildroot/knowledge/compare, while nx_swcompare_evidence reads the nishihost knowledge/compare and answers 'matrix file missing -- fail loud'. Nothing emits the page at all. I retired my own gates declaration rather than ship a knowingly dead link, and did not copy data across trees to fake one.Decide which tree is the compare SSOT and make both organs read it, then have the regen fork the evidence organ per domain and publish the page it links to. The four mangagen gates are real and green by forking (page 9/9, bubble 9/9, script 10/10, charsheet 11/11); the declaration is parked in knowledge/retired and goes straight back once the page has an emitter.
owed-5thcol-datanot in this scope2SCHEMA DONE 2026-08-14, only the data remains. A row is now parsed as five plus the declared column count rather than a fixed nine, the note is read at its computed index instead of position eight, and the liar-kill was WIDENED from exactly four columns to at least four -- which keeps the original guarantee that a domain cannot thin its field while allowing a research bar beside the product field. Backward compatibility was proven rather than assumed: a full regen with every domain still at four columns came back green and the notes on the control domain all render in their correct positions.Add DiffSensei as a fifth column in this domain's matrix: extend the @cols row and give every capability row its cell, using the paper's own numbers already quoted in Layer 1. Worth adding the layout-conditioned generation row at the same time, since that is the axis the research bar exposes and no product column shows.

Risk register

RiskLikelihood x impactMitigation
The gen worker is a single point and is down, blocking R5 and the first generated pagelikely x highRevive plus a keeper and a watchdog beat; run a canary generate before any batch.
Estimates rest on one calibration point (R1), so the unit is a bound rather than a measurementcertain x mediumRecalibrate on every landed rung and publish actual against estimate; R2 and R3 both landed inside one leg each, which is the first corroboration.
A watch contract flips on the symbol existing, so a stub could read greenpossible x highThe done-rule proven by a gate is the bar; the flip is the receipt. R1, R2 and R3 each shipped with a gate before their contract was allowed to count.
Encoding instrument changes touches the generator serving every matrix domainpossible x mediumSchema version, one-domain canary, content-diff and compare-and-swap promote; plan-less domains emit unchanged by construction.
Bench and batch work contends with generation capacity on one boxpossible x lowAsk the spend gate before sweeps, run off-peak, publish box receipts beside the result.
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 coverage above is capability presence measured against source — not depth, scale, or polish, where mature rivals may lead. Exceeds are claimed only where a mechanism backs them. Every open gap is a watch contract: it names the organ and symbol that closes it, and this page flips the cell itself when that workstream ships.

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

Every compare carries this layer. Declare knowledge/compare/mangagen.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 mangagen, 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. [diffsensei25] Wu, Hu, Xu et al. DiffSensei: Bridging Multi-Modal LLMs and Diffusion Models for Customized Manga Generation. CVPR 2025. publisher · read in our library knowledge/fetched/cmp_mangagen_diffsensei25.html · pin hd45209cb63fe91d3380b45c1805c042e5c23d079435fb2e90df9d201efc92064 · accessed 2026-08-18 · published-paperGrounds: The research bar in Layer 1: F1 0.727 and DINO-C 0.651 on MangaZero, read from the paper's own Tables 2a/2b/3 (fetched via arXiv HTML 2026-08-13; the CVF PDF 403s our fetcher); R11 layout conditioning is the axis it exposes and R12 publishes our row beside theirs.
  2. [mangazero25] MangaZero: the manga dataset introduced by the DiffSensei paper (427k annotated panels with character boxes and dialogue). publisher · read in our library knowledge/fetched/cmp_mangagen_diffsensei25.html · pin hd45209cb63fe91d3380b45c1805c042e5c23d079435fb2e90df9d201efc92064 · accessed 2026-08-18 · datasetGrounds: R12 runs the paper's own protocol on it and publishes our FID/CLIP/DINO/F1 row -- a grade-1 external referee, never our own scoring; also the named public training data for the script-to-beats lane.
  3. [msdiffusion24] MS-Diffusion: multi-subject image generation with layout guidance -- the strongest baseline in DiffSensei's own comparison (F1 0.720, next best after theirs). publisher · read in our library knowledge/fetched/cmp_mangagen_msdiffusion24.html · pin h2cc0958699e0b67c67832c29b5e16605817071b8e547ba714a2e64f7c0311173 · accessed 2026-08-18 · published-paperGrounds: Layer 1 quotes the full baseline field; our bench row lands beside BOTH published numbers or it does not land.
  4. [anifusion] Anifusion feature page: the 16-feature product inventory this board's parity codes were enumerated from (fetched 2026-08-13). publisher · read in our library knowledge/fetched/cmp_mangagen_anifusion.html · pin ha4bd28e14318d24a666ecdb80244499824b81216bebc42ad545dbb5a7951ccac · accessed 2026-08-18 · vendor-docGrounds: The product columns: closed commercial products with no version feed, so every rival code is a declared vendor-claim read per the admission standard, never a benched number.

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