Triggers

@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class Triggers(val triggers: Array<KClass<out EventTrigger>>)

Documents, right on a dev.catbit.mosaic.core.data.schemas.tile.TileSchema/ dev.catbit.mosaic.core.data.schemas.event.EventSchema class itself, which EventTriggers it can fire — living documentation visible to a human (or another LLM) reading the schema's source, without them having to also read its TileRenderer/EventRunner implementation in mosaic-client to find out. AnnotationRetention.SOURCE means this is purely a source-level/tooling artifact — it's stripped before compilation and nothing at runtime ever reads it; every built-in tile/event declares it as a convention, and a custom one should too, for the same reason.

Properties

Link copied to clipboard

every EventTrigger subtype the annotated schema can fire.