Vues (front, back, etc.). For now we only keep an id + a label. Later we can attach the canvas state for each view.

interface AsukaView {
    dpi: number;
    engine?: AsukaRenderEngineKind;
    height: number;
    id: string;
    name: string;
    physicalSize?: AsukaPhysicalSize;
    scene3d?: Asuka3DSceneState;
    unit:
        | "px"
        | "mm"
        | "cm"
        | "in";
    width: number;
}

Properties

dpi: number

Pixels-per-inch used when the user enters sizes in cm/mm/in.

Rendering engine for this view. Defaults to the global Fabric engine.

height: number
id: string
name: string
physicalSize?: AsukaPhysicalSize

Real-world extent represented by this view when no narrower drawing-area calibration exists.

Initial or persisted 3D scene state for 3D views.

unit:
    | "px"
    | "mm"
    | "cm"
    | "in"

Last unit used in the UI for this view.

width: number

Virtual document size for this view (world units / px).