tiramisu
Tiramisu: typed declarative 3D entities for Lustre.
Values
pub fn camera(
id: String,
values: List(extension.Value(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
Create an entity with a camera component.
pub fn empty(
id: String,
values: List(extension.Value(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
Create an entity used only for hierarchy and shared components.
pub fn entity(
id: String,
values: List(extension.Value(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
Create a uniform entity without an injected object component.
pub fn light(
id: String,
values: List(extension.Value(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
Create an entity with a light component.
pub fn mesh(
id: String,
values: List(extension.Value(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
Create an entity with an asynchronous mesh and material.
pub fn primitive(
id: String,
values: List(extension.Value(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
Create an entity with synchronous primitive geometry and material.
pub fn register() -> Result(Nil, extension.RegisterError)
Register Tiramisu’s built-in plugin in the browser.
pub fn register_with(
plugins: List(extension.Plugin),
) -> Result(Nil, extension.RegisterError)
Registration is a browser lifecycle operation, so server rendering is a no-op. Register built-ins followed by user plugins in stable list order.
pub fn renderer(
id: String,
attributes: List(attribute.Attribute(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
Preserve declarative server rendering; plugins activate after browser hydration. Create one independent renderer host.
pub fn scene(
id: String,
values: List(extension.Value(msg)),
children: List(element.Element(msg)),
) -> element.Element(msg)
Create the scene-root entity and inject scene environment configuration.
pub fn script() -> element.Element(msg)
Inject the browser import map required by Savoiardi.