Simplify mock show state and allow same-track signal chaining in validator

This commit is contained in:
Ian Gulliver
2026-02-21 22:13:12 -08:00
parent eaf59641fd
commit 7a125c0bc9
2 changed files with 40 additions and 47 deletions

View File

@@ -125,7 +125,10 @@ func (show *Show) Validate() error {
}
if t, ok := signalTargetedBy[blockEvent{trigger.Source.Block, trigger.Source.Signal}]; ok {
return fmt.Errorf("trigger conflict: %s vs %s", t, trigger)
sameTrackSingle := len(trigger.Targets) == 1 && blocksByID[trigger.Targets[0].Block].Track == sourceBlock.Track
if !sameTrackSingle {
return fmt.Errorf("trigger conflict: %s vs %s", t, trigger)
}
}
if !isValidEventForBlock(sourceBlock, trigger.Source.Signal) {
return fmt.Errorf("trigger source signal %q is invalid for block %q", trigger.Source.Signal, trigger.Source.Block)