Dig #2 · 2026-10-05 PT REAL vs SPECULATIVE labeled

Every character file in KanjiVG puts both structures in one SVG. The nested <g> groups say what sits inside or beside what. The <path> order, numbered -s1 … -sN, says the sequence in which the pen realizes that containment. Stroke count is the length of the sequence. It is not how many slots the frame opened.

This is the geometry-versus-packaging distinction from Valency, applied locally to graphs. Classifier MeasureP and VN-suru Argument Transfer stay the earn path for clause-level packaging. They are not replaced here. Graphs are orthographic objects. Kanji ≠ syntax.

Hard rejects. Stroke order is not Merge. KanjiVG trees are not X-bar and not phrase structure. An operator reading of strokes is not θ-role assignment. No Bridge, and no kanji↔doping joint field. Graphs are not syntactic heads.
Attribution. Stroke diagrams: KanjiVG, Ulrich Apel et al., CC BY-SA 3.0. Unmodified excerpts of the worked examples only (一 人 木 明 休 国 囲 間 五 語 漢 圖) — not the full set of about twelve thousand SVGs. Format: svg-format.html. Findings note in the repo: lit/stroke-order-distributed-morphology-v0.md. Sources.
KanjiVG stroke diagram of 一一 KanjiVG stroke diagram of 人人 KanjiVG stroke diagram of 木木 KanjiVG stroke diagram of 明明 KanjiVG stroke diagram of 休休 KanjiVG stroke diagram of 国国 KanjiVG stroke diagram of 囲囲 KanjiVG stroke diagram of 間間 KanjiVG stroke diagram of 五五 KanjiVG stroke diagram of 圖圖 KanjiVG stroke diagram of 語語 KanjiVG stroke diagram of 漢漢

Gray digits are KanjiVG’s StrokeNumbers group. The diagram draws in that order. Click a plate to replay. If the browser asks for less motion, the finished glyph stays put.

Dual structure — two layers in one SVG

KanjiVG’s format note says the strokes follow the reference order, and that the same file contains groups which describe the structure of the character. When elements are not contiguous strokes, the project uses part and number. That is the sourced fact this page is built on. REAL

A. Spatial hierarchy — containment

Nested groups carry kvg:element (which formative the cluster resembles), kvg:position (left / right / top / bottom / middle / kamae / kamaec / nyo / nyoc / tare / tarec, plus Ideographic Description Character extras), and kvg:radical (general / jis / nelson / tradit). kvg:original names a semantic source when the drawn form is a variant — 休’s 亻 is original=人. kvg:phon marks a phoneticum; the project’s own notes call the values inconsistent. kvg:partial means the group does not exhaust the named element. kvg:part and kvg:number appear when one formative’s strokes are not a single block in writing order.

B. Linear sequence — ordered realization

<path> elements follow writing order. The id ends in -sN, N consecutive from 1. In the current format, document order is stroke order. Reverse it and you do not get “the same character, commutatively rearranged.” You get a different glyph tradition, or an error. That non-commutativity is why the sequence is a packaging of the form, not a bag of strokes.

Nested groups + position / element → hierarchical containment of formatives
≠ path order / -sN → ordered realization (discrete, non-commutative)
→ top-level frame (left+right, kamae+inner, …) opens component slots
≠ stroke count, which is only the surface length of that realization

Locked vocabulary for this dig, used as analysis rather than as an identity: ordered realization, hierarchical containment of formatives, valence = arity of component slots. A two-slot frame can be likened to a two-argument operator — cited from Geometric Syntax notes only as analogy. The likening is SPECULATIVE. It does not make the graph a syntactic head.

Surface stroke length ≠ deep component arity

明 and 休 are both deep-2 left–right frames. Their surfaces are 8 and 6. 国 and 語 are both deep-2 as well — enclosure plus interior, semantic plus phonetic — at surfaces 8 and 14. Same slot count, different sequence lengths. REAL pattern. The echo on Valency is the clause-level slogan (surface arity ≠ geometry) pointed at graphs. It is still not linguistic arity, not on/kun counted as arguments, and not θ-roles.

Graph Frame Deep arity Surface Cross-cut
一 atomic 0-place 1 none
人 atomic 0-place 2 none
木 atomic 0-place 4 none at component level; H before V
明 left–right 2 (日, 月) 8 none
休 left–right 2 (亻, 木) 6 none; original=人 is not a third slot
国 enclosure (kamae) 2 (囗, 玉) 8 囗 leaves and returns (part 1 / part 2)
囲 enclosure (kamae) 2 (囗, 井) 7 double split: 囗, and 二/十 inside
間 門-enclosure 2 (門, 日) 12 mild; 門 is contiguous, no kvg:part
五 split radical not a clean top-level 2 4 tradit 二 discontinuous; nelson = 一
圖 nested shells part + number; not forced to 2 14 two split 囗 formatives, disambiguated
語 left–right 2 (言, 吾) 14 五’s 二-split inherited inside 吾
漢 left–right 2 (氵 + phonetic complex) 13 top contiguous; nesting stays inside the right slot

Deep arity in this table is the top-level component-slot count read off the KanjiVG groups. Where the file does not present a clean frame — 五, 圖 — the cell says so instead of inventing a number.

Atomic — containment and sequence coincide

The identity cases. There is no sibling frame, so there is nothing for stroke count to be confused with except the paths themselves. 木 is the warning label: four strokes inside one formative are an ordering constraint (horizontal before vertical in the cross), not valence 4.

KanjiVG stroke diagram of 一, one stroke

KanjiVG · CC BY-SA 3.0

一 U+4E00

04e00.svg · atomic · surface 1

一 [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 stroke diagram of 人, two strokes

KanjiVG · CC BY-SA 3.0

人 U+4EBA

04eba.svg · atomic · surface 2

人 [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 stroke diagram of 木, four strokes

KanjiVG · CC BY-SA 3.0

木 U+6728

06728.svg · atomic · surface 4

木 [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.

Left–right — binary frame, contiguous arguments

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 stroke diagram of 明, eight strokes

KanjiVG · CC BY-SA 3.0

明 U+660E

0660e.svg · left–right · deep 2 · surface 8

明
├─ 日  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 stroke diagram of 休, six strokes

KanjiVG · CC BY-SA 3.0

休 U+4F11

04f11.svg · left–right · deep 2 · surface 6

休
├─ 亻  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.

Enclosure rhizome — order leaves and returns

国 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 stroke diagram of 国, eight strokes, enclosure closes last

KanjiVG · CC BY-SA 3.0

国 U+56FD

056fd.svg · kamae · deep 2 · surface 8 · part-split

国
├─ 囗  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 stroke diagram of 囲, seven strokes, nested part-splits

KanjiVG · CC BY-SA 3.0

囲 U+56F2

056f2.svg · kamae · deep 2 · surface 7 · nested parts

囲
├─ 囗  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 stroke diagram of 間, twelve strokes, gate then sun

KanjiVG · CC BY-SA 3.0

間 U+9593

09593.svg · 門-kamae · deep 2 · surface 12 · no part

間
├─ 門  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.

Discontinuous parts — kvg:part and kvg:number

五 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 stroke diagram of 五, four strokes, split radical

KanjiVG · CC BY-SA 3.0

五 U+4E94

04e94.svg · part-split · surface 4

五
├─ 二  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 stroke diagram of 圖, fourteen strokes, part and number

KanjiVG · CC BY-SA 3.0

圖 U+5716

05716.svg · part + number · surface 14

圖
├─ 囗  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.

Phonetic and semantic packaging

語 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 stroke diagram of 語, fourteen strokes

KanjiVG · CC BY-SA 3.0

語 U+8A9E

08a9e.svg · left–right · deep 2 · surface 14

語
├─ 言  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 stroke diagram of 漢, thirteen strokes

KanjiVG · CC BY-SA 3.0

漢 U+6F22

06f22.svg · left + nested right · deep 2 · surface 13

漢
├─ 氵  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.

Consistency rules — order and containment were already separable

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.

What changed relative to the display note. Dig #1 planned KanjiVG as a renderer orthogonal to analysis. For this dig the trees are an object of analysis, and the same SVGs remain a renderer. See Display. Orthogonal-as-absolute is withdrawn. ≠ syntax stays. Animation is not Merge.
REAL / SPECULATIVE / REJECTED

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.
Open questions
  1. Frame inventory. Can kvg:position combinations be listed as a closed set of frames (left–right, top–bottom, kamae, tare, nyo, …) with stable arities? kamae is documented as an inconsistent grab-bag. Valence counts are not trustworthy until that sub-typology exists.
  2. Arity greater than 2. Three-across characters, 品-style stacks, left–middle–right. How often is middle a true third argument, and how often is it a nested binary?
  3. Phoneticum reliability. kvg:phon inconsistency (issue #312). Can phonetic versus semantic slots be recovered more cleanly from KANJIDIC2 or classical semantic–phonetic tables than from KanjiVG alone?
  4. 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.
  5. Inheritance of splits. 語 inherits 五’s 二-split inside the phonetic. Is discontinuity inheritance systematic under composition?
  6. 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.
  7. 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.