Full rearchitecture using Claude

- event bus systen
- all components are independent
- preparation for web frontend
This commit is contained in:
2026-08-26 13:22:28 +02:00
parent 55bcc9448c
commit d44c24ec97
70 changed files with 7591 additions and 1011 deletions

View File

@@ -0,0 +1,19 @@
# Reaching the end of a playlist stops playback and runs the off animation.
# eule has two tracks of 5s each.
place eule
expect playing true
wait 11s
expect playing false
expect ring EffectReverseSwipe
expect brightness 0.00
# the figure is still on the reader, but nothing is playing
expect figure eule
# taking it off and putting it back starts from the top again
remove
place eule
expect playing true
expect track 0

View File

@@ -0,0 +1,51 @@
# A figure is placed, plays, is taken off mid-playlist and put back.
# Run it against fake hardware with:
# python -m musicmouse --config <config.yml> --simulate --script scenarios/smoke.txt
# The test suite runs the same file on a fake clock.
expect playing false
expect figure none
place fuchs
expect figure fuchs
expect playing true
expect track 0
expect ring EffectSwipeAndChange
expect brightness 0.50
# each simulated track is 5s by default
wait 6s
expect track 1
press right
expect track 2
press left
expect track 1
remove
expect figure none
expect playing false
expect ring EffectReverseSwipe
expect brightness 0.00
# putting the same figure back resumes rather than restarting
place fuchs
expect playing true
expect track 1
# a different figure always starts from the top
place eule
expect playlist eule
expect track 0
turn 2
expect volume 50
turn -4
expect volume 30
touch left_ear
expect mouse EffectStaticConfig
release left_ear
expect mouse EffectRandomTwoColorInterpolationConfig