Early access SDK·Reviewed 2026-09-18

Will your app fit?

Check the libraries and APIs in the standalone SDK release. React is the current framework adapter.

Release notes · Source examples · Full API inventory

Attar Electron is planned and is not included in this release. Read the roadmap ↗

Standalone UI applications on macOS. A status covers the scope in its row, not every API in a library.

What the states mean
Supported
Available within the named scope.
Limited
A usable subset exists; the row names what remains outside it.
Unavailable
The operation is absent or explicitly refused.
Not verified
The available evidence is insufficient to offer a support answer for this target.

Engine tests and older application runs are identified separately in the evidence. An unverified result is not a claim that the implementation is absent.

30 topics

React & JavaScript

React 19 & hooksBuild components with state, effects and refs. Standalone apps use the pinned React 19.3.0 pair.Supported

Limits. Hydration is not implemented. Full class-component, concurrent rendering and Suspense compatibility is not established. Support for more UI frameworks is planned; React is the current adapter.

Recorded evidence. Panels and Notes use real React components. Recorded package checks cover initial rendering and selected state, style, order and focus updates.

Read the source examples

More frameworks are planned

Reviewed 2026-09-18Link to feature
JavaScript, TypeScript & TSXCompile a fixed application graph ahead of time. Ordinary functions, classes, modules and async code are inputs.Limited

Limits. Every executable import must resolve at build time. Some language cases remain incomplete; see the JavaScript test report.

Recorded evidence. The compiler has recorded application runs and a separate Test262 report. Test262 results describe the engine, not every application or this release.

Read the JavaScript test results

Reviewed 2026-09-18Link to feature
npm dependenciesBundle dependencies whose JavaScript and API calls fit the supported application surface.Limited

Limits. Arbitrary npm compatibility is not promised. Native addons, runtime code downloads and browser-only services need separate support.

Recorded evidence. Pinned React, Radix and utility packages are used by the examples. Package presence or a successful import is not proof that every runtime path works.

Reviewed 2026-09-18Link to feature
eval & runtime executable loadingeval, new Function and runtime loading of executable code are outside the AOT model.Unavailable

Recorded evidence. The language contract requires a build diagnostic for these inputs.

Reviewed 2026-09-18Link to feature

CSS & layout

CSS files & importsImport ordinary CSS with import './style.css'. Local @import rules, images and fonts become build inputs.Supported

Limits. Dynamic CSS imports, remote stylesheet imports and .module.css files are refused.

Recorded evidence. Static CSS imports are implemented by the bundler and used by both standalone examples. The packaged Panels checks include compiled Tailwind CSS.

Reviewed 2026-09-18Link to feature
HTML, flexbox & gridBlink owns HTML layout, the CSS cascade, flexbox, grid and media queries.Limited

Limits. Use admitted element and CSS features. A broad Blink implementation is not a promise of browser-wide API support.

Recorded evidence. Historical app checks exercise block and flex layouts. Separate engine checks exercise grid; neither establishes all layout cases in this release.

Reviewed 2026-09-18Link to feature
React style valuesUpdate element styles from React objects, including the panel width and progress transform in Panels.Supported

Limits. This is element styling, not unrestricted runtime stylesheet generation.

Recorded evidence. The React host maps style objects to Blink declarations. Recorded package checks cover style updates and removal.

Reviewed 2026-09-18Link to feature
Transitions & CSS animationsUse Blink transitions and keyframe animations, including the enter and exit animations used by UI components.Limited

Limits. Do not infer complete animation behavior from a mount or an engine-only pass.

Recorded evidence. Native transition checks and separate CSS engine tests cover selected cases. Animation events include the fields used by Radix Presence.

Reviewed 2026-09-18Link to feature
Images, fonts & bundled assetsImport local images and fonts, or declare packaged resource directories. Static CSS can reference local assets.Limited

Limits. Format and remote-resource behavior depend on the selected native provider. Remote stylesheet imports are refused.

Recorded evidence. Notes imports SVG scenes. Historical packaged app checks cover bundled fonts and images.

Reviewed 2026-09-18Link to feature
SVGInline SVG and SVG images use Blink. The examples import SVG assets and the gallery uses SVG icons.Limited

Limits. Those recorded cases do not establish every SVG feature in this release.

Recorded evidence. An earlier SVG corpus recorded 39 matching cases; historical Etcher checks exercise valid and malformed logos.

Reviewed 2026-09-18Link to feature

UI libraries

Tailwind CSS 4Compile Tailwind to a CSS file, then import that file into the application.Supported

Limits. Regenerate the stylesheet when utility classes change. Support follows the CSS emitted by the selected Tailwind version.

Recorded evidence. Panels pins Tailwind 4.3.3 and checks in the generated CSS. Tailwind and Node are build tools, not application runtime dependencies.

Read the source examples

Reviewed 2026-09-18Link to feature
shadcn/uiUse the pinned Radix / New York v4 components. The packaged macOS gallery passes scenarios for 61 component names.Limited

Limits. The composed data-table and date-picker recipes, other variants, exhaustive visual states, package upgrades and physical input paths are not verified.

Recorded evidence. One packaged Apple silicon artifact passed all 61 recorded component scenarios with no failures, crashes or timeouts.

Components with passing packaged scenarios

New York v4 / Radix on macOS Apple silicon. Each listed name passed its recorded scenario. Other variants, exhaustive states and physical input paths remain unverified.

  • accordion
  • alert
  • alert-dialog
  • aspect-ratio
  • attachment
  • avatar
  • badge
  • breadcrumb
  • bubble
  • button
  • button-group
  • calendar
  • card
  • carousel
  • chart
  • checkbox
  • collapsible
  • combobox
  • command
  • context-menu
  • dialog
  • direction
  • drawer
  • dropdown-menu
  • empty
  • field
  • form
  • hover-card
  • input
  • input-group
  • input-otp
  • item
  • kbd
  • label
  • marker
  • menubar
  • message
  • message-scroller
  • native-select
  • navigation-menu
  • pagination
  • popover
  • progress
  • radio-group
  • resizable
  • scroll-area
  • select
  • separator
  • sheet
  • sidebar
  • skeleton
  • slider
  • sonner
  • spinner
  • switch
  • table
  • tabs
  • textarea
  • toggle
  • toggle-group
  • tooltip

Read the source examples

Reviewed 2026-09-18Link to feature

Web APIs

Forms, inputs & focusUse controlled fields, input events and element focus. Notes provides an add/delete form; Panels updates input and textarea values.Limited

Limits. Native form navigation is not supported. A working text update does not establish all keyboard or IME paths.

Recorded evidence. Older packages have scoped control and focus checks. Physical input, IME and complete focus behavior need checks on the release package.

Read the source examples

Reviewed 2026-09-18Link to feature
DOM creation & selectorsCreate admitted elements and text nodes, query the tree, update classes and data attributes, and traverse nodes.Limited

Limits. This is a defined DOM surface, not all browser DOM APIs.

Recorded evidence. These wrappers use Blink providers. Native regression cases and earlier packaged fixtures cover selected operations and retained node identity.

Reviewed 2026-09-18Link to feature
Layout measurements & computed styleRead live computed style and element bounds. Components use these values for sizing and placement.Limited

Limits. Overlay placement and viewport-edge behavior need component-level checks.

Recorded evidence. Native checks exercise geometry, selectors and computed styles. The native host exposes offset coordinates used by Select.

Reviewed 2026-09-18Link to feature
Resize, mutation & intersection observersObserve changes through Blink-backed ResizeObserver, MutationObserver and IntersectionObserver bindings.Limited

Limits. Full option coverage and every component lifecycle are not verified on the release package.

Recorded evidence. Native regression definitions and scoped runs cover observer delivery and lifetime. Callback and teardown fixes preserve native observer lifetime.

Reviewed 2026-09-18Link to feature
Events & pointer captureRegister DOM listeners, cancel events and use pointer capture through the native host.Limited

Limits. A scenario definition is not a passing result. Physical pointer and keyboard behavior remain separate package checks.

Recorded evidence. Native tests cover listener lifetime, cancellation and shared subscriptions. The gallery includes native scenario definitions for control interactions.

Reviewed 2026-09-18Link to feature
Timers & animation framesUse setTimeout, setInterval and requestAnimationFrame, with cancellation on cleanup.Limited

Limits. An initial-tree check does not execute all timed application behavior.

Recorded evidence. The examples use timers and frames. Native runtime checks cover scheduling, cancellation and teardown.

Reviewed 2026-09-18Link to feature
Media queries & matchMediaUse CSS media queries and a live MediaQueryList from matchMedia.Limited

Recorded evidence. Native media-query checks cover matching and event delivery. Application resize behavior needs its own checks.

Reviewed 2026-09-18Link to feature
Element scrollingRead element scroll metrics and use the admitted scrollIntoView operation.Limited

Limits. The current wrapper admits boolean scrollIntoView alignment; window scrolling is outside this surface.

Recorded evidence. Native tests cover scroll geometry. The component gallery defines a ScrollArea scenario.

Reviewed 2026-09-18Link to feature
AccessibilityBlink supplies accessible roles, names and states through the native accessibility boundary.Limited

Limits. No blanket WCAG or assistive-technology conformance claim.

Recorded evidence. A historical Etcher package exposed 65 accessibility nodes and actionable buttons. That result does not verify the new component gallery.

Reviewed 2026-09-18Link to feature
Canvas & mediaCanvas 2D JavaScript bindings, audio/video elements and MathML are not offered in this UI release scope.Unavailable

Recorded evidence. The inspected surface does not establish these features as usable application APIs.

Reviewed 2026-09-18Link to feature

Desktop APIs

Browser networkingStandalone browser networking is not offered by this release’s UI host.Unavailable

Limits. A native integration needs an explicitly bound provider; a browser API name does not supply one.

Recorded evidence. The published skill and UI host boundary exclude fetch, XMLHttpRequest and WebSocket. Electron network providers belong to the planned compatibility layer.

Reviewed 2026-09-18Link to feature
Browser storage APIsThe standalone UI host does not expose browser localStorage, sessionStorage or IndexedDB.Unavailable

Limits. Node fs and Electron secret storage are not part of this release.

Recorded evidence. The published skill excludes these browser storage APIs. Host filesystem access is a separate native integration.

Reviewed 2026-09-18Link to feature
Browser Clipboard APIThe standalone UI host does not expose browser clipboard APIs.Unavailable

Recorded evidence. The published skill excludes clipboard APIs. Existing Electron clipboard work belongs to a planned product, not this release.

Reviewed 2026-09-18Link to feature
Standalone application windowStandalone UI projects use the native window owner. The current small-app workflow opens one window at the default size.Limited

Limits. Configurable standalone window size, multiple windows and Electron menus or dialogs are not promised by this release.

Recorded evidence. The published skill describes the standalone window boundary. Historical Etcher window and dialog results belong to Electron R&D.

Reviewed 2026-09-18Link to feature

Platforms & distribution

macOS app packagingBuild a standalone Apple silicon .app with compiled application code and Blink.Limited

Limits. An ad-hoc signature does not establish Developer ID signing or notarization. The macOS compiler package requires macOS 15 or newer.

Recorded evidence. Notes and Panels have recorded build, signature and scoped startup results. Ad-hoc signing is separate from Developer ID distribution and notarization.

Reviewed 2026-09-18Link to feature
LinuxLinux x86_64 compiler packages are available. The React / shadcn standalone application path is not verified on Linux.Not verified

Recorded evidence. Linux package checks do not establish the same UI component coverage as the macOS examples.

Reviewed 2026-09-18Link to feature
Windows platformWindows packages are not available.Unavailable

Recorded evidence. The current toolchain has no supported Windows target.

Reviewed 2026-09-18Link to feature
Rust, C & native embeddingA C ABI connects native clients to Attar. Rust and C host adapters require a matching client-form SDK package.Not verified

Limits. The ordinary standalone package is not proof that a compatible client SDK is available. Swift, Kotlin, Go and Zig host adapters are planned. The ABI is not frozen.

Recorded evidence. The source defines C handles and Rust ownership wrappers. An earlier macOS client archive has recorded native link and window evidence; the complete current release workflow is not reverified.

How native integration works

Reviewed 2026-09-18Link to feature

Need a specific API?

The technical inventory keeps individual Electron, Node and Blink records with their original assessment dates. It is separate from this release guide.

Search the full API inventory ↗ · Compatibility data (JSON)