KanjiVG · CC BY-SA 3.0
一 U+4E00
一 [radical=general]
s1 ㇐
Identity case. The containment tree is a single node; the ordered realization is one stroke. Deep arity is 0-place: no frame with sibling arguments. Surface length 1. That 1 is not a valence.
KanjiVG · CC BY-SA 3.0
人 U+4EBA
人 [radical=general]
s1 ㇒
s2 ㇏
(1,人) (2,人)
Atomic at character level. Ordered realization is left-falling, then right-falling. Non-commutative: the reverse is a different glyph tradition, or an error — not the same character spelled with the arguments swapped. No cross-cut. Surface length 2 is still not deep arity.
KanjiVG · CC BY-SA 3.0
木 U+6728
木 [radical=general]
s1 ㇐ horizontal
s2 ㇑ vertical
s3 ㇒ left-falling
s4 ㇏ right-falling
Atomic as a character; internally a cross plus two legs. REAL: stroke count 4 ≠ valence 4. Horizontal before vertical (s1 before s2) is an ordering constraint on realization, not a second composition slot. No component-level cross-cut.
The clean Apply-shaped picture, offered as a SPECULATIVE local model and not as phrase structure: a left–right frame opens two slots and the pen saturates the left argument completely before the right. 明 surface 8 / deep 2 beside 休 surface 6 / deep 2 is the smallest demonstration that surface length and deep arity come apart. original=人 on 休 is variant packaging of the left slot.
KanjiVG · CC BY-SA 3.0
明 U+660E
明
├─ 日 position=left radical=general s1–s4
└─ 月 position=right s5–s8
(1,日) (2,日) (3,日) (4,日) (5,月) (6,月) (7,月) (8,月)
Layout frame left–right. Deep arity 2 (日, 月). Analogy only: Apply(LR, 日, 月) lines up with a two-argument operator. Do not equate them. Surface length 8. REAL cross-cut: none. Each argument is realized contiguously — finish the left, then the right.
KanjiVG · CC BY-SA 3.0
休 U+4F11
休
├─ 亻 position=left radical=general original=人 s1–s2
└─ 木 position=right s3–s6
(1,亻) (2,亻) (3,木) (4,木) (5,木) (6,木)
Deep arity 2 (亻, 木). Surface 6. Same deep arity as 明, different surface length. kvg:original=人 records that the drawn left shape is a variant of 人. That is packaging of the left slot, not a third argument. No top-level cross-cut.
国 and 囲 are the clearest kvg:part exhibits. One spatial 囗 is two stretches of the ordered realization: sides first, interior next, closing stroke last. The pen leaves the enclosure and comes back. That discontinuity is REAL as data. Calling it a rhizome — discontinuous, non-concatenative packaging — is a SPECULATIVE metaphor on top of the part-split. It adds no slot. 間 shows the contrast: a 門-enclosure often finishes both door-leaves before the interior, so the file needs no kvg:part. “Close the box last” is an ordering constraint on realization, family by family, not extra arity.
Dig #2 counted on the order of two thousand KanjiVG files with kvg:part= at the clone it read (HEAD 70a0b7a, 2026-09-30). Discontinuous packaging is ordinary in the source project. This site does not vendor that set; the diagrams here are the worked examples.
KanjiVG · CC BY-SA 3.0
国 U+56FD
国
├─ 囗 part=1 position=kamae radical=general s1–s2
├─ 玉 phon=或V
│ ├─ 王 original=玉 partial=true s3–s6
│ └─ 丶 s7
└─ 囗 part=2 position=kamae radical=general s8
(1,囗①) (2,囗①) (3,玉/王) (4,玉/王) (5,玉/王) (6,玉/王) (7,玉/丶) (8,囗②)
Top frame: outer 囗 + inner 玉. Deep arity 2. Surface 8. Strokes 1–2 take the sides; the pen leaves for the interior (王 marked partial, original=玉, then the dot); stroke 8 closes the bottom. Outside → inside → close. One formative, two parts. The inner decomposition of 玉 does not add a third top-level sibling.
KanjiVG · CC BY-SA 3.0
囲 U+56F2
囲
├─ 囗 part=1 position=kamae radical=general s1–s2
├─ 井 phon=韋
│ ├─ 二 part=1 s3
│ └─ 廾
│ ├─ 二 part=2 → 十 part=1 s4
│ ├─ 丿 s5
│ └─ 十 part=2 s6
└─ 囗 part=2 position=kamae s7
(1,囗①) (2,囗①) (3,井/二①) (4,井/廾/十①) (5,井/廾/丿) (6,井/廾/十②) (7,囗②)
Deep arity 2 at the top (囗, 井). Surface 7. Two discontinuities stack: the enclosure splits around the interior, and inside 井 the forms 二 and 十 are themselves split by writing order. Spatial “one 囗” is not a contiguous stroke block. phon=韋 is the file’s phoneticum mark — weak REAL, values inconsistent in the docs.
KanjiVG · CC BY-SA 3.0
間 U+9593
間
├─ 門 position=kamae radical=general
│ ├─ (left half) s1–s4
│ └─ (right half) s5–s8
└─ 日 s9–s12
finish 門, then 日
Deep arity 2 (門, 日). Surface 12. 門 is contiguous in stroke order — no kvg:part — and 日 follows. Different enclosure families package closure differently. The pedagogical rule “outside before inside” is REAL as tradition. Reading it as a constraint on argument realization, rather than as another composition slot, is the SPECULATIVE lean.
五 is the format documentation’s own picture of a radical that is not a block: traditional 二 wraps the middle strokes, while the Nelson index takes only the upper 一. 圖 is why kvg:number exists. Two different 囗 formatives are each split; number says which part-pair belongs together. The docs reserve number for that collision. Ordered realization here repeatedly leaves a shell and re-enters it. None of that is an X-bar projection.
KanjiVG · CC BY-SA 3.0
五 U+4E94
五
├─ 二 part=1 radical=tradit
│ └─ 一 radical=nelson s1
├─ (bare paths) s2–s3
└─ 二 part=2 radical=tradit s4
Ordered realization interlaces the traditional radical 二 around the middle strokes. Nelson’s radical is the upper 一 only. REAL: competing radical indices on one character; kvg:part encodes that the tradit radical is discontinuous in writing order. Do not promote either index to a syntactic head.
KanjiVG · CC BY-SA 3.0
圖 U+5716
圖
├─ 囗 part=1 number=1 kamae radical=general s1–s2
├─ 口 s3–s5
├─ 㐭
│ ├─ 亠 s6–s7
│ └─ 回
│ ├─ 囗 part=1 number=2 s8–s9
│ ├─ 口 s10–s12
│ └─ 囗 part=2 number=2 s13
└─ 囗 part=2 number=1 kamae s14
Outer 囗 frames the whole writing (s1–s2 … s14). The inner 囗 of 回 is a second split pair (s8–s9 … s13). kvg:number keeps those pairs from collapsing into one element. Surface 14. The cross-cut is extreme and still not a longer list of top-level syntactic arguments. Deep arity is deliberately not forced to 2 in the table above.
語 is the inheritance case. Top-level deep arity is 2: semantic 言 on the left, phonetic 吾 on the right, surface 14. Inside the phonetic, 五 still splits 二. Discontinuity is inherited under composition rather than repaired. 漢 keeps a binary top frame (氵 + phonetic complex, surface 13) while the right argument is itself top–bottom. Higher nesting can raise internal arity without adding a third sibling at the character’s top. That last sentence is the SPECULATIVE analogy with a two-argument operator. kvg:phon is weak REAL: the attribute is in the files, and the project flags the values as inconsistent (issue #312).
KanjiVG · CC BY-SA 3.0
語 U+8A9E
語
├─ 言 position=left radical=general s1–s7
│ └─ (含 口) s5–s7
└─ 吾 position=right phon=吾 s8–s14
├─ 五
│ ├─ 二 part=1 s8
│ ├─ (paths) s9–s10
│ └─ 二 part=2 s11
└─ 口 s12–s14
Deep arity 2: semantic 言 + phonetic 吾. Surface 14. The 二-split inside 五 is the same discontinuity as the 五 exhibit, now inside a compound. phon=吾 marks the phoneticum slot. Treat the string value as weak REAL, not as a settled phonological analysis.
KanjiVG · CC BY-SA 3.0
漢 U+6F22
漢
├─ 氵 position=left radical=general original=水 s1–s3
└─ (right) phon=𦰩
├─ 艹 position=top original=艸 s4–s6
└─ (bottom)
├─ 口 s7–s9
└─ 夫 → 大 s10–s13
Deep arity 2 at the top. Surface 13. Top-level realization is contiguous: left, then right. original=水 on 氵 is the same kind of variant note as 休’s original=人 — packaging of a slot, not another argument. Nesting on the right deepens the interior of one argument. Analogy only, and labeled speculative: that is higher internal arity, not a third top-level sibling, and not θ-assignment.
KanjiVG’s Google Groups thread “Consistency rules” is a design argument inside the project, paraphrased here rather than quoted. One proposal: the XML hierarchy should reflect spatial containment — what element is part of what — even when that puts paths out of writing order. Writing sequence would then live on an explicit attribute (kvg:strokenum), consecutive from 1, possibly out of document order.
The live format did not take that fork. Document order is stroke order. Non-contiguous components are split with kvg:part, plus rare kvg:number. The thread is REAL as a project tension and as design history. It is not evidence that a later theory was “always” the file format. The narrow fact is enough: the project had to treat order and containment as separable packagings of the same graph. That supports reading stroke order as ordered realization over a containment tree, not as the composition operator itself. Later hierarchy-fix work in the project (pull requests that police group structure) keeps spatial nesting as a first-class object, not mere animation scaffolding.
Highlights from the Dig #2 map. A labeled analogy is not a load-bearing claim. Rejected rows are not available as interpretations of these files.
| Claim | Label | Evidence / caution |
|---|---|---|
| KanjiVG encodes a dual structure: containment tree + ordered stroke sequence | REAL | svg-format.html; the character files, including the twelve excerpts here |
kvg:part / kvg:number mark non-contiguous realization of one formative |
REAL | docs + 国 / 囲 / 五 / 圖 |
| Layout positions name spatial sibling relations | REAL | position list in the format docs; used in the left–right and enclosure exhibits |
| In the current format, stroke document order is writing order | REAL | docs; -sN ids consecutive; gray StrokeNumbers follow that order |
| A historical proposal separated spatial nesting from an explicit stroke-number attribute | REAL as debate | Google Groups “Consistency rules”; not the live format |
| Character ≈ Apply(frame, arguments) with valence = arity of those arguments | SPECULATIVE | Fits left–right and enclosure examples as a local model. Not Merge. Not phrase structure. |
| Stroke-order rules (top before bottom, left before right, outside before inside, horizontal before vertical) are constraints on realization order | SPECULATIVE lean on real pedagogy | The rules are traditional. Reading them as realization constraints is our analysis. |
| Rhizome: leave-and-return / split parts ≈ discontinuous packaging | SPECULATIVE metaphor | On REAL part-splits. Stay on the graph side. |
| Surface stroke count ≠ deep arity (component slots) | REAL pattern | 明 8≠2, 休 6≠2, 国 8≠2, 語 14≠2 |
| Two-argument operator language (Z(u,v) and related Geometric Syntax notes) | SPECULATIVE analogy only | Cite as parallel vocabulary. Do not equate. August 2026 Geometric Syntax notes are not kanji theory. |
| Stroke sequence as a discrete geometric syntax (order changes well-formedness; non-commutative) | SPECULATIVE analogy only | Wrong order → ill-formed glyph. Not a claim that strokes are the braid groups of seals or knots. |
| Seal or knot geometry is the same field as kanji strokes | SPECULATIVE local analogy only | Apply locally if at all. No Bridge. No joint field. |
| KanjiVG tree = X-bar / phrase structure / Merge | REJECTED | Hard rule. Do not use. |
| Operator-on-strokes = θ-role assignment | REJECTED | Hard rule. Clause θ-structure stays with classifiers and Argument Transfer. |
| Kanji↔doping joint field, or a Bridge rewrite from these trees | REJECTED | Hard rule. No doping claims. |
| Graphs are syntactic heads | REJECTED | Kanji ≠ syntax. |
- Frame inventory. Can
kvg:positioncombinations be listed as a closed set of frames (left–right, top–bottom, kamae, tare, nyo, …) with stable arities?kamaeis documented as an inconsistent grab-bag. Valence counts are not trustworthy until that sub-typology exists. - Arity greater than 2. Three-across characters, 品-style stacks, left–middle–right. How often is
middlea true third argument, and how often is it a nested binary? - Phoneticum reliability.
kvg:phoninconsistency (issue #312). Can phonetic versus semantic slots be recovered more cleanly from KANJIDIC2 or classical semantic–phonetic tables than from KanjiVG alone? - Variant files (-Kaisho and the like). Do stroke-order variants change deep arity, or only the ordered realization? The prediction is realization only. Not tested on this page.
- Inheritance of splits. 語 inherits 五’s 二-split inside the phonetic. Is discontinuity inheritance systematic under composition?
- Site scope. How far to carry stroke-order investigation without orphaning Dig #1. This page is the public track. Classifiers, VN-suru, and compounds stay where they are.
- Citation hygiene. Geometric Syntax takeaways and the two-argument-operator note stay in the analogy rows. They are not promoted to load-bearing kanji theory.
lit/stroke-order-distributed-morphology-v0.md · kanjivg.tagaini.net.