16 d2 diagrams covering architecture (IPC bridge, system tiers, testability, audio bus), data flow (perception, dialogue, eavesdrop pipelines), entity (knowledge graph, NPC generation, dialogue tags), state (simulation tiers, movement stances, knowledge confidence), and UI (HUD layout, interaction flow, fog layers). PNG output for universal viewer compatibility. Removes test SVG from font debugging. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
155 lines
4.0 KiB
Plaintext
155 lines
4.0 KiB
Plaintext
# NPC Generation Model — D-024, D-025
|
||
# 10 axes + combat component. Social site / functional cluster as atomic template unit.
|
||
|
||
vars: {
|
||
color-bg: "#2a3040"
|
||
color-stroke: "#333340"
|
||
color-text: "#c8d0e0"
|
||
color-accent: "#c8d8f0"
|
||
color-dim: "#1a1e24"
|
||
}
|
||
|
||
direction: right
|
||
|
||
npc: NPC (generated) {
|
||
shape: person
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-accent}
|
||
style.font-color: ${color-text}
|
||
}
|
||
|
||
essential: 7 Essential Axes {
|
||
style.fill: ${color-dim}
|
||
style.stroke: ${color-accent}
|
||
style.font-color: ${color-text}
|
||
|
||
want: Want {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
secret: Secret / Vulnerability {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
relationships: Relationships (1-3) {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
tolerance: Tolerance Threshold {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
routine: Daily Routine {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
info_inv: Information Inventory {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
contentment: Contentment {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
}
|
||
|
||
supporting: 3 Supporting Axes {
|
||
style.fill: ${color-dim}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
|
||
personality: Personality Traits (2-3) {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
tell: Tell System {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
skills: Skill Set {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
}
|
||
|
||
combat_comp: CombatCapability\n(optional ECS component) {
|
||
shape: package
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-accent}
|
||
style.font-color: ${color-text}
|
||
style.stroke-dash: 4
|
||
}
|
||
|
||
key_interactions: Key Contradiction Interactions {
|
||
style.fill: ${color-dim}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
|
||
i1: Want × Secret {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
i2: Routine × Secret {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
i3: Tolerance × Relationships {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
i4: Want × Relationships {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
i5: Personality × Tolerance {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
}
|
||
|
||
social_site: Social Site\n(atomic Tier 2 template unit) {
|
||
style.fill: ${color-dim}
|
||
style.stroke: ${color-accent}
|
||
style.font-color: ${color-text}
|
||
|
||
group: Social Group (4-8 NPCs)\n2+ triangles + 1 cross-template triangle {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-accent}
|
||
style.font-color: ${color-text}
|
||
}
|
||
cluster: Functional Cluster\n15-40 tiles, internal sightlines {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
ownership: NPC Ownership\nowned by 1 template, referenced by others {
|
||
style.fill: ${color-bg}
|
||
style.stroke: ${color-stroke}
|
||
style.font-color: ${color-text}
|
||
}
|
||
}
|
||
|
||
npc -> essential: "generated with" { style.stroke: ${color-accent} }
|
||
npc -> supporting: "generated with" { style.stroke: ${color-stroke} }
|
||
supporting.skills -> combat_comp: "combat tag → component" {
|
||
style.stroke: ${color-accent}
|
||
style.stroke-dash: 4
|
||
}
|
||
essential -> key_interactions: "produces" { style.stroke: ${color-stroke} }
|
||
npc -> social_site: "placed in" { style.stroke: ${color-accent} }
|