Run existing apps without modification.
Rune intercepts DOM mutations from any framework and translates them into structured IR. No SDK. No site changes. No opt-in.
Framework-agnostic interception.
React, Vue, Svelte, Angular – all compile to DOM calls. Rune intercepts those calls. Frameworks disappear at runtime.
What works today.
- Structured HTML layouts
- Forms and inputs
- Buttons and interactions
- CRUD dashboards
- Approval workflows
- Data-driven portals
- Simple SPA apps
- Canvas 2D rendering
- WebGL applications
- Rich text editors (contentEditable)
- Heavy graphical apps
- Full browser API surface
Unsupported features fall back to CEF.
CEF as a bundled plugin.
When content requires APIs that Rune's IR pipeline doesn't yet cover – Canvas 2D, WebGL, contentEditable, or complex browser APIs – Rune falls back to Chromium Embedded Framework (CEF), bundled as a plugin. The fallback is seamless: the content renders inside the same window, composited alongside native IR.
- CEF ships as a bundled Rune plugin
- Activated only when IR coverage is insufficient
- Renders inside the Rune compositor
- Same window, same input routing
- CEF regions lose deterministic guarantees
- No structured diff for CEF content
- Agents cannot operate on CEF pixels
As IR coverage expands, CEF usage shrinks. The goal is full IR rendering – CEF is a bridge, not a destination.
Agents get structure, not pixels.
- DOM scraping
- Pixel coordinates
- Accessibility trees
- Deterministic diff
- Reliable action dispatch
- Replayable sessions
- Human-in-the-loop checkpoints
No changes required to the site.
Not chasing full parity.
Rune does not aim for total web parity. Instead it targets structured, workflow-heavy apps and expands coverage incrementally while preserving deterministic guarantees.