Files
settled-reach/server/data/templates/logistics-hub.yaml
T
jpmschweitzerandClaude Opus 4.6 6f39df884c feat(simulation): tier 2 template definition format — FullTemplateDef with tests (#159)
Add FullTemplateDef integration tests: round-trip YAML serialization,
space spec validation, routine schedule, sightline zones, dialogue pool
refs, cross-template link specs, and logistics-hub template fixture.
Tests cover the full social site template document structure per D-023,
D-024, D-025, D-028.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 17:46:37 +01:00

197 lines
5.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Sova Station Logistics Hub — Tier 2 social site template (#159).
#
# Spec refs: D-023 (three-tier content model), D-024 (10-axis NPC model),
# D-025 (social site as atomic template unit), D-028 (dialogue pools),
# D-087 (v0.1 triangle configuration), D-089 (self-contained forks)
#
# Tile scale (D-066): tile_count_* are SIM tiles (0.5m each).
# 15–40 visual tiles (D-025) = 30–80 sim tiles.
#
# triangle_id values are authoring placeholders (0).
# The instantiation engine overwrites them with
# TriangleId::from_seed_and_roles(world_seed, &roles) at runtime.
slug: "logistics-hub"
display_name: "Sova Station Logistics Hub"
description: >
The terminal's operational core — cargo processing, documentation,
and the informal relationships that keep goods moving off-manifest.
A functional cluster of four NPCs controlling access to the station's
primary freight throughput.
roles:
- role_id: "logistics-manager"
required_traits:
- Bold
- Cautious
skill_focus:
- Persuasion
- Observation
relationship_constraints:
- with_role: "dock-worker"
kind: Superior
required_trust:
min: 0
max: 5
- with_role: "ring-contact"
kind: Colleague
required_trust:
min: -5
max: 2
- with_role: "security-guard"
kind: Superior
required_trust:
min: 1
max: 5
routine_template:
- phase: morning
location: "terminal-office"
activity: "documentation-review"
- phase: afternoon
location: "terminal-cargo-bay"
activity: "cargo-inspection"
- phase: evening
location: "terminal-office"
activity: "end-of-day-reports"
- role_id: "dock-worker"
required_traits:
- Honest
- Social
skill_focus:
- Technical
- Observation
relationship_constraints:
- with_role: "logistics-manager"
kind: Subordinate
required_trust:
min: -2
max: 4
- with_role: "ring-contact"
kind: Colleague
required_trust:
min: -4
max: 0
routine_template:
- phase: morning
location: "terminal-cargo-bay"
activity: "freight-handling"
- phase: afternoon
location: "terminal-cargo-bay"
activity: "freight-handling"
- phase: evening
location: "bar-last-shift"
- role_id: "ring-contact"
required_traits:
- Deceptive
- Social
skill_focus:
- Stealth
- Persuasion
relationship_constraints:
- with_role: "logistics-manager"
kind: Colleague
required_trust:
min: -5
max: 2
- with_role: "dock-worker"
kind: Colleague
required_trust:
min: -4
max: 0
routine_template:
- phase: morning
location: "terminal-cargo-bay"
activity: "oversight"
- phase: afternoon
location: "maintenance-corridor"
- phase: evening
location: "bar-last-shift"
- role_id: "security-guard"
required_traits:
- Cautious
- Honest
skill_focus:
- Combat
- Observation
relationship_constraints:
- with_role: "logistics-manager"
kind: Subordinate
required_trust:
min: 1
max: 5
routine_template:
- phase: morning
location: "terminal-entrance"
activity: "access-control"
- phase: afternoon
location: "terminal-cargo-bay"
activity: "patrol"
- phase: evening
location: "terminal-entrance"
activity: "access-control"
space:
tile_count_min: 30
tile_count_max: 80
sightline_zones:
- name: "loading-floor"
radius: 8 # 4m clear sightline across the loading area
- name: "reception-desk"
radius: 4 # 2m clear sightline at the desk
- name: "cargo-staging"
radius: 6 # 3m clear sightline in staging area
privacy_level: SemiPrivate
traffic_pattern: Destination
triangles:
- triangle_id: 0
roles:
- "ring-contact"
- "dock-worker"
- "logistics-manager"
conflict_type: ResourceCompetition
interest_axes:
- Want
- Secret
- Relationships
relationship_constraints:
- with_role: "dock-worker"
kind: Subordinate
required_trust:
min: -2
max: 2
- triangle_id: 0
roles:
- "logistics-manager"
- "security-guard"
- "ring-contact"
conflict_type: AuthorityChallenge
interest_axes:
- Relationships
- Tolerance
- Secret
dialogue_pools:
- location: "the-terminal"
roles:
- "logistics-manager"
- "dock-worker"
- "ring-contact"
- "security-guard"
- location: "terminal-cargo-bay"
roles:
- "dock-worker"
- "ring-contact"
cross_template_links:
- from_role: "dock-worker"
to_template_slug: "last-shift-bar"
relationship: Colleague
- from_role: "ring-contact"
to_template_slug: "last-shift-bar"
relationship: Colleague