docs(runicnpc): stage 2's design, D232–D238 #301

Merged
whitlocktech merged 1 commits from docs/runicnpc-stage2-decisions into main 2026-09-30 04:41:07 +00:00
Member

What

This PR records the org lead's answers to stage 2's open questions, asked on 2026-09-30, in runicnpc/PLAN.md §0. It rewrites stages 2 and 3 around them, and adds the profile's data-file shape to §2.

# Decision
D232 The swap copies a fixed list of fields, generated from Rust's unmodified assembly by a tools/ script, so Oxide and Carbon copy the same fields. A boot check on Carbon names fields Rust has added.
D233 A roamer moves in one of three ways: wander (our own, within a radius), monument (Rust's AI-zone paths), or route:<name> (points an admin records). The profile sets the default, wander, and each placement may override it.
D234 Routes are walked from stage 2 (the harness writes the points) and recorded from stage 3 (/rnpc path record). Stage 5 adds fighting and resuming the route.
D235 An NPC sleeps when no player is within 160 m, which a profile can change (0 = never). It walks back home before sleeping.
D236 Respawn is chosen per placement: each (the default) or group.
D237 When a profile is deleted, its placements wait ("profile missing") and spawn again if it returns.
D238 The profile's shape, as approved (§2), and the optional caps in the plugin's config.

modules/rust/PLAN_REDESIGNS.md: the pointer now reads D214–D238.

The stage 2 build follows in its own runicnpc-rust PR, with an as-built docs PR.

Checklist

  • AI-assisted: written with Claude Code (Claude Opus 5.5); the commit carries the trailer.

🤖 Generated with Claude Code

https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY

## What This PR records the org lead's answers to stage 2's open questions, asked on 2026-09-30, in `runicnpc/PLAN.md` §0. It rewrites stages 2 and 3 around them, and adds the profile's data-file shape to §2. | # | Decision | |---|---| | **D232** | The swap copies a **fixed list of fields**, generated from Rust's unmodified assembly by a `tools/` script, so Oxide and Carbon copy the same fields. A boot check on Carbon names fields Rust has added. | | **D233** | A roamer moves in one of **three ways**: `wander` (our own, within a radius), `monument` (Rust's AI-zone paths), or `route:<name>` (points an admin records). The profile sets the default, `wander`, and **each placement may override it**. | | **D234** | Routes are **walked from stage 2** (the harness writes the points) and **recorded from stage 3** (`/rnpc path record`). Stage 5 adds fighting and resuming the route. | | **D235** | An NPC **sleeps when no player is within 160 m**, which a profile can change (0 = never). **It walks back home before sleeping.** | | **D236** | Respawn is chosen **per placement**: `each` (the default) or `group`. | | **D237** | When a profile is deleted, **its placements wait** ("profile missing") and spawn again if it returns. | | **D238** | The profile's shape, as approved (§2), and the optional caps in the plugin's config. | `modules/rust/PLAN_REDESIGNS.md`: the pointer now reads D214–D238. The stage 2 build follows in its own runicnpc-rust PR, with an as-built docs PR. ## Checklist - [x] AI-assisted: written with Claude Code (Claude Opus 5.5); the commit carries the trailer. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 1 commit 2026-09-30 04:40:39 +00:00
The org lead answered stage 2's open questions: a fixed field list for the
swap, three movement modes a placement may choose (wander, Rust's monument
paths, admin-recorded routes), sleep past 160 m after walking home, respawn
per placement (each or group), placements that wait for a deleted profile,
and the profile's shape. Stage 2 and 3 are rewritten around them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
whitlocktech merged commit 5c44ce437a into main 2026-09-30 04:41:07 +00:00
whitlocktech deleted branch docs/runicnpc-stage2-decisions 2026-09-30 04:41:08 +00:00
Sign in to join this conversation.
No description provided.