StaticdescribeStaticlearnThe single identity-learning write-sink. Records that viewer now
knows subject as name (a non-null name from an introduction; a
null name from a bare repeat-perception). Every recognition
trigger funnels through here so they share one coalescing write.
No-ops when viewer can't hold beliefs or subject has no durable
templatePath to key on.
StaticperceivedStaticrecognizesWhether viewer already recognizes subject by a learned name. The
gate the ambient auto-introduce triggers use so an NPC/player doesn't
re-introduce to someone who already knows them. False when the viewer
can't hold beliefs or has no name on record for the subject.
StaticsalientGenerate a salient-feature description for a being the viewer doesn't recognize. Viewer-independent (features are objective; only the name is unknown). Reused by the viewer-relative targeting layer so naming and targeting can't diverge.
Optionalcovered: ReadonlySet<string>
The viewer-aware name for
targetasviewerwould render it. See the class docstring for the algorithm. Always returns a string — the viewer-blind baseline is the universal fallback.vieweris typedStuff(not the narrowerSensor & Perception) so every call site — including the no-narrowingMmlrender path — can pass whatever it has; the perceiver-ness is checked internally.