Write the interface once. Render it native everywhere.
Components, signals and Tailwind classes in Solid, Vue Vapor or Octane become one native tree that runs on every machine in the registry, from a 2004 PSP to a transparent macOS widget.
Three frameworks, one tree
Solid signals, Vue refs and Octane hooks drive the same host components. Pick per project, or mix apps on the same deck; the runtime renders one tree either way. How the three coexist →
Layout and style, compiled
taffy runs flexbox in the Rust core, so a familiar flex-col gap-4 lands on identical pixels on every target. Class literals compile to compact numeric records; no CSS parser ships to the device.
Input that feels right
D-pad focus, real touch with gesture physics, kinetic scroll and tap-to-press, a virtual cursor for pointerless machines, and a system keyboard any app summons with one call.
Motion, baked
animate-* classes compile to keyframe timelines the core plays back on the device’s own budget, 3D transforms and arcs included.
Pocket Talk, the IM demo: a VirtualList thread, the system keyboard and kinetic scroll on a PSP.