Public runtime instance returned by createAsukaDesigner.

It groups the API into focused namespaces:

interface AsukaDesigner {
    api: AsukaDesignerApi;
    assembly: AsukaAssemblyApi;
    destroy: (() => void);
    engine: AsukaRenderEngine;
    getColor: ((token: ThemeToken) => null | string);
    layout: AsukaLayoutApi;
    measureLayer: ((id: string, options?: AsukaLayerMeasurementOptions) => null | AsukaLayerMeasurement);
    registerModule: ((definition: AsukaModuleDefinition, options?: AsukaRegisterModuleOptions) => void);
    resetColors: ((preset?: ThemePresetId) => ThemeColorMap);
    rootElement: HTMLElement;
    setColor: ((token: ThemeToken, value: string) => boolean);
    setColors: ((colors: Partial<ThemeColorMap>) => string[]);
    store: UseBoundStore<StoreApi<AsukaState>>;
    theme: AsukaThemeApi;
    ui: AsukaModuleUiHelpers;
    util: AsukaUtilApi;
    variations: AsukaVariationsApi;
}

Properties

Canvas, views, exports, fonts and history helpers.

Generic plans, anchors, snapping, validation, BOM and production exports for 3D assemblies.

destroy: (() => void)

Unmount the UI and release global resources associated with the instance.

Active render-engine facade. Fabric by default, 3D when the active view uses the 3D engine.

getColor: ((token: ThemeToken) => null | string)

Shorthand for designer.theme.getColor(...).

Layout and contextual menu controls.

measureLayer: ((id: string, options?: AsukaLayerMeasurementOptions) => null | AsukaLayerMeasurement)

Shorthand for designer.api.measureLayer(...).

registerModule: ((definition: AsukaModuleDefinition, options?: AsukaRegisterModuleOptions) => void)

Register a custom module at runtime and optionally add it to the current layout.

resetColors: ((preset?: ThemePresetId) => ThemeColorMap)

Shorthand for designer.theme.reset().

rootElement: HTMLElement

Root DOM element used by the designer instance.

setColor: ((token: ThemeToken, value: string) => boolean)

Shorthand for designer.theme.setColor(...).

setColors: ((colors: Partial<ThemeColorMap>) => string[])

Shorthand for designer.theme.setColors(...).

store: UseBoundStore<StoreApi<AsukaState>>

Expose the zustand store for advanced integrations (read-only usage recommended).

Theme token helpers for live UI customization.

Vanilla-friendly UI helpers to build custom modules without importing every component manually.

State, permissions, translations and low-level runtime helpers.

variations: AsukaVariationsApi

Typed element-variation catalog and synchronized 2D/3D mutations.