surface
Surface
A persistent interactive container around service-backed or runtime-backed content. A surface preserves identity and runtime state as it moves between stacked, docked, detached, shared, and field-anchored placements.
Examples:
- Nearby Restaurants
- Friends Nearby
- Messages
- Today's Schedule
- Transit
- System Status
Surface types:
launcher_surface— entry or home contextfindings_surface— composed discovery resultsfeed_surface— time-ordered content streammap_surface— field-oriented spatial contextconversation_surface— message and reply threaddashboard_surface— aggregate status view
Sub-concepts:
- surface state — persistent runtime state associated with a surface (scroll position, selected object, filters, map zoom)
- surface schema — platform-neutral definition of a surface (content source, service binding, layout hints, actions, metadata); persisted by Surface, composed by World, consumed by all runtimes
- surface renderer — runtime-specific visual implementation (web renderer, android renderer, xr renderer)
- service binding — the service authority and resource that backs the surface content
Allowed:
- surface
- surface type
- surface schema
- surface state
- surface renderer
- [name] surface (e.g., messages surface, nearby surface)
Forbidden:
- page (implies document model; surfaces are spatial)
- screen (implies flat display model)
- tab (implies fixed navigational strip)
- view (engineering prose only; not a product noun)
- panel (distinct; panel is carry-layer content loaded via
content_source.urlwhencontent_source.kindisruntime_panel) - window (distinct; window is a future independently managed spatial container — see: window)
Notes:
- Surface identity, stack membership, placement, and safe runtime state are persisted by
surface.elonn.local. - World composes surfaces with service data into runtime contracts.
- Runtimes render surfaces differently, but must preserve the same surface identity and stack semantics.
- A surface is NOT a panel. A panel is one possible content source loaded into a surface.
- A surface is not owned by a stack. A stack only organizes surfaces for presentation.
Related:
- stack
- block
- region
- panel (distinct)
- window (distinct; future)
- world
- runtime