Skip to content

PHO-14: Add AtmosphereChoreographer for transitions between atmosphere states#31

Merged
wow-miley merged 1 commit into
mainfrom
miley/pho-14-add-atmospherechoreographer-for-transitions-between
May 24, 2026
Merged

PHO-14: Add AtmosphereChoreographer for transitions between atmosphere states#31
wow-miley merged 1 commit into
mainfrom
miley/pho-14-add-atmospherechoreographer-for-transitions-between

Conversation

@wow-miley
Copy link
Copy Markdown
Contributor

Summary

  • Introduces AtmosphereChoreographer (phosphor-core/choreography/) with phase accumulators (pulsePhase/patternPhase integrate dt × frequency to avoid discontinuities), two-track easing (eased amplitudes, linear color/pattern crossfade weights), snapshot-based color crossfade for bipolar transitions, and pattern crossfade via patternFrom + patternBlend.
  • Adds eager, reluctant, overshoot, and settled easings in timeline/Easing.kt (wired through byName/availableNames) and encodes the 20-entry default transition table inside the choreographer with a 1.1s easeInOut fallback.
  • Wires the choreographer into CognitiveSceneRuntime (constructed when enableAtmosphere is true), routes setAtmosphere(state) through it, adds setAtmospherePreset(name), ticks the choreographer between agents (step 3) and emitters (step 5), and surfaces SceneSnapshot.atmosphereTransition alongside the existing atmosphere field.
  • Documents the new 9-step update(dt) ordering and the two atmosphere entry points in docs/COGNITIVE_SCENE_RUNTIME_MIGRATION.md.

Test plan

  • ./gradlew jvmTest (AtmosphereChoreographerTest: 17/17; CognitiveSceneRuntimeTest: 11/11; full suite green)
  • ./gradlew ktlintFormat
  • ./gradlew compileKotlinIosSimulatorArm64

🤖 Generated with Claude Code

Introduces AtmosphereChoreographer with phase-accumulator integration,
two-track easing (eased amplitudes, linear crossfade weights), color
snapshots for bipolar transitions, and pattern crossfade. Wires it into
CognitiveSceneRuntime between agent and emitter ticks, surfacing
SceneSnapshot.atmosphereTransition. Adds eager, reluctant, overshoot,
and settled easings.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@wow-miley wow-miley merged commit 92f8611 into main May 24, 2026
3 checks passed
@wow-miley wow-miley deleted the miley/pho-14-add-atmospherechoreographer-for-transitions-between branch May 24, 2026 23:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant