RMT Reference: Surfaces, Lanes und Lifecycle
Die normalisierten Runtime-Records werden von tools/rmt-language/vnext-surfaces.js und dem Scheduler erzeugt.
Surfaces beschreiben UI-Flächen. Lanes planen Arbeit. Lifecycle-Operationen beschreiben, welche Arbeit in einer Lane passiert.
Syntax
Allowed contexts
lane steht direkt in surface. Lifecycle-Operationen und stream stehen in lane oder slot. slot, on, trust, hydration, resumability, isolation und sanitize stehen in Policy-Blöcken von Lifecycle-Operationen.
bounds bleibt standardmäßig pixelgenau; responsive Bounds sind opt-in und akzeptieren gequotete CSS-native Größen, zum Beispiel bounds mode responsive scope viewport x "1rem" y "1rem" width "clamp(20rem, 70vi, 52rem)" height "min(80dvh, 42rem)" minWidth "18rem" maxHeight "48rem".
Parameters
Targets sind Identifier. Sources folgen from <kind> <target>. Conditions folgen when. Policy-Blöcke verwenden geschweifte Klammern.
Description
Lifecycle-Syntax trennt sichtbare Arbeit, user-blocking Interaktion, Hintergrundarbeit und Diagnostics. Der Host kann diese Records auf Scheduler-Lanes abbilden, ohne freie Funktionen aus der RMT-Quelle auszuführen.
Examples
template reference.lifecycle {
state app.ready type boolean initial true
state app.status type object preserve {
initial {
text "Ready"
}
}
selector app.header from state app.status {
output HeaderView
}
selector app.cardView from state app.status {
output CardView
}
resource app.stream kind stream owner surface.shell
resource app.pool kind object-url owner surface.shell
portal app.root root "#app" layer surface
surface shell kind page component x-section {
portal app.root
bounds x 0 y 0 width 640 height 400
preserve on minimize
destroy releases resource app.stream
lane visible weight 90 {
mount shell.card from endpoint app.card when app.ready == true {
slot header {
hydrate header.view from selector app.header
}
on click ".save" -> action app.save {
payload id from target.dataset.id
preventDefault true
}
}
hydrate shell.card from selector app.cardView {
hydration mode server_prerender_resume
resumability mode server_prerender_resume
resumability snapshot surface_state
resumability event replay intent_queue
resumability integrity signed_manifest
}
suspend shell.card
resume shell.card {
resumability mode server_prerender_resume
resumability snapshot surface_state
resumability event replay intent_queue
resumability integrity signed_manifest
}
invalidate shell.card
dispose shell.card
prewarm shell.data from worker app.prepare
recycle shell.row from resource app.pool
detach shell.panel
reattach shell.panel
stream shell.feed from sse app.feed
}
}
action app.save {
input id string
reduce state.app.status.text = "Saved"
emit app.saved with id input.id
}
}
Diagnostics
Lifecycle- und Stream-Statements außerhalb von Lane oder Slot erzeugen Kontextdiagnosen. Fehlende Selector-, Resource- oder Action-Referenzen werden semantisch gemeldet.
Related operators
surface, portal, source, when, slot, on, resource, trust boundary.
Weiterführend
Der RMT-Referenzindex verbindet Surfaces und Lanes mit Scheduling- und Lifecycle-Syntax. Verwandter Artikel