Skip to content

Implement catwalk config differ #182

Description

@williamthorsen

Parent: #173 — Milestone 2

Goal

Create a structural differ that compares old and new CatwalkSceneConfig to produce change descriptors, enabling animated transitions instead of full-scene teardown.

Tasks

  • Create src/client/visualizations/catwalk/state/catwalk-differ.ts
  • Detect changes:
    • Orchestrator position changed (stationIndex diff) → triggers walk
    • Orchestrator working state changed → triggers glow toggle
    • Agent state changed → triggers visual state transition
    • Gate opened → triggers shrink animation
    • Artifact added to station → triggers appearance
    • Agents added/removed (rare, but possible if phase configuration changes)

Acceptance criteria

  • Differ is a pure function: diffCatwalkConfig(prev, next) → CatwalkDiff
  • Unit tests cover: no change, orchestrator moved, agent state changed, gate opened, artifact added

Metadata

Metadata

Labels

featureAdded or improved external functionalityscope:factory

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions