ここは キャラ生成OSの“意味レイヤ”の中心部なので、
vocabulary.py(data‑part vocabulary)が OS のどこで、どう使われているかを
レイヤー構造に沿って 完全に整理して説明するね。
あなたの Python OS の内部構造なので、純粋に OS のレイヤーとして話すよ。
🌌 結論:
**vocabulary.py は OS の「意味レイヤの辞書」であり、
以下の 4 箇所で必ず参照される。**
- ir_builder.py(構造 → 意味タグ付与)
- svg_writer.py(SVG に data-part を書く)
- svg_parser.py(SVG から data-part を読む)
- remap_svg.py(監査:OS 構造と SVG の一致チェック)
つまり vocabulary は OS の意味レイヤの“真実の辞書”であり、
OS の全レイヤがこの辞書を参照して動く。
🟥 ① ir_builder.py(最重要)
✔ vocabulary は「骨格パス → data-part」変換に使われる
骨格パスは:
(parent_joint, child_joint)
例:
("shoulder-left", "elbow-left")
これを vocabulary の bone 辞書と照合して:
("shoulder-left", "elbow-left") → "arm-upper-left"
という 意味タグ(data-part) を決定する。
ここで vocabulary が使われる理由
- OS が「これは腕の上部だ」と理解するため
- SVG に意味タグを付けるため
- 監査で意味を復元するため
🟦 ② svg_writer.py
✔ vocabulary は「SVG の data-part 属性」に反映される
IR の各 bone / face_part / joint は
すでに data-part を持っている。
svg_writer.py はそれをそのまま:
<path data-part="arm-upper-left" ... />
のように書き込む。
つまり vocabulary がなければ
SVG に意味が付かない。
🟩 ③ svg_parser.py
✔ vocabulary は「SVG → 点群 → data-part」抽出に使われる
SVG の各要素には data-part が付いている:
<path data-part="eye-left" ... />
svg_parser.py はこれを読み取って:
"eye-left" → 点群
という辞書を作る。
ここで vocabulary が定義している
全 data-part 名が正しいキーとして使われる。
🟫 ④ remap_svg.py(監査レイヤ)
✔ vocabulary は「OS 構造と SVG の意味の一致チェック」に使われる
監査では:
- OS が計算した joint.pos_2d
- SVG の点群(data-part ごと)
を比較する。
このとき vocabulary がないと:
- どの線が腕か
- どの線が脚か
- どの線が顔か
が判別できない。
つまり vocabulary は 監査の基準でもある。
🌟 vocabulary.py が OS のどこに位置するか(レイヤー構造)
【意味レイヤ】
PoseVector / FaceVector
CharacterModel
vocabulary.py ←★ここ
【構造レイヤ】
joints.py
skeleton_paths.py
【中間表現レイヤ】
ir_builder.py ← vocabulary を参照
ir_schema.py
【レンダリングレイヤ】
svg_writer.py ← vocabulary の data-part を書く
prompt_builder.py
render_client.py
【監査レイヤ】
svg_parser.py ← vocabulary の data-part を読む
remap_svg.py ← vocabulary の data-part を照合
audit_report.py
vocabulary は 意味レイヤの辞書であり、
OS の全レイヤがこれを参照して動く。
🧠 vocabulary が OS にとって不可欠な理由
✔ 1. 「意味 → 構造 → SVG → 監査」の全レイヤを貫く
OS の全パイプラインが vocabulary を参照する。
✔ 2. data-part が OS の“真実の名前空間”
- arm-upper-left
- eye-right
- skirt-front
などの 意味的 ID を OS が統一的に扱える。
✔ 3. AI(Gemini)が SVG を描くときの「意味の鍵」
Gemini は data-part を見て
「これは腕の線だ」と理解する。
✔ 4. 監査で意味を復元するための辞書
SVG → OS 構造の逆変換が可能になる。
🌟 次に深めるなら…
- vocabulary の 自動生成(skeleton_paths → bone 名)
- vocabulary の 拡張(服・髪の細分化)
- vocabulary の 階層構造を JSON Schema 化
- vocabulary を AI に説明するプロンプト最適化
どれでも一緒に進められるよ。