concepts

Pipelines and Module Boundaries

How SSS dispatches static replacement and instance rule modules.

A YAML file is one of two module types:

  1. A static replacement module, identified by replace_meshes, with optional cell filters and record exclusions.
  2. An instance module, identified by instances, containing ordered rules with conditions and actions.

SSS's small runtime primitives and its promotion of repeated utilities into H3 are part of Cod3x's earned shared infrastructure genealogy.

Pick one. Do not put instances beside replace_meshes, replace_names, exterior_cells, replace_regions, or ignore_records. There is no precedence rule that runs both systems for one object.

Dispatch

When an object becomes active, SSS first asks the instance pipeline whether any instance rules match. If one or more rules are eligible by their conditions and once state, the instance pipeline owns that activation. Otherwise SSS tries the static replacement pipeline. An instance action's chance can still miss after dispatch has been selected; that miss does not make the object a static fallback candidate.

Static modules operate on record meshes and can create a replacement object while preserving the original object's placement. Instance modules operate on the active object and can replace or transform it, change inventory or ownership, alter lock/key/trap state, create objects, teleport, set globals, play sounds, attach scripts, or disable/delete objects.

A module can therefore use the same record or mesh vocabulary as another module without becoming composable. Split independent intent into separate files, and use priority and explicit conditions rather than relying on a cross-pipeline ordering assumption.

Choosing a pipeline

NeedPipeline
Replace a mesh everywhere or in selected cellsStatic module
Exclude record variants from a mesh replacementStatic module
Select by player state, quest stage, weather, object state, or tagsInstance module
Change inventory, equipment, locks, traps, ownership, scripts, or globalsInstance module
Spawn a replacement or scatter created objectsInstance module

Use Module Format for YAML. StaticSwitcher_G is read-only inspection for scripts; it does not merge the pipelines. See the interface reference and the released static-module examples.