README
Diagram generators
One script per diagram whose coordinates are arithmetic rather than judgement.
cd "Bubbly Games/Workflows/3D Models/Characters/diagrams/make"
python make_hair_tiers_svg.py
python make_hair_card_anatomy_svg.py
python make_hair_channels_svg.py
python make_hair_atlas_svg.py
Each writes its .svg into the folder above and prints how many lines it wrote.
They take no arguments and overwrite in place.
| Script | Writes | Why it is generated |
|---|---|---|
make_hair_tiers_svg.py |
hair-tiers.svg |
Every card leaves the scalp along a radius and falls from there. Placed by hand it leaves the scalp at an angle the scalp does not have, on the one picture whose whole subject is how a card is attached. |
make_hair_card_anatomy_svg.py |
hair-card-anatomy.svg |
The picture is two numbers compared along one bent line, and the claim is that R 0.50 is halfway. A tick placed by eye is a tick that says 0.50 somewhere that is not. |
make_hair_channels_svg.py |
hair-channels.svg |
The argument is a count of wires: six arrivals from two channels, one from a third, none from the fourth. A wire drawn by hand lands near a box rather than on it, and then it cannot be counted. |
make_hair_atlas_svg.py |
hair-atlas.svg |
Every edge is a strip boundary at an exact fraction of U, and two of them carry the picture: three cards inside one, one card across another. Drawn by hand, the good case and the error case differ by how steady the hand was. |
Every script draws with the shared kit in Workflows/diagram-kit/, which owns
the palette, the type and the way labels point at things. A new picture gets a
script here too, even one whose every line is a judgement, so that it looks
like the others. → Diagram Style
Nothing runs these. The .svg is the artefact, it is committed, and it is what
the notes embed. A change to a generator does nothing at all until somebody
runs it. That is on purpose, because a picture is reviewed by looking at it.
Two of the four carry copies of the rules. make_hair_channels_svg.py holds
mesh.hairCards.assignments (what R, G, B and A each mean), and its
top-right line holds the attribute, domain, dataType and space from
mesh.hairCards.settings. make_hair_atlas_svg.py holds texture.hairAtlas:
strips across U, cards along V, and the root at V = 1, which is the
one part of the convention a picture can state backwards without looking wrong.
If those change, these diagrams are stale and nothing will say so. Check
them against Asset Rules (Generated) > hairCards and
Asset Rules (Generated) > hairAtlas before believing them.
The other two copy nothing. The V values on hair-card-anatomy.svg are an
example of a long card and a short one, not a measurement of any asset.
Every word drawn on all four is a word in the lexicon (Card, Clump,
Scalp, Tip), because a picture that labels the scalp end Root teaches the
one mistake the vocabulary exists to stop.
→ Asset Rules (Generated) > Hair