interface AsukaDocumentState {
    createdAt: string;
    drawingAreas?: AsukaDocumentDrawingAreasState;
    elements?: unknown[];
    engineMode: AsukaDocumentEngineMode;
    format: "asuka-document";
    metadata?: Record<string, unknown>;
    nativeSnapshots?: AsukaNativeSnapshotsState;
    objectsByView: Record<string, unknown[]>;
    scenes3d?: Record<string, Asuka3DSceneState>;
    schemaVersion: 2;
    selection?: AsukaDocumentSelectionState;
    viewportByView?: Record<string, AsukaDocumentViewportState>;
    views: {
        activeViewId: null | string;
        views: AsukaView[];
    };
}

Properties

createdAt: string

Engine-neutral drawing/print areas.

elements?: unknown[]

Embedded element catalog needed by element instances in this document.

format

Stable document payload marker.

metadata?: Record<string, unknown>
nativeSnapshots?: AsukaNativeSnapshotsState

Native engine snapshots are technical caches, not the source of truth.

objectsByView: Record<string, unknown[]>

Engine-neutral design objects by view. This is the business source for 2D content.

scenes3d?: Record<string, Asuka3DSceneState>

Engine-neutral 3D scene state by view. This is the business source for 3D content.

schemaVersion

Stable document schema, independent from app-state schema.

viewportByView?: Record<string, AsukaDocumentViewportState>
views: {
    activeViewId: null | string;
    views: AsukaView[];
}