Initial commit: Theriapolis baseline at port/godot branch point
Captures the pre-Godot-port state of the codebase. This is the rollback anchor for the Godot port (M0 of theriapolis-rpg-implementation-plan-godot-port.md). All Phase 0 through Phase 6.5 work is included; Phase 7 is in flight. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
/* Clade & class sigils — simple geometric heraldic glyphs (not figurative). */
|
||||
|
||||
const Sigil = ({ id, size = 30 }) => {
|
||||
const s = size;
|
||||
const stroke = "currentColor";
|
||||
const sw = 1.4;
|
||||
const common = { width: s, height: s, viewBox: "0 0 32 32", fill: "none", stroke, strokeWidth: sw, strokeLinecap: "round", strokeLinejoin: "round" };
|
||||
switch (id) {
|
||||
case "canidae": // pack triangle (three points)
|
||||
return <svg {...common}><path d="M16 5 L27 26 L5 26 Z" /><circle cx="16" cy="18" r="2.2" /><path d="M11 21 L8 26 M21 21 L24 26" /></svg>;
|
||||
case "felidae": // crescent + claw
|
||||
return <svg {...common}><path d="M22 6 a10 10 0 1 0 4 14 a8 8 0 1 1 -4 -14 Z" /><path d="M9 22 L13 18 M13 22 L16 19" /></svg>;
|
||||
case "mustelidae": // sinuous "S"
|
||||
return <svg {...common}><path d="M8 7 q6 0 6 6 t6 6 q6 0 6 6" /><circle cx="6" cy="7" r="1.2" fill={stroke} /><circle cx="26" cy="25" r="1.2" fill={stroke} /></svg>;
|
||||
case "ursidae": // heavy paw
|
||||
return <svg {...common}><circle cx="16" cy="20" r="6" /><circle cx="9" cy="13" r="2.2" /><circle cx="16" cy="9" r="2.2" /><circle cx="23" cy="13" r="2.2" /></svg>;
|
||||
case "cervidae": // antler crown
|
||||
return <svg {...common}><path d="M16 28 V16" /><path d="M16 16 L9 9 M9 9 L6 11 M9 9 L9 5" /><path d="M16 16 L23 9 M23 9 L26 11 M23 9 L23 5" /><path d="M16 16 L13 12 M16 16 L19 12" /></svg>;
|
||||
case "bovidae": // horns
|
||||
return <svg {...common}><path d="M16 22 V14" /><path d="M16 14 q-8 -2 -10 -8 q4 0 7 4 q1 2 3 4" /><path d="M16 14 q8 -2 10 -8 q-4 0 -7 4 q-1 2 -3 4" /><circle cx="16" cy="24" r="3" /></svg>;
|
||||
case "leporidae": // long ears
|
||||
return <svg {...common}><ellipse cx="12" cy="10" rx="2" ry="6" /><ellipse cx="20" cy="10" rx="2" ry="6" /><circle cx="16" cy="22" r="5" /><circle cx="14" cy="21" r="0.6" fill={stroke} /><circle cx="18" cy="21" r="0.6" fill={stroke} /></svg>;
|
||||
default:
|
||||
return <svg {...common}><circle cx="16" cy="16" r="9" /></svg>;
|
||||
}
|
||||
};
|
||||
|
||||
window.Sigil = Sigil;
|
||||
Reference in New Issue
Block a user