Clarify character-local dialogue projection

This commit is contained in:
Meta Vens 2026-05-01 18:40:54 +01:00
commit 884da043aa
4 changed files with 57 additions and 1 deletions

View file

@ -19,6 +19,36 @@ characters, factions, pressures, memories, masks, and conflict arcs in explicit
state, then project that state into usable scenes, dialogue beats, outlines,
and dramatic complications.
## Why This Helps Dialogue
Ghostlight should not ask one LLM prompt to "write good character drama" from
vibes. That path produces clever paste: fluent, energetic, and usually a little
dead behind the eyes.
The useful split is:
- Ghostlight builds the drama, narrative pressure, scene setup, and state.
- The dialogue renderer gives each character a constrained local context.
- The character speaks from who they are, what they have endured, what they
want, what they are feeling, what they are hiding, and how they perceive the
person in front of them.
That means dialogue prompts should be character-local rather than omniscient.
They should include only the state that character plausibly has access to:
- identity and role
- current mood and pressure
- relevant memories
- active goals
- relationship stance toward the listener
- perceived stakes
- cultural or factional scripts
- mask, concealment, or presentation strategy
This lets characters breathe and act inside the scene instead of serving as
mouthpieces for a single plot-generating agent. The agent can shape the drama.
The character projection should preserve subjectivity.
## Primary Use: Call Of The Void Content
Call of the Void should be treated as the first consumer context for Ghostlight,
@ -95,6 +125,8 @@ The first useful organs are:
6. drama beat generator driven by goals, values, pressure, and memory
7. dialogue scaffold renderer that preserves stance, mask, and relationship
asymmetry
8. character-local dialogue context packs that restrict each generated voice to
what that character knows, feels, wants, fears, and perceives
The output should be inspectable. The author should be able to see why the
machine thinks a character would deflect, confess, threaten, soften, bargain,
@ -118,6 +150,7 @@ organs can come later if they earn the trouble.
The first implementation is useful if it can:
- keep character state distinct from prompt prose
- render dialogue from character-local context rather than global plot vibes
- generate dialogue scaffolds that reflect relationship history
- create procedural drama from incompatible goals instead of random hostility
- preserve cultural and factional pressure without making clones

View file

@ -59,6 +59,27 @@ Language, structure, evidence, and salience are the steering surfaces. The repo
exists to keep those surfaces explicit enough that the next waking thing can
resume the pattern instead of faking continuity from vibes.
## Authoring Projection Principle
For content generation, Ghostlight should not treat an LLM as one omniscient
drama goblin asked to write every character from the same cloudy prompt.
The better division of labor is:
- Ghostlight maintains explicit state about characters, relationships,
memories, pressures, goals, masks, culture, and scene stakes.
- A narrative or drama pass can arrange conflicts, reversals, escalation, and
consequences.
- Dialogue generation should then happen through character-local context packs:
what this character knows, feels, wants, remembers, conceals, and believes
about the person in front of them.
That distinction matters because realistic dialogue usually comes from
subjective pressure, not from a summary saying "write dramatic banter here."
Each character needs room to act from their own partial state. The authoring
agent can build the trap. The character projection should decide how the person
inside the trap breathes.
## Compact-Rehydrate-Reorient
Compaction is a real state transition, not a cosmetic cleanup.
@ -79,4 +100,3 @@ After rehydrating, Ghostlight should:
The aim is not immortality cosplay. It is banking the fire enough that the next
waking thing finds coals instead of ash.

View file

@ -3,3 +3,4 @@
{"ts": "2026-05-01T17:24:54+00:00", "type": "migration", "status": "ok", "note": "Migrated Ghostlight-owned research and architecture notes out of VoidBot and into this repo; Ghostlight is now the canonical home for personality, culture, state-projection, and Aetheria persistent-world design notes."}
{"ts": "2026-05-01T17:35:16+00:00", "type": "decision", "status": "rejected", "note": "Rejected the prior corridor-crisis game slice as Ghostlight active direction; current Aetheria consumer target is Call of the Void content generation plus narrated timeline dialogue and procedural drama scaffolding."}
{"ts": "2026-05-01T17:35:57+00:00", "type": "source", "status": "ok", "note": "Imported the scattered Call of the Void Google Doc brainstorm into docs/aetheria/call-of-the-void-brainstorm.md as raw source material; compact canon remains the AetheriaLore Call of the Void design note."}
{"ts": "2026-05-01T17:40:43+00:00", "type": "design", "status": "accepted", "note": "Clarified Ghostlight authoring rationale: the system should build drama and narrative pressure, then render character-local dialogue context packs constrained to what each character knows, feels, wants, remembers, hides, and perceives."}

View file

@ -35,6 +35,7 @@ invariants:
- Listener misread is part of the model, not an error to flatten away.
- Personality must be modeled as layered organization, presentation, and situational activation, not just one bag of labels.
- Authoring outputs must remain explainable in terms of state, relationship, pressure, memory, and goals.
- Dialogue generation should be character-local: each prompt should restrict context to what the speaking character knows, feels, wants, remembers, hides, and perceives.
data_flow:
observe:
@ -70,6 +71,7 @@ accepted_design:
- Synthetic dialogue from known hidden state is a valid bootstrap source for training signal classifiers, but utterances themselves are not ground truth.
- Performance, concealment, and mask maintenance are signal, not just obstruction.
- The near-term Aetheria consumer is authoring support: Call of the Void content generation plus narrated timeline dialogue and procedural drama scaffolding.
- Ghostlight should build drama and narrative pressure, then project character-local dialogue contexts so characters can breathe and act from their own partial state.
current_status:
summary: Ghostlight has the Epiphany-style persistence spine and the first architecture payload for personality structure, signal classification, prompt projection, population scale, and Aetheria authoring support. It still has no runtime organs. The first Aetheria consumer target is Call of the Void content generation plus narrated timeline dialogue and procedural drama scaffolding.