Skip to content

Add signal interaction trigger for extension component signals - #313

Merged
einari merged 1 commit into
mainfrom
feature/extension-signal-trigger
Nov 12, 2026
Merged

einari merged 1 commit into
mainfrom
feature/extension-signal-trigger

Conversation

@einari

@einari einari commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

Scene can now bind a screen interaction on <signal> to a signal an extension component raises.

Added

  • SignalInteractionTrigger (signalName) in @cratis/scene.model and Cratis.Scene.Model.Interactions, a new interaction trigger kind next to the built-in, event, interval and application-trigger kinds. Existing triggers and documents are unchanged.
  • resolveSignalBehaviors(attachments, signalName) in @cratis/scene.engine, which collects the bindings for a raised signal in the same deterministic order as the other triggers and never matches an application trigger of the same name.
  • Documentation of the signal trigger in the extension contract guide and the glossary.

A screen's 'on <signal>' handles a signal an extension component raises. Model it as SignalInteractionTrigger and resolve it with resolveSignalBehaviors, separately from application triggers.
@einari einari added the minor label Nov 12, 2026
@einari

einari commented Nov 12, 2026

Copy link
Copy Markdown
Contributor Author

Verified locally: model and engine build, lint and tests pass (241 and 3227 tests), Model.Specs 55 pass.

@einari
einari merged commit e0680c6 into main Nov 12, 2026
12 of 13 checks passed
@einari
einari deleted the feature/extension-signal-trigger branch November 12, 2026 19:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant