Type Alias AsukaExportedState
AsukaExportedState: { appearance?: { defaults?: AsukaState["defaults"]; theme?: ThemeInit; }; behavior?: { listenersEnabled?: AsukaState["listenersEnabled"]; listenerSettings?: AsukaState["listenerSettings"]; }; catalog?: { colors?: AsukaState["colors"]; designs?: { category?: string; name: string; price?: number | string; url: string; }[]; elements?: AsukaState["elements"]; printingMethods?: AsukaState["printingMethods"]; }; configuration?: { fontsCatalog?: AsukaState["fontsCatalog"]; integrations?: AsukaState["integrations"]; moduleConfig?: AsukaState["moduleConfig"]; }; document?: { asukaDocument?: AsukaDocumentState; drawingAreas?: { activeByView?: Record<string, string | null>; activeDrawingAreaId: string | null; byView?: Record<string, SerializedDrawingArea[]>; zones: SerializedDrawingArea[]; }; elements?: AsukaState["elements"]; objects?: { byView: Record<string, any[]>; source: | "document-store" | "view-snapshots" | "mixed" | "asuka-document"; }; scenes3d?: Record<string, any>; selection?: { activeDrawingAreaId: string | null; activeObjectIds: string[]; }; snapshots?: { snapshotsByView: Record<string, any>; }; viewportByView?: Record<string, { panX: number; panY: number; zoom: number; }>; views?: { activeViewId: AsukaState["activeViewId"]; views: AsukaState["views"]; }; }; exportedAt: string; format: "asuka-state"; history?: { info: { canRedo: boolean; canUndo: boolean; index: number; length: number; maxSnapshots: number; }; mode: "document-state-history"; tracks3dByView?: Record<string, any>; tracksFabricByView?: Record<string, any>; }; layout?: { blocksByZone: AsukaState["blocksByZone"]; zoneCollapsed: AsukaState["zoneCollapsed"]; zoneCollapsible: AsukaState["zoneCollapsible"]; zoneType: AsukaState["zoneType"]; }; meta?: { app: "AsukaDesigner"; exportedAt: string; schemaVersion: 2; }; modules?: { activeModuleId: AsukaState["activeModuleId"]; hiddenModules?: AsukaState["hiddenModules"]; moduleDisplayModeOverrides?: Record<string, any>; moduleMountTargetOverrides?: Record<string, string>; moduleOverlayAnchorBox?: AsukaState["moduleOverlayAnchorBox"]; moduleOverlayStack?: AsukaState["moduleOverlayStack"]; moduleOverlayType?: AsukaState["moduleOverlayType"]; mountedModules?: AsukaState["mountedModules"]; pendingOpenCreateViewModal?: AsukaState["pendingOpenCreateViewModal"]; pendingRestoreSelectionMenu?: AsukaState["pendingRestoreSelectionMenu"]; }; permissions?: { permissions: AsukaState["permissions"]; permissionsByView: Record<string, Partial<AsukaState["permissions"]>>; role: any; }; pricing?: { basePrice?: AsukaState["price"]; rules?: AsukaState["pricingRules"]; totals?: AsukaState["pricingTotals"]; }; schemaVersion: 2; scope: Required<AsukaStateScope> & { appearance: Required<NonNullable<AsukaStateScope["appearance"]>>; behavior: Required<NonNullable<AsukaStateScope["behavior"]>>; catalog: Required<NonNullable<AsukaStateScope["catalog"]>>; configuration: Required<NonNullable<AsukaStateScope["configuration"]>>; document: Required<NonNullable<AsukaStateScope["document"]>>; pricing: Required<NonNullable<AsukaStateScope["pricing"]>>; tools: Required<NonNullable<AsukaStateScope["tools"]>>; }; tools?: { colorScope?: AsukaState["colorScope"]; fixedSlots?: { activeId: AsukaState["fixedSlotActiveId"]; editor: AsukaState["markerEditorState"]; placing: AsukaState["fixedSlotsPlacing"]; slots: AsukaState["fixedSlots"]; }; magnifier?: { active: AsukaState["magnifierActive"]; enabled: AsukaState["magnifierEnabled"]; size: AsukaState["magnifierSize"]; x: AsukaState["magnifierX"]; y: AsukaState["magnifierY"]; zoom: AsukaState["magnifierZoom"]; }; ruler?: { dpi: AsukaState["rulerDpi"]; enabled: AsukaState["rulerEnabled"]; product: AsukaState["rulerProduct"]; unit: AsukaState["rulerUnit"]; }; selectionMenu?: { anchorBox: AsukaState["selectionMenuAnchorBox"]; items: AsukaState["selectionMenuItems"]; open: AsukaState["selectionMenuOpen"]; rootType: AsukaState["selectionMenuRootType"]; stack: AsukaState["selectionMenuStack"]; type: AsukaState["selectionMenuType"]; }; shapes?: { editDefaults: AsukaState["shapeEditDefaults"]; placing: AsukaState["shapePlacing"]; style: AsukaState["shapeStyle"]; svgAssets: AsukaState["shapeSvgAssets"]; }; }; } Type declaration
Optionalcatalog?: {
colors?: AsukaState["colors"];
designs?: {
category?: string;
name: string;
price?: number | string;
url: string;
}[];
elements?: AsukaState["elements"];
printingMethods?: AsukaState["printingMethods"];
}
Optionaldesigns?: {
category?: string;
name: string;
price?: number | string;
url: string;
}[]
Optionaldocument?: {
asukaDocument?: AsukaDocumentState;
drawingAreas?: {
activeByView?: Record<string, string | null>;
activeDrawingAreaId: string | null;
byView?: Record<string, SerializedDrawingArea[]>;
zones: SerializedDrawingArea[];
};
elements?: AsukaState["elements"];
objects?: {
byView: Record<string, any[]>;
source:
| "document-store"
| "view-snapshots"
| "mixed"
| "asuka-document";
};
scenes3d?: Record<string, any>;
selection?: {
activeDrawingAreaId: string | null;
activeObjectIds: string[];
};
snapshots?: {
snapshotsByView: Record<string, any>;
};
viewportByView?: Record<string, {
panX: number;
panY: number;
zoom: number;
}>;
views?: {
activeViewId: AsukaState["activeViewId"];
views: AsukaState["views"];
};
}
OptionaldrawingAreas?: {
activeByView?: Record<string, string | null>;
activeDrawingAreaId: string | null;
byView?: Record<string, SerializedDrawingArea[]>;
zones: SerializedDrawingArea[];
}
OptionalactiveByView?: Record<string, string | null>
activeDrawingAreaId: string | null
Optionalobjects?: {
byView: Record<string, any[]>;
source:
| "document-store"
| "view-snapshots"
| "mixed"
| "asuka-document";
}
byView: Record<string, any[]>
source:
| "document-store"
| "view-snapshots"
| "mixed"
| "asuka-document"
Optionalscenes3d?: Record<string, any>
Optionalselection?: {
activeDrawingAreaId: string | null;
activeObjectIds: string[];
}
activeDrawingAreaId: string | null
activeObjectIds: string[]
Optionalsnapshots?: {
snapshotsByView: Record<string, any>;
}
snapshotsByView: Record<string, any>
OptionalviewportByView?: Record<string, {
panX: number;
panY: number;
zoom: number;
}>
exportedAt: string
format: "asuka-state"
Optionalhistory?: {
info: {
canRedo: boolean;
canUndo: boolean;
index: number;
length: number;
maxSnapshots: number;
};
mode: "document-state-history";
tracks3dByView?: Record<string, any>;
tracksFabricByView?: Record<string, any>;
}
info: {
canRedo: boolean;
canUndo: boolean;
index: number;
length: number;
maxSnapshots: number;
}
canRedo: boolean
canUndo: boolean
index: number
length: number
maxSnapshots: number
mode: "document-state-history"
Optionaltracks3dByView?: Record<string, any>
OptionaltracksFabricByView?: Record<string, any>
Optionalmeta?: {
app: "AsukaDesigner";
exportedAt: string;
schemaVersion: 2;
}
app: "AsukaDesigner"
exportedAt: string
schemaVersion: 2
OptionalmoduleDisplayModeOverrides?: Record<string, any>
OptionalmoduleMountTargetOverrides?: Record<string, string>
Optionalpermissions?: {
permissions: AsukaState["permissions"];
permissionsByView: Record<string, Partial<AsukaState["permissions"]>>;
role: any;
}
schemaVersion: 2
scope: Required<AsukaStateScope> & {
appearance: Required<NonNullable<AsukaStateScope["appearance"]>>;
behavior: Required<NonNullable<AsukaStateScope["behavior"]>>;
catalog: Required<NonNullable<AsukaStateScope["catalog"]>>;
configuration: Required<NonNullable<AsukaStateScope["configuration"]>>;
document: Required<NonNullable<AsukaStateScope["document"]>>;
pricing: Required<NonNullable<AsukaStateScope["pricing"]>>;
tools: Required<NonNullable<AsukaStateScope["tools"]>>;
}
Active theme preset and effective token colors.