Skip to main content

Activity Catalog

Grounded activity families already implied by the current Valenar docs and the committed Generated set.

This page uses activity as the live behavior noun throughout. Higher-level plans are composed approaches above activities; they are not SECS keywords and they do not replace the activity or policy vocabulary. "Routine Activity" and "Composite Activity" are planning-layer readback labels only — see ../systems/gd-objectives-clues-missions.md.

Most early play uses short atomic activities. Later repeated patterns can surface as reusable plans, but this page does not define a second runtime layer or a large named planning catalog.

Catalog as Activity Detail Opener

The Activity Catalog is one of the canonical openers for the shared Activity Detail inspector defined in ../ux/gd-shell-screen-model.md § Activity Detail. In the Activities panel, selecting a catalog row opens Activity Detail with:

  • source surface: 'catalog'
  • the activity def id of the selected row

Activity Detail surfaces description, duration, costs and rewards, the effect-plan preview when available, and a Queue button. The Activities panel exposes three catalog filter modes: here limits the catalog to activities available at the current location; reachable extends to neighbours; all shows the full catalog. Opening Activity Detail from all does not imply the activity is currently available — the Queue button is disabled when the server availability snapshot indicates the activity cannot start, and the client surfaces the blocked-reason chip when one is known (client-derived today; server-confirmed blocked reason is Wave B-owned, pending sync).

This page does not lock backend DTO field names — those are Wave B-owned, pending sync.

Committed Activity Families

The activity names below are committed entries in examples/valenar/Generated/Hashes.cs with matching .secs source files under examples/valenar/Content/activities/. Wire-id strings for activities being renamed in Wave B (notably ScoutApproach) are labeled Wave B-owned, pending sync.

Early Survival And Exploration

  • ForageForest — gather wild food from the forest floor (food yield)
  • ForageFoodPatch — forage from a scouted foraging ground (food yield)
  • SurveyFoodSigns — read signs of game and forage in the area
  • Forage — generic early-game gather activity
  • HuntGame — pursue a single game animal
  • HuntForestTracks — follow animal tracks for a hunt lead
  • GatherBranches — collect fuel from forest-floor debris
  • ChopWood — cut and split timber
  • RestAtCamp — rest and recover stamina at an active camp
  • MakeCamp — establish a temporary camp at the current location
  • RepairEquipment — field-repair damaged gear

Exploration And Survey

  • ScoutApproach — scout the approach lines for a territory (wire id Wave B-owned, pending sync after the rename from the legacy lead identifier)
  • ScoutArea — broad survey of the surrounding area for threats and features
  • SurveyLand — deeper survey of a Territory's terrain and resources
  • SurveyForest — survey a forest stand for timber, game, and shelter
  • InvestigateRuin — enter and examine a ruin's surface structure
  • ClearRubble — clear debris from a ruin interior for deeper access
  • StudyMarkings — study inscriptions and markings found in a ruin

Water Lead Chain

  • ListenForWater — listen for water-sound signs (first step in the water lead chain)
  • FollowWaterSound — follow a water sound to its source
  • SurveyWaterSource — survey a found water source for reliability

The water lead chain is the canonical recursive Activity Detail illustration: opening Activity Detail for a running ListenForWater exposes a child-run drill-in to FollowWaterSound, and from there to SurveyWaterSource, using the parent-run / child-run reference fields the activity run snapshot exposes (Wave B-owned, pending sync). See ../ux/gd-shell-screen-model.md § Activity Detail for the recursive drill-stack semantics.

Threat And Corruption Observation

  • TraceHum — trace a mysterious hum across the area
  • InspectBlackAsh — examine black-ash deposits for corruption signs
  • WatchAshPatch — watch an ash patch for active corruption presence

Mineral Work

  • InspectOutcrop — examine a mineral outcrop surface
  • SurveyDeposit — survey a confirmed mineral deposit for quality and depth

Training

  • TrainSwordsmanship — practice swordsmanship technique
  • ArcheryDrills — practice archery discipline
  • EnduranceDrill — build physical endurance through conditioning
  • WeaponsmithPractice — practice weapons crafting at a forge or camp anvil

Settlement

  • RecruitGarrison — recruit and train garrison soldiers at the settlement

Force And Operation Activities

These activities become available at Act 4 (Banner Network) and later, when Forces become the canonical mobile container for inter-Territory defense and Operations. Each activity is a sub-activity of the Force-level Operation that contains it; see ../systems/gd-operations.md for the canonical seven-phase decomposition.

  • MarchToTerritory — Force moves from current Territory to a target Territory along the safest or fastest committed Route
  • PatrolTerritory — Force cycles patrol over a Territory; generates threat intelligence and suppresses hostile pressure
  • SecureRoute — Force clears and holds a Route corridor between two Territories (or between a Territory and a Site)
  • AssaultSite — Force assaults a hostile-occupied Site
  • BesiegeSite — Force initiates sustained siege of a defended Site
  • GarrisonSite — Assign a garrison detachment to a Site after the Site has been secured
  • EscortCaravan — Force escorts a supply or trade caravan along a designated Route
  • ContainThreat — Force establishes a containment perimeter around an active Threat source
  • CleanseSite — Force coordinates cleansing of a demonic Site; ward-team escort required
  • InterceptForce — Force pursues and engages a hostile Force in motion
  • Relief — Force marches to lift a siege or reinforce a besieged garrison
  • Withdraw — Force executes ordered retreat to a designated fallback Territory or Site
  • PushFront — Coordinated offensive advance across a Front objective at Crown scale
  • ReclaimArea — Force-led multi-Territory reclamation sweep
  • SealGateScar — Force-escorted ward-work sealing of a demonic gate scar

Generic-Mechanic Content Families

Generic mechanic activities are parameterised by typed args that carry a content row's TemplateId. Adding a new spell, recipe, or item does not require a new activity hash; the existing generic activity dispatches based on the typed argument. See .claude/rules/behavior-vocabulary.md for the canonical generic-mechanic allowlist.

  • Activity_CastSpell — cast a spell from a SpellDefinition template
  • Activity_BuildStructure — build a structure from a StructureDefinition template
  • Activity_UseItem — use an item from an ItemDefinition template

Composed Plan Example

This page does not define a formal planning catalog. It can still describe a composed planning example such as an overnight camp routine, where the player thinks in one bundle but the queue executes atomic activities like MakeCamp, setting a watch, RestAtCamp, and breaking camp. Composed approaches surface in Activity Detail as planning-layer readback labels (e.g. "part of: Overnight Camp Routine") supplied by the opener; they are not a runtime executor and do not commit to a source keyword.

Opener Taxonomy Quick Reference

The Activity Catalog is one of the canonical openers for Activity Detail. The full opener taxonomy (Queue, Territory Dossier, Activity Catalog, Current Plan, Objectives, ContextPanel, BottomQueueSlots, Journal, recursive 'detail') is defined in ../ux/gd-shell-screen-model.md § Activity Detail — Opener taxonomy. Each opener passes a typed opener-context payload that Activity Detail preserves across the drill stack.

Implementation status

Surface / ExampleShipped waveStatus
Catalog rows for every name in § Committed Activity FamiliesWave CNames committed in Generated/Hashes.cs; .secs sources committed in Content/activities/
Catalog row → Activity Detail opener (source: 'catalog')Wave CShips via the Activities panel summary + expansion; opener-context tag 'catalog' is the Wave M target architecture
Activities panel filter modes (here / reachable / all)Wave CShips in ActivitiesSummary
Catalog browse example (InvestigateRuinall filter, Ruin group)Wave CActivity is committed in Generated/Hashes.cs; selecting the catalog row opens Activity Detail with description, time cost, requirements, effect-plan preview, and Queue button
ScoutApproach canonical nameWave BWave B-owned, pending sync (wire-id rename from the legacy lead identifier; legacy activity is retired in Wave B)
ListenForWaterFollowWaterSoundSurveyWaterSource recursive drillDeferred, Wave BActivities exist; recursive drill-stack UI requires parent-run / child-run reference projection on the activity run snapshot — Wave B-owned, pending sync
Server-confirmed blocked-reason on catalog rowsDeferred, Wave BClient-derived availability snapshot today; server-confirmed blocked reason is Wave B-owned, pending sync
Generic-mechanic content families (Activity_CastSpell, Activity_BuildStructure, Activity_UseItem)Wave CGeneric activities are the engine-side parameterised pattern; specific content rows live as definition templates

Notes

This page is a documentation catalog, not a compiled source-identifier list. The activity names above correspond to committed entries in examples/valenar/Generated/Hashes.cs and their matching .secs source files under examples/valenar/Content/activities/. Wire-id strings for the activities being renamed in Wave B (notably ScoutApproach) are labelled Wave B-owned, pending sync.

Use queue and activity execution for behavior vocabulary and queue rules. Use ../ux/gd-shell-screen-model.md § Activity Detail for the opener taxonomy that connects catalog rows to the shared inspection surface.