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>
153 lines
3.9 KiB
Plaintext
153 lines
3.9 KiB
Plaintext
# Knowledge Confidence State Machine — D-041
|
|
# 4-level confidence hierarchy with state tracking and decay.
|
|
# Maps to dialogue trust tiers (D-075) and fog recognition (D-059).
|
|
|
|
vars: {
|
|
color-bg: "#2a3040"
|
|
color-stroke: "#333340"
|
|
color-text: "#c8d0e0"
|
|
color-accent: "#c8d8f0"
|
|
color-dim: "#1a1e24"
|
|
}
|
|
|
|
none: No Knowledge\n(entity unknown) {
|
|
shape: oval
|
|
style.fill: ${color-dim}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
}
|
|
|
|
suspects: Suspects\n"something off" {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
}
|
|
|
|
knows_of: KnowsOf\n"X is involved in Y" {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
}
|
|
|
|
knows_details: KnowsDetails\n"actionable detail" {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-accent}
|
|
style.font-color: ${color-text}
|
|
}
|
|
|
|
direct: Direct\n"currently in LOS" {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-accent}
|
|
style.font-color: ${color-text}
|
|
style.bold: true
|
|
}
|
|
|
|
dialogue_gates: Dialogue Trust Gate (D-075) {
|
|
style.fill: ${color-dim}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
|
|
surface: Surface tier\n(any confidence) {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
}
|
|
real: Real tier\n(KnowsOf+ AND Friendly/Known) {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
}
|
|
secret: Secret tier\n(KnowsDetails+ AND Friendly) {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-accent}
|
|
style.font-color: ${color-text}
|
|
}
|
|
}
|
|
|
|
fog_gate: Fog Recognition (D-059) {
|
|
style.fill: ${color-dim}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
|
|
recognized: Recognized entity\n(D-033 color + silhouette) {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-accent}
|
|
style.font-color: ${color-text}
|
|
}
|
|
unrecognized: Grey blob\n(no identity) {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
}
|
|
}
|
|
|
|
knowledge_states: KnowledgeState {
|
|
shape: package
|
|
style.fill: ${color-dim}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
|
|
active: Active (Sprint 2) {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-accent}
|
|
style.font-color: ${color-text}
|
|
}
|
|
contradicted: Contradicted (Sprint 3+)\nToldBy conflicts DirectObservation {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
style.stroke-dash: 4
|
|
}
|
|
stale: Stale (Sprint 3+)\naged past DecayThreshold {
|
|
style.fill: ${color-bg}
|
|
style.stroke: ${color-stroke}
|
|
style.font-color: ${color-text}
|
|
style.stroke-dash: 4
|
|
}
|
|
}
|
|
|
|
none -> suspects: "observe anomaly\nor receive tip" {
|
|
style.stroke: ${color-stroke}
|
|
}
|
|
suspects -> knows_of: "further observation\nor testimony" {
|
|
style.stroke: ${color-stroke}
|
|
}
|
|
knows_of -> knows_details: "direct evidence\nor confrontation" {
|
|
style.stroke: ${color-accent}
|
|
}
|
|
knows_details -> direct: "enter LOS" {
|
|
style.stroke: ${color-accent}
|
|
}
|
|
direct -> knows_details: "exit LOS" {
|
|
style.stroke: ${color-stroke}
|
|
style.stroke-dash: 4
|
|
}
|
|
|
|
# Decay path (D-041: once per game-minute)
|
|
knows_details -> knows_of: "decay\n(last_observed_tick age)" {
|
|
style.stroke: ${color-stroke}
|
|
style.stroke-dash: 4
|
|
}
|
|
knows_of -> suspects: "decay" {
|
|
style.stroke: ${color-stroke}
|
|
style.stroke-dash: 4
|
|
}
|
|
|
|
suspects -> dialogue_gates.surface
|
|
knows_of -> dialogue_gates.real
|
|
knows_details -> dialogue_gates.secret
|
|
|
|
suspects -> fog_gate.unrecognized
|
|
knows_of -> fog_gate.recognized
|
|
knows_details -> fog_gate.recognized
|
|
|
|
knows_details -> knowledge_states.contradicted: "ToldBy vs DirectObservation\n(Sprint 3+)" {
|
|
style.stroke: ${color-stroke}
|
|
style.stroke-dash: 4
|
|
}
|
|
knows_of -> knowledge_states.stale: "decay (Sprint 3+)" {
|
|
style.stroke: ${color-stroke}
|
|
style.stroke-dash: 4
|
|
}
|
|
none -> knowledge_states.active
|