Elonn Docs Platform Documentation

surface

spatial canonical authority: surface.elonn.local

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 context
  • findings_surface — composed discovery results
  • feed_surface — time-ordered content stream
  • map_surface — field-oriented spatial context
  • conversation_surface — message and reply thread
  • dashboard_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.url when content_source.kind is runtime_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