docs(workshops): Control & Interaction Workshop outputs
Workshop notes (2 rounds), outcomes document (13 decisions, 27 tickets, v0.1 interaction model), and updated brief with final lead direction. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,153 +2,201 @@
|
||||
## How Does the Player Touch the World?
|
||||
|
||||
**Project:** The Settled Reach (D-021)
|
||||
**Date:** 2026-02-12
|
||||
**Date:** 2026-02-13
|
||||
**Called by:** Jeroen
|
||||
**Prerequisite:** Wiki Review workshop established WASD direct control with context-sensitive interaction as unanimous direction.
|
||||
**Participants:** TBD — likely GESTALT, OZZIE, TYRE, STIG, DUDLEY, PAULA, MELLANIE, ARAMINTA
|
||||
**Participants:** Gestalt, Ozzie, Tyre, Stig, Dudley, Paula, Araminta, Nigel
|
||||
|
||||
---
|
||||
|
||||
## Context
|
||||
|
||||
The Wiki Review workshop (2026-02-12) produced unanimous consensus: the player controls their character directly via WASD movement with context-sensitive interaction prompts. The game is not Sims/Rimworld (drafted characters), not point-and-click. The player IS the character. Their body is their attention mechanism.
|
||||
The Wiki Review workshop produced unanimous consensus: the player controls their character directly via WASD movement with context-sensitive interaction prompts. The player IS the character. Their body is their attention mechanism.
|
||||
|
||||
This workshop designs the specifics. The interaction model determines everything downstream: camera, UI, dialogue triggers, NPC approach, environmental interaction, inventory, information access, and the perception modes that are core to the game's asymmetric information design.
|
||||
This workshop designs the specifics of how the player controls the character, interacts with entities and objects, and accesses information through the UI.
|
||||
|
||||
**Design constraints from existing decisions:**
|
||||
**Already decided (do not re-litigate):**
|
||||
- D-005: Single-character perspective
|
||||
- D-013: Diegetic insert (neural implant map/minimap)
|
||||
- D-016: Internal monologue as perception bridge
|
||||
- D-017: Perception modes as character build
|
||||
- D-018: Three-range sound model
|
||||
- D-020: Godot 4 client + Rust/bevy_ecs server
|
||||
- Wiki Review: WASD direct control, context-sensitive interaction, body-as-attention-mechanism
|
||||
- D-013: Diegetic insert (neural implant) as map/information interface
|
||||
- D-015: Camera locked to character, no panning. Rotation deferred to post-v0.1.
|
||||
- D-016: Internal monologue as core perception/atmosphere system
|
||||
- D-017: Perception modes as character build system
|
||||
- D-018: Three-range sound model (close/medium/long)
|
||||
- D-019: Top-down camera at ~15-20° shallow tilt ("the angle"), orthographic, perspective in sprite art
|
||||
- D-028: Dialogue architecture (4-layer: access, history, trust, unprompted)
|
||||
- D-031: Time system (10 ticks/game-minute, 4 day phases, pause available)
|
||||
- D-033: Entity color = relationship to player (palette defined)
|
||||
- D-041: Knowledge graph (confidence hierarchy gates dialogue and monologue)
|
||||
- D-043: Visual style — "functional warmth," clean 2D, bold silhouettes, Light2D-driven atmosphere
|
||||
- D-044: Visual hierarchy — entity (2px) > object (1px) > structure (minimal). Entity always wins.
|
||||
- D-045: Environmental neutrality — strict zero visual shift from narrative state
|
||||
- D-046: Lighting — Darkwood cone + BR2049 color temperature + Hopper composition
|
||||
- D-047: Two-tier animation — clear (public routine) vs ambiguous (private intention)
|
||||
- D-048: Neural insert overlay — geometric data + bloom shader, not affected by fog
|
||||
- D-049: Z-level rendering stack — 8 layers, fog on layer 5, insert on layer 6
|
||||
|
||||
---
|
||||
|
||||
## Layer 1: Movement & Camera
|
||||
## Lead Seed: Current Thinking on Controls
|
||||
|
||||
**How does the character move through space?**
|
||||
The following is Jeroen's initial direction. Workshop participants should use this as a starting point — challenge, refine, or extend, but this is the baseline.
|
||||
|
||||
- **Movement**: WASD (confirmed). But: 8-directional grid? Free movement? Physics-based? Sprint/walk toggle? Sneak mode?
|
||||
- **Camera**: Top-down (confirmed by "top-down immersive sim"). But: fixed angle? Rotatable? Zoom level? How close before you can read a sign? How far before NPCs are silhouettes?
|
||||
- **Collision**: Tile-based? Free-form? Can you squeeze between tables? Block doorways?
|
||||
- **Speed**: Does speed affect perception? Walking slowly = more monologue triggers? Running = less observation?
|
||||
### Movement
|
||||
- **WASD movement**, character stays center-screen, map scrolls.
|
||||
- Movement direction snaps to the **nearest cardinal 8-axis direction** from the input.
|
||||
- **Mouse pointer controls facing direction.** The character looks where the mouse points. This decouples movement from facing — you can strafe sideways while looking at a person of interest.
|
||||
|
||||
**Questions:**
|
||||
1. **Gestalt**: Does movement speed affect information gathering? Should walking vs. running change what you notice?
|
||||
2. **Tyre**: Godot 4 tile-based or free movement? What's the technical recommendation?
|
||||
3. **Ozzie**: What camera distance feels right for "I am this person" vs. "I can see the room"?
|
||||
4. **Araminta**: What visual information density works at the proposed camera distance?
|
||||
### Camera
|
||||
- **Fixed top-down angle** at ~15-20° from vertical ("the angle," D-019 amendment). Orthographic camera with perspective faked in sprite art. Rimworld's approach: sprites drawn as if viewed from a shallow tilt, south-facing front faces visible. 3D render pipeline Camera3D at -72.5° produces this. Vision cone math remains pure 2D.
|
||||
- **Scroll wheel zooms** in/out, but vision cone and fog still apply — zooming out doesn't grant omniscience. You see more floor, but the fog boundaries don't change.
|
||||
- Character remains center-screen at all times (D-015).
|
||||
|
||||
### Mouse & Interaction
|
||||
- **Mouse cursor is context-sensitive.** It changes appearance when hovering over interactable entities (NPCs, objects, terminals, doors).
|
||||
- **Left click** performs the default action on an interactable. When there is exactly one interaction option, the cursor shows the **verb as a tooltip** (e.g., "Talk", "Read", "Open"). When there are multiple options, the tooltip shows **"Interact..."** and left click opens the menu.
|
||||
- **Radial or dropdown menu** for multi-option interactions. Never more than one click away from any action.
|
||||
- **Mouse doubles as targeting reticle** when a weapon is selected — the cursor becomes the aim point.
|
||||
- **Right click** opens a **world interaction menu** — a general-purpose context menu for non-entity actions: observe room, call taxi, open phone (the neural implant interface). This is the entry point to the insert UI, comms, maps, journal, and any lattice-connected tools the character has.
|
||||
|
||||
### Fog & Visibility Layers
|
||||
The map is visible at all times, but **layers of fog encode information quality:**
|
||||
|
||||
1. **Clear (forward vision cone):** Full visibility, no fog. Blocked by walls/obstacles as normal (D-011 shadowcasting).
|
||||
2. **Light fog (peripheral vision):** Reduced clarity. You can see shapes and movement but detail is diminished.
|
||||
3. **Sound pings in fog:** When you hear something in the fog (D-018 medium range), a **visual ping** appears at the fog edge with binaural audio reinforcement. Direction and distance are approximate.
|
||||
4. **Recognized movement in fog:** People you have **previously seen** (knowledge graph entry exists) and can **currently hear moving** appear as visible figures in the gray fog. Their identity is known because you recognize them — the character icon overlays the gray figure to communicate *how* you know they're there.
|
||||
5. **Unrecognized presence:** When you hear someone you haven't identified, a **generic gray blob** appears at an approximate (fuzzy, non-exact) position. Secondary senses tell you something is there, but not who.
|
||||
6. **Augmented senses:** If your character has IR or sensor implants (D-017 perception modes), additional overlays appear in the fog:
|
||||
- **IR/thermal:** A blob in heat-signature colors.
|
||||
- **Sensor sweep:** A stylized digital effect (matrix-style falling characters or similar) indicating a detected presence.
|
||||
- When you **know who that entity is**, their character icon overlays the sensor blob — showing both the detection method and the identification.
|
||||
|
||||
**Lead note:** "I want a clear distinction between active senses and obscured areas, but I don't want it to look boring." The fog should feel alive — not a flat gray overlay but something with depth and atmosphere. Pings, movement, sensor ghosts should make the fog an active information surface, not a dead zone.
|
||||
|
||||
### Map Awareness (Fog of War for Unexplored Areas)
|
||||
What you see in areas you haven't visited depends on your **implant loadout:**
|
||||
|
||||
- **With a maps app (implant):** Building outlines and structural layout are visible in the fog — you can see the shape of corridors, rooms, exits. But **no movable entities** — no characters, vehicles, destructible objects, or anything generated/modified by the story engine. The map data is static infrastructure only.
|
||||
- **Without an implant (or without maps app):** Total fog. Zero information about unexplored areas.
|
||||
- **Physical map (purchased at a shop):** Same as maps app but non-dynamic — shows the map as it was when printed. Doesn't update with story-engine changes.
|
||||
|
||||
This creates a meaningful difference between implant loadouts at the start of the game without gating core gameplay.
|
||||
|
||||
---
|
||||
|
||||
## Layer 2: Context-Sensitive Interaction
|
||||
## Layer 1: Movement & Interaction Details
|
||||
|
||||
**What happens when you approach something?**
|
||||
The lead's seed covers the broad strokes. The workshop should resolve these remaining specifics:
|
||||
|
||||
The Wiki Review poll referenced Disco Elysium interaction and Hotline Miami movement. The key design question: how do interaction prompts appear, and how does the player select from options?
|
||||
### Movement
|
||||
- **Sprint/walk/sneak toggle?** Does speed affect perception? Walking slowly = more monologue triggers, more observation? Running = reduced vision cone, less detail noticed? Sneaking = slower but quieter (D-018 sound model — you generate less noise)?
|
||||
- **Collision model:** Tile-based movement (snap to grid) or free movement with tile-based collision? Can you squeeze between furniture? Block doorways?
|
||||
|
||||
- **Proximity trigger**: How close before options appear? Line-of-sight required?
|
||||
- **Prompt style**: Single action prompt (changes based on context)? Radial menu? List? Paula suggested single-action prompts that change based on proximity + relationship + knowledge.
|
||||
- **NPC interaction**: Walk up to NPC → what appears? "Talk"? Multiple options (talk, observe, confront)? Does relationship state change the options?
|
||||
- **Object interaction**: Examine, use, take? How do you read a manifest on a desk vs. pick up a crate?
|
||||
- **Environmental interaction**: Doors, terminals, cargo containers, signs — each different?
|
||||
- **Eavesdropping**: Can you hear NPCs talking without direct interaction? How does proximity affect this?
|
||||
### Interaction
|
||||
- **Proximity threshold:** How close before the cursor changes and interaction becomes available? Line-of-sight required, or can you interact through a doorway?
|
||||
- **Eavesdropping:** Is overhearing NPC conversations purely passive (D-018 medium range triggers monologue), or can you actively position yourself to listen? Is there a "lean in" or "listen" action?
|
||||
- **NPC interaction options:** What's the option set? Does it vary by relationship state and knowledge level (D-041 confidence tiers)?
|
||||
- Unknown NPC: "Observe" / "Talk"
|
||||
- Known NPC (KnowsOf+): "Talk" / "Observe" / additional context-sensitive options
|
||||
- KnowsDetails+: "Confront" appears as an option
|
||||
- **Object interaction set:** Examine, use, take — or is it purely contextual? How does reading a manifest differ from picking up a crate?
|
||||
|
||||
**Questions:**
|
||||
1. **Gestalt**: How many interaction options per NPC at once? Does complexity vary by relationship state?
|
||||
2. **Paula**: How does dialogue initiation work? Player approaches NPC → what's the UX to the first line of dialogue?
|
||||
3. **Stig**: What UI patterns support context-sensitive prompts without cluttering the screen?
|
||||
4. **Dudley**: How does the server determine what interaction options are available based on entity state?
|
||||
**Questions for participants:**
|
||||
1. **Gestalt**: Does movement speed mechanically affect information gathering? Is this fun or just punishing?
|
||||
2. **Tyre**: Tile-based vs free movement in Godot 4 — technical recommendation for v0.1?
|
||||
3. **Stig**: What UI pattern for the context-sensitive cursor + tooltip/menu? Reference implementations?
|
||||
4. **Dudley**: How does the server compute available interaction options per entity per tick?
|
||||
5. **Ozzie**: Does the cursor-as-reticle / cursor-as-interaction-prompt duality feel natural or jarring?
|
||||
6. **Araminta**: What does the context-sensitive cursor look like across states (default, interactable hover, weapon aim)?
|
||||
|
||||
---
|
||||
|
||||
## Layer 3: Information & Perception
|
||||
## Layer 2: Fog & Perception UX
|
||||
|
||||
**How does the player ACCESS information vs. RECEIVE information?**
|
||||
D-016, D-017, D-018 define WHAT information reaches the player. This layer is about HOW it's presented.
|
||||
|
||||
The game has two information channels:
|
||||
1. **Active**: Player chooses to look, examine, query the lattice, read something
|
||||
2. **Passive**: Monologue fires based on observation triggers, overheard conversations, environmental tells
|
||||
### Open Questions
|
||||
- **Fog rendering:** The lead wants fog that feels alive, not flat. What visual treatment makes the obscured areas atmospheric without obscuring gameplay information? Particle effects? Animated noise? Depth layers?
|
||||
- **Sound ping visualization:** What does a medium-range sound ping look like at the fog edge? Ripple? Directional arrow? Glow pulse? How does it interact with binaural audio?
|
||||
- **Sensor overlay aesthetics:** IR blobs, digital sensor sweeps, recognized-entity icon overlays — how do these layer without becoming visual noise? How many simultaneous perception modes can be active before the screen becomes unreadable?
|
||||
- **Identity overlay on fog entities:** When you recognize a heard/sensed entity, their icon appears over the blob. What does this transition look like? Instant? Fade-in? Does it feel like a moment of recognition?
|
||||
|
||||
- **Lattice queries**: How do you look up an NPC via the neural lattice? A UI panel? A diegetic device? Walk up and "scan"?
|
||||
- **Monologue delivery**: Text overlay? Speech bubble? Dedicated UI area? How does it not compete with dialogue?
|
||||
- **Tell observation**: Player walks past NPC with a behavioral tell — how is it surfaced? Monologue? Visual indicator? Both?
|
||||
- **Knowledge journal**: How do you review what you know? Diegetic (the implant's records)? Pause menu?
|
||||
|
||||
**Questions:**
|
||||
1. **Gestalt**: Where's the line between "the game tells you" (monologue) and "you have to look" (active observation)?
|
||||
2. **Ozzie**: When does information delivery feel immersive vs. intrusive?
|
||||
3. **Tyre**: How does the knowledge graph surface in the UI without becoming a database viewer?
|
||||
4. **Mellanie**: How much monologue can appear before the player stops reading?
|
||||
**Questions for participants:**
|
||||
1. **Araminta**: Visual treatment for the fog layers (clear → light fog → deep fog → unexplored). How do we make fog atmospheric, not boring?
|
||||
2. **Gestalt**: How many simultaneous perception overlays before it stops being a build system and starts being sensory overload?
|
||||
3. **Ozzie**: What makes the "I hear someone I know moving in the fog" moment feel cool rather than routine?
|
||||
4. **Tyre**: Performance implications of layered fog with animated overlays, sensor effects, and entity ghosts in Godot 4?
|
||||
|
||||
---
|
||||
|
||||
## Layer 4: Dialogue & Conversation
|
||||
## Layer 3: Information Access & the Implant UI
|
||||
|
||||
**How do conversations work mechanically?**
|
||||
D-013 defines the insert as diegetic. The right-click world menu is the entry point. What's behind it?
|
||||
|
||||
- **Initiation**: Player walks up, presses interact. Then what? Dialogue box? In-world text? Camera zoom?
|
||||
- **Response selection**: Menu of options? Single-branch with trust-gated variations? How does the 4-layer dialogue system (access, history, trust, unprompted) translate to player-facing UX?
|
||||
- **Conversation persistence**: Can you walk away mid-conversation? Resume later? Does the NPC react?
|
||||
- **Dual-lens integration**: Same NPC, different options per character. How does the UI show what's available vs. locked?
|
||||
- **Confrontation**: How does "I know you're involved" differ from casual conversation in the UX?
|
||||
### Open Questions
|
||||
- **Right-click menu scope:** What actions live in the world menu? Observe room, call taxi, open phone — what else? Is this the pause menu equivalent?
|
||||
- **Phone/implant UI:** What does "open phone" look like? Full-screen overlay? Corner panel? Does the game pause or continue while you're in the implant UI?
|
||||
- **Knowledge journal:** How do you review what you know? Diegetic (implant records)? Is it organized by person, by topic, by timeline?
|
||||
- **Maps app UX:** How does the implant map interact with the game world? Overlay on the main view? Separate panel? Minimap always visible or on-demand?
|
||||
- **Active vs passive information:** The game pushes information via monologue (passive). The player pulls information via the implant (active). Where's the line? Can you "scan" an NPC for lattice data, or do you have to talk to them?
|
||||
|
||||
**Questions:**
|
||||
1. **Paula**: What does the confrontation UX look like vs. casual conversation? Should the player feel the tension mechanically?
|
||||
2. **Mellanie**: How does monologue fire DURING dialogue? (Character reacts to what the NPC said)
|
||||
3. **Stig**: Dialogue box design — full screen? Corner overlay? In-world?
|
||||
4. **Gestalt**: How do trust-gated options appear (or not appear) without revealing the gating system?
|
||||
**Questions for participants:**
|
||||
1. **Gestalt**: What information should the player actively seek vs. what should the game push? Where's the sweet spot for detective work?
|
||||
2. **Stig**: Right-click world menu implementation — radial? List? Nested? What fits the diegetic framing?
|
||||
3. **Tyre**: Does the game pause when the implant UI is open? What are the multiplayer implications (D-009)?
|
||||
4. **Ozzie**: When does information access feel like detective work vs. menu navigation?
|
||||
|
||||
---
|
||||
|
||||
## Layer 5: Environmental Interaction & Inventory
|
||||
## Layer 4: Dialogue Initiation & Confrontation UX
|
||||
|
||||
**What can you touch, carry, and use?**
|
||||
D-028 defines the dialogue architecture (4 layers: access, history, trust, unprompted). This layer is about the player-facing UX — what the player sees and does, not the underlying system.
|
||||
|
||||
- **Inventory**: Does the character have inventory? Pockets? A bag? Or is everything contextual (use the terminal, read the manifest, you don't carry things)?
|
||||
- **Evidence**: How does the detective collect evidence? Take a photo? Log it in the lattice? Pick it up?
|
||||
- **Contraband**: How does the smuggler interact with cargo? Physical handling? Abstract management?
|
||||
- **Keys/access**: Physical keys? Access codes? Lattice authorization levels? How does restricted access feel in the UX?
|
||||
### Open Questions
|
||||
- **Initiation flow:** Player walks up to NPC, cursor shows "Talk", clicks. Then what? Dialogue box appears? Where? How does the transition feel?
|
||||
- **Response selection:** Does the player see a list of topics/questions? Single-branch with the system selecting which lines are available? Or explicit choice from visible options?
|
||||
- **Gated options visibility:** Do locked dialogue options show as grayed-out (player knows they're missing something) or are they invisible (player doesn't know what they don't know)? The latter fits the information asymmetry design better.
|
||||
- **Confrontation feel:** "I know you were in corridor B-7" should feel different from "How's your shift going?" How does the UI communicate tension without a separate confrontation system?
|
||||
- **Walk-away:** Can you leave mid-conversation? What's the NPC reaction? Can you resume?
|
||||
- **Mid-dialogue monologue:** Character reacts internally to what the NPC says (D-016). How does monologue text appear during a dialogue exchange without competing?
|
||||
|
||||
**Questions:**
|
||||
1. **Gestalt**: How physical is the interaction model? Carry objects? Or is everything knowledge-based (you SAW the manifest, you don't HAVE the manifest)?
|
||||
2. **Tyre**: What's feasible for v0.1 inventory? Full system or knowledge-only?
|
||||
3. **Nigel**: Does inventory variation matter for replayability, or is knowledge-based sufficient?
|
||||
**Questions for participants:**
|
||||
1. **Paula**: How should confrontation feel different from casual conversation in the UX?
|
||||
2. **Stig**: Dialogue box design — where on screen, how much space, how does it coexist with the game world?
|
||||
3. **Gestalt**: Should locked options be invisible or visibly locked? What serves the "asymmetric information" feel?
|
||||
4. **Ozzie**: What makes dialogue initiation feel natural — like walking up to someone — rather than "pressing the talk button"?
|
||||
|
||||
---
|
||||
|
||||
## Layer 6: Time & Routine
|
||||
## Layer 5: Inventory & Physical Interaction
|
||||
|
||||
**How does time pass and how does the player relate to schedules?**
|
||||
### Open Questions
|
||||
- **Inventory existence:** Does the character carry items, or is everything knowledge-based? "You SAW the manifest" vs "you HAVE the manifest" — which model fits the game?
|
||||
- **Evidence collection:** Detective logs evidence in the lattice? Takes photos? Or just observes and the knowledge graph records it?
|
||||
- **Contraband handling:** Smuggler interacts with cargo physically (move crates, hide packages) or abstractly (manage shipments via terminal)?
|
||||
- **Access systems:** Physical keys, access codes, lattice authorization — how does restricted access feel? Does the smuggler pick locks while the detective flashes credentials?
|
||||
|
||||
- **Time control**: Real-time? Acceleratable? Pause-to-think? Day/night cycle?
|
||||
- **Routine awareness**: Can you see NPC schedules? Predict where someone will be? Or do you learn through observation?
|
||||
- **Waiting**: Can you wait/skip time? Stand outside someone's shift and wait for them?
|
||||
- **Urgency**: Is there time pressure? Can you miss events? Or is the world patient?
|
||||
|
||||
**Questions:**
|
||||
1. **Gestalt**: Does time pressure create interesting decisions or just stress?
|
||||
2. **Ozzie**: What pacing feels right for "quotidian with undertow"?
|
||||
3. **Dudley**: How does the tick-based simulation map to player-perceived time?
|
||||
**Questions for participants:**
|
||||
1. **Gestalt**: How physical should the interaction model be? Does carrying items create interesting decisions?
|
||||
2. **Tyre**: What's feasible for v0.1? Full inventory or knowledge-only with physical interaction deferred?
|
||||
3. **Paula**: How does evidence collection differ by character? Does the smuggler's version of "evidence" (leverage, receipts, debts) feel different from the detective's?
|
||||
|
||||
---
|
||||
|
||||
## Workshop Format
|
||||
|
||||
**2-3 rounds.**
|
||||
**2 rounds.**
|
||||
|
||||
**Round 1**: Layer-by-layer proposals. Each participant addresses their domain questions with concrete UX descriptions.
|
||||
**Round 1**: Each participant addresses their domain questions with concrete UX proposals. React to the lead's seed — validate, challenge, or extend. Describe interactions as "the player does X, they see Y, it feels like Z."
|
||||
|
||||
**Round 2**: Integration — how do the layers interact? Movement affects perception, perception affects dialogue options, dialogue affects knowledge, knowledge affects interaction prompts.
|
||||
|
||||
**Round 3 (if needed)**: V0.1 minimum viable interaction model — what ships first?
|
||||
**Round 2**: Integration pass — how do the layers interact? Movement affects perception, perception feeds interaction options, interaction feeds knowledge, knowledge changes available interactions. Identify the v0.1 minimum viable interaction model.
|
||||
|
||||
## Expected Outputs
|
||||
|
||||
- **Interaction model spec**: Complete description of how the player touches the world
|
||||
- **UI wireframe direction**: Enough for Stig/Araminta to begin prototyping
|
||||
- **Perception UX spec**: How information flows to the player through the interaction model
|
||||
- **V0.1 scope**: Minimum viable interaction for the vertical slice
|
||||
- **Tickets**: New implementation tickets for the interaction model
|
||||
- **Control scheme spec**: Complete mapping of inputs to actions (keyboard, mouse, gamepad if applicable)
|
||||
- **Interaction model spec**: How context-sensitive prompts work, what options appear when
|
||||
- **Fog/perception UX spec**: Visual treatment for fog layers, sensor overlays, entity recognition in fog
|
||||
- **Implant UI direction**: What lives behind the right-click menu, how it's organized
|
||||
- **Dialogue UX spec**: Initiation flow, response selection, confrontation feel
|
||||
- **V0.1 scope**: Minimum viable interaction set for the vertical slice
|
||||
- **Tickets**: Implementation tickets for the interaction/UI systems
|
||||
|
||||
Reference in New Issue
Block a user