# Status

> What is stable enough to document today.

The documented public surface focuses on React, Vue, Angular, Svelte, Solid,
and the shared core packages.

## Adapter status

- React — the reference adapter and canary for the engine and native Fabric
  pipe. Has `createPortal` — mutation-mode Fabric makes portals possible where
  stock RN's persistent-mode renderer cannot.
- Vue — the first non-React adapter over the same engine. `Switch`,
  `TextInput`, and the Slider wrapper support real `v-model`; `v-show` toggles
  native `display: none` without unmounting; `Teleport` is the same portal
  primitive as React's `createPortal`, targeted at a host-node ref instead of a
  CSS selector. Also exposes `AppRegistry`, the same app-entry-point API as
  React, over a shared `@symbiote-native/engine` core.
- Angular — the second non-React adapter. Renderer seam
  (`Renderer2`/`RendererFactory2`), DOM-less bootstrap, and full component
  parity are implemented and tested (`examples/angular`). Every component
  event, including the accessibility callbacks, is a real `@Output()`
  `EventEmitter` now; the one permanent exception is the scroll family
  (`onScroll`, `onScrollBeginDrag`, `onScrollEndDrag`,
  `onMomentumScrollBegin`, `onMomentumScrollEnd`), which stays a callback
  input on `ScrollView` and the list components because it must also accept
  an `Animated.event(...)` marker, which `@Output()` can't express. On the
  landing page's live framework switcher now; the Slider wrapper package also
  ships an Angular build (`@symbiote-native/slider/angular`).
- Svelte — the third non-React adapter. A DOM shim over stock compiled Svelte
  output drives the same engine, so components are stock Svelte markup —
  no custom compiler output, no bespoke reconciler. Full component parity
  with React/Vue/Angular, verified on-device on iOS and Android
  (`examples/svelte`). On the landing page's live framework switcher now; the
  Slider wrapper package also ships a Svelte build.
- Solid — the fourth non-React adapter. A Solid custom renderer built on
  `solid-js/universal`'s official `createRenderer` (Solid's own
  framework-agnostic seam for non-DOM targets) maps every compiled-JSX call
  onto the same engine mutation API every other adapter drives. Full
  component parity with React/Vue/Angular/Svelte, including `createPortal`,
  `createTunnel`, `Animated`, and `AppRegistry` (`examples/solid`). Every
  companion package under `packages/*` also ships a `./solid` export subpath
  now, matching npm-catalog parity with the other four adapters. On the
  landing page's live framework switcher, with its own demo clip, verified
  on a real device like the other four. It doesn't yet share the Detox
  `canary-journeys` spec React, Vue, and Svelte carry.

## Core status

- `@symbiote-native/engine` — the JS command-buffer shim over `SymbioteTree`, the retained tree
  and Fabric commit path now implemented in C++ (`core/engine/cpp`), plus style/runtime
  utilities, native events, and the shared `AppRegistry` core every adapter wraps. On-device
  benchmark numbers for the C++ tree are still pending — see the [roadmap](/docs/project/roadmap/).
- `@symbiote-native/css-parser` — build-time compiler for plain CSS, CSS Modules, and
  SCSS/Sass, Less, and Stylus preprocessor sources, resolved at runtime
  through a class registry shared by React, Vue, Angular, Svelte, and Solid. Also ships a
  `css-dts` CLI (typo-safe `.module.css` `.d.ts` generation) and a
  `typescript-plugin` for live in-editor autocomplete — see the
  [roadmap](/docs/project/roadmap/).
- `@symbiote-native/components` — shared component state, render helpers,
  accessibility, and parity logic.
- `@symbiote-native/expo-modules-link` — app-level linker for the
  `expo-modules-core` wrapper packages. Declared once in the app's
  `package.json` with a `postinstall` script; each install rescans
  `node_modules` and regenerates the Android registration blocks for every
  wrapper package it finds.
- React/Vue/Angular/Svelte/Solid adapters — framework lifecycle and public API
  bridges over the shared core.

## What the docs promise

React, Vue, Angular, Svelte, and Solid are all live choices on the landing
page's framework switcher, each with its own learn guide, API reference, and
demo clip on the landing page.

## What remains moving

- Component API pages will split out as each page has real examples and useful
  details.
- Vue API docs need extra care because events, slots, and refs intentionally
  differ from React.
- Native module behavior must stay platform-verified on real iOS/Android hosts,
  not only headless tests.
