Renamed to elm-messenger/messenger-core. That is where the repository lives now. It has not been published as a package under the new name.
Versions published as linsyking/messenger-core still install under that name. 34 versions of 52 come from the new location (see their notes). 7 versions could not be recovered and cannot be installed.
Core scene types and message types.
Most projects use the type aliases from Messenger.Scene.RawScene or
Messenger.Scene.LayeredScene. This module is the lower-level foundation they
build on.
Specialized concrete scene for Messenger.
Specialized abstract scene for Messenger.
Unroll an abstract scene.
This is useful when advanced code needs to manually update or view an abstract
scene, for example in Messenger.Scene.VSR.
Abstract a concrete scene.
The concrete scene is initialized immediately with the given message and
environment. The resulting AbstractScene stores its data privately.
Scene output messages handled by Messenger core.
Scenes, layers, components, and global components emit these messages when they need top-level effects such as changing scenes, playing audio, loading resources, saving global data, or managing global components.
SOMChangeScene initMsg name changes to a scene by name.SOMAlert text sends an alert command through user ports.SOMPrompt name title sends a prompt command. The result comes back as a
Prompt name result user event.SOMPlayAudio channel name option plays a loaded audio resource.SOMStopAudio target stops matching playing audio.SOMTransformAudio target transform applies an elm-audio transform.SOMSetVolume volume changes the global volume.SOMSaveGlobalData calls globalDataCodec.encode.SOMLoadGC gc loads a global component.SOMUnloadGC target unloads matching global components.SOMCallGC ( target, msg ) sends a message to a global component.SOMChangeFPS interval changes the REGL update interval.SOMLoadResource key resource loads a resource at runtime. Loaded data is
stored in opaque runtime data and can be read through Messenger.Base
getters.Scene storage.
A SceneStorage is what goes into the AllScenes dictionary. It receives an
optional scene message and the current environment, then returns an initialized
abstract scene.
A dictionary of scene names to scene storage.
Messenger message.
This specializes Messenger.GeneralModel.Msg with SceneOutputMsg as the
parent/system message type.
Messenger message base.
This specializes Messenger.GeneralModel.MsgBase with SceneOutputMsg as the
parent/system message type.
Specialized concrete general model for Messenger scenes, layers, and components.
Specialized abstract general model for Messenger scenes, layers, and components.
Remap the result of an abstract scene update.
Use this when wrapping a scene and transforming its emitted SceneOutputMsgs or
environment.
Common data passed to global components.
It is the currently running scene, so global components can render or update in relation to the active scene when needed.
Base data shared by all global components.
dead marks a component for removal. postProcessor transforms the scene
renderable after the scene view is produced.
Global component message type.
JSON values are used so global components can be addressed dynamically.
Global component target type.
Abstract global component model.
The concrete data type is hidden after initialization.
Concrete global component model.
Global component init type.
Global component update type.
The returned boolean is the block flag. If it is True, the current user event
will not be passed to later global components or the scene.
Global component recursive update type.
This handles messages sent to the global component by target.
Global component view type.
Global component storage.
This is what gets loaded by SOMLoadGC or startup global component lists.
Rolled abstract scene model.
This hides the concrete scene data type so scenes with different data can be stored in the same scene map.