@sebastianwessel/isostate 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"scene-parser.d.ts","sourceRoot":"","sources":["../../src/dsl/scene-parser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAiBX,aAAa,EAIb,MAAM,mBAAmB,CAAC;AA8nB3B;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAkBrD"}
1
+ {"version":3,"file":"scene-parser.d.ts","sourceRoot":"","sources":["../../src/dsl/scene-parser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAkBX,aAAa,EAIb,MAAM,mBAAmB,CAAC;AAuqB3B;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAkBrD"}
@@ -1,9 +1,10 @@
1
- import type { RuntimeConnectorState, RuntimeElementState, SceneDocument, SceneStep, ValidationReport } from "../types/index.ts";
1
+ import type { RuntimeCameraFocus, RuntimeConnectorState, RuntimeElementState, SceneDocument, SceneStep, ValidationReport } from "../types/index.ts";
2
2
  export interface ResolvedSceneSnapshot {
3
3
  id: string;
4
4
  progress: number;
5
5
  elements: RuntimeElementState[];
6
6
  connectors: RuntimeConnectorState[];
7
+ camera?: RuntimeCameraFocus;
7
8
  }
8
9
  export declare function validateScene(document: SceneDocument): ValidationReport;
9
10
  export declare function resolveSceneSnapshots(document: SceneDocument): ResolvedSceneSnapshot[];
@@ -1 +1 @@
1
- {"version":3,"file":"scene-validator.d.ts","sourceRoot":"","sources":["../../src/dsl/scene-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAYX,qBAAqB,EAErB,mBAAmB,EACnB,aAAa,EACb,SAAS,EAGT,gBAAgB,EAEhB,MAAM,mBAAmB,CAAC;AAoE3B,MAAM,WAAW,qBAAqB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACpC;AA2zCD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,gBAAgB,CAiBvE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,qBAAqB,EAAE,CAyGtF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAK9D"}
1
+ {"version":3,"file":"scene-validator.d.ts","sourceRoot":"","sources":["../../src/dsl/scene-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAaX,kBAAkB,EAClB,qBAAqB,EAErB,mBAAmB,EACnB,aAAa,EACb,SAAS,EAGT,gBAAgB,EAEhB,MAAM,mBAAmB,CAAC;AAqE3B,MAAM,WAAW,qBAAqB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC5B;AA03CD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,gBAAgB,CAiBvE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,qBAAqB,EAAE,CA0GtF;AAsBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAK9D"}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  export { AnimationEngine, type FrameUpdate, type LifecycleKey, } from "./animation/animation-engine.ts";
2
- export type { ControllerConfig, ControllerEvents, } from "./animation/controller.ts";
2
+ export type { CameraGridArea, CameraState, CameraZoomOptions, ControllerConfig, ControllerEvents, } from "./animation/controller.ts";
3
3
  export { AnimationController } from "./animation/controller.ts";
4
4
  export { buildSceneDOM, type RenderConfig, } from "./rendering/rendering-engine.ts";
5
5
  export { applyThemeToElement } from "./rendering/theme.ts";
6
6
  export { type MountedScene, type MountSceneOptions, mountScene, type ResolvedRuntimeConfig, type RuntimeBundle, } from "./runtime/index.ts";
7
7
  export { AssetRegistryImpl, composeTheme, createAssetRegistry, createDefaultRegistry, resolveTheme, } from "./types/asset-registry.ts";
8
8
  export { AnimationError, ControllerError, ParseError, RenderError, ValidationErrorClass, } from "./types/errors.ts";
9
- export type { AmbientAnimation, AssetCatalogEntry, AssetCategory, AssetDefinition, AssetRegistry, CompiledAsset, CompiledFloor, CompiledLayer, CompiledLayout, ElementPatch, ElementPlacement, ElementRemoval, EntryAnimation, ExitAnimation, FloorConfig, GridConfig, LayerDefinition, LayoutBounds, LayoutFit, LifecycleStatus, ResolvedLayoutConfig, RuntimeElementState, RuntimeSceneStop, SceneDocument, SceneHeader, SceneStep, Theme, ValidationError, ValidationReport, ValidationWarning, } from "./types/index.ts";
9
+ export type { AmbientAnimation, AssetCatalogEntry, AssetCategory, AssetDefinition, AssetRegistry, CameraEasing, CameraFocus, CameraTarget, CompiledAsset, CompiledFloor, CompiledLayer, CompiledLayout, ElementPatch, ElementPlacement, ElementRemoval, EntryAnimation, ExitAnimation, FloorConfig, GridConfig, LayerDefinition, LayoutBounds, LayoutFit, LifecycleStatus, ResolvedLayoutConfig, RuntimeElementState, RuntimeSceneStop, SceneDocument, SceneHeader, SceneStep, Theme, ValidationError, ValidationReport, ValidationWarning, } from "./types/index.ts";
10
10
  export { guardEntryAnimation, guardExitAnimation, guardLifecycleStatus, } from "./types/node.ts";
11
11
  export { calculateTransform, calculateVisualSize, DEFAULT_CELL_SIZE, type EasingFn, type EasingType, easeInCubic, easeInOutCubic, easeOutCubic, linear, projectToScreen, resolveEasing, } from "./utils/index.ts";
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,GACjB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACX,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACN,aAAa,EACb,KAAK,YAAY,GACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,UAAU,EACV,KAAK,qBAAqB,EAC1B,KAAK,aAAa,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,GACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACN,cAAc,EACd,eAAe,EACf,UAAU,EACV,WAAW,EACX,oBAAoB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACX,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,YAAY,EACZ,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,SAAS,EACT,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,WAAW,EACX,cAAc,EACd,YAAY,EACZ,MAAM,EACN,eAAe,EACf,aAAa,GACb,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,GACjB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACX,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACN,aAAa,EACb,KAAK,YAAY,GACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,UAAU,EACV,KAAK,qBAAqB,EAC1B,KAAK,aAAa,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,GACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACN,cAAc,EACd,eAAe,EACf,UAAU,EACV,WAAW,EACX,oBAAoB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACX,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,YAAY,EACZ,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,SAAS,EACT,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,WAAW,EACX,cAAc,EACd,YAAY,EACZ,MAAM,EACN,eAAe,EACf,aAAa,GACb,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { A as AnimationController, a as AnimationEngine, b as AssetRegistryImpl, D as DEFAULT_CELL_SIZE, c as applyThemeToElement, d as buildSceneDOM, e as calculateTransform, f as calculateVisualSize, g as composeTheme, h as createAssetRegistry, i as createDefaultRegistry, j as easeInCubic, k as easeInOutCubic, l as easeOutCubic, m as linear, n as mountScene, p as projectToScreen, r as resolveEasing, o as resolveTheme } from './chunks/index-DEv2-G9F.js';
1
+ export { A as AnimationController, a as AnimationEngine, b as AssetRegistryImpl, D as DEFAULT_CELL_SIZE, c as applyThemeToElement, d as buildSceneDOM, e as calculateTransform, f as calculateVisualSize, g as composeTheme, h as createAssetRegistry, i as createDefaultRegistry, j as easeInCubic, k as easeInOutCubic, l as easeOutCubic, m as linear, n as mountScene, p as projectToScreen, r as resolveEasing, o as resolveTheme } from './chunks/index-DoyWxJDm.js';
2
2
  export { A as AnimationError, C as ControllerError, P as ParseError, R as RenderError, V as ValidationErrorClass } from './chunks/errors-DyqEkrm5.js';
3
3
 
4
4
  /** Runtime set of valid entry animation strings */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/types/node.ts"],"sourcesContent":["/** Entry animation types */\nexport type EntryAnimation =\n\t| \"fade-in\"\n\t| \"fade-in-grow\"\n\t| \"fall-in\"\n\t| \"rise-from-ground\"\n\t| \"slide-in-left\"\n\t| \"slide-in-right\"\n\t| \"flip-in\"\n\t| \"none\";\n\n/** Exit animation types */\nexport type ExitAnimation =\n\t| \"fade-out\"\n\t| \"fade-out-shrink\"\n\t| \"fall-through-ground\"\n\t| \"rise-away\"\n\t| \"slide-out-left\"\n\t| \"slide-out-right\"\n\t| \"flip-out\"\n\t| \"none\";\n\n/** Runtime/compiler-derived lifecycle status. Not authored in YAML. */\nexport type LifecycleStatus = \"entering\" | \"present\" | \"exiting\" | \"removed\";\n\n/** Runtime set of valid entry animation strings */\nexport const ENTRY_ANIMATIONS: ReadonlySet<EntryAnimation> = new Set([\n\t\"fade-in\",\n\t\"fade-in-grow\",\n\t\"fall-in\",\n\t\"rise-from-ground\",\n\t\"slide-in-left\",\n\t\"slide-in-right\",\n\t\"flip-in\",\n\t\"none\",\n]);\n\n/** Runtime set of valid exit animation strings */\nexport const EXIT_ANIMATIONS: ReadonlySet<ExitAnimation> = new Set([\n\t\"fade-out\",\n\t\"fade-out-shrink\",\n\t\"fall-through-ground\",\n\t\"rise-away\",\n\t\"slide-out-left\",\n\t\"slide-out-right\",\n\t\"flip-out\",\n\t\"none\",\n]);\n\n/** Runtime set of valid lifecycle status strings */\nexport const LIFECYCLE_STATUSES: ReadonlySet<LifecycleStatus> = new Set([\"entering\", \"present\", \"exiting\", \"removed\"]);\n\n/** Ambient animation configuration */\nexport interface AmbientAnimation {\n\t/** Animation class name */\n\tname: string;\n\t/** Whether the animation runs infinitely (default: true) */\n\tinfinite?: boolean;\n\t/** Number of times to play (only relevant when infinite: false) */\n\titerations?: number;\n}\n\n/** Horizontal anchor used by built-in text elements. */\nexport type TextAlign = \"start\" | \"middle\" | \"end\";\n\n/** Content and safe SVG text styling for the built-in `asset: text` element. */\nexport interface TextContent {\n\t/** Text content. Use newline characters for explicit line breaks. */\n\tvalue: string;\n\t/** Horizontal text anchor within the element cell. Defaults to `middle`. */\n\talign?: TextAlign;\n\t/** SVG font-size in CSS pixels before element scaling. Defaults to `12`. */\n\tfontSize?: number;\n\t/** SVG font-weight. Defaults to `700`. */\n\tfontWeight?: number | \"normal\" | \"bold\";\n\t/** Multiplier applied to `fontSize` for multiline spacing. Defaults to `1.2`. */\n\tlineHeight?: number;\n\t/** SVG fill color. Defaults to `currentColor`. */\n\tfill?: string;\n}\n\n/** Built-in generated primitive asset ids. These are not declared in header assets. */\nexport type PrimitiveAssetId = \"rectangle\" | \"circle\" | \"polygon\" | \"line\";\n\n/** Shared safe SVG style fields for generated primitive assets. */\nexport interface PrimitiveStyle {\n\t/** SVG fill color or safe CSS color token. Defaults to `currentColor`. */\n\tfill?: string;\n\t/** SVG stroke color or safe CSS color token. Defaults to `none`. */\n\tstroke?: string;\n\t/** SVG stroke width in CSS pixels before element scaling. Defaults to `0`. */\n\tstrokeWidth?: number;\n\t/** Element opacity from `0` to `1`. Defaults to `1`. */\n\topacity?: number;\n\t/** Optional dash/gap pair for stroked primitives. */\n\tdash?: [number, number];\n}\n\n/** Generated projected rectangle/diamond primitive content. */\nexport interface RectanglePrimitive extends PrimitiveStyle {\n\t/** Optional corner radius for screen-space rectangles. Defaults to `0`. */\n\trx?: number;\n}\n\n/** Generated circle primitive content. */\nexport interface CirclePrimitive extends PrimitiveStyle {}\n\n/** Generated polygon primitive content using normalized local grid coordinates. */\nexport interface PolygonPrimitive extends PrimitiveStyle {\n\t/** Polygon points in local normalized grid coordinates from `0` to `1`. */\n\tpoints: [number, number][];\n}\n\n/** Generated line/polyline primitive content using normalized local grid coordinates. */\nexport interface LinePrimitive extends Omit<PrimitiveStyle, \"fill\"> {\n\t/** Line points in local normalized grid coordinates from `0` to `1`. */\n\tpoints: [number, number][];\n\t/** SVG line cap. Defaults to `round`. */\n\tlineCap?: \"butt\" | \"round\" | \"square\";\n\t/** SVG line join. Defaults to `round`. */\n\tlineJoin?: \"miter\" | \"round\" | \"bevel\";\n}\n\n/** Element-level payload for generated primitive assets. */\nexport interface PrimitiveContent {\n\trectangle?: RectanglePrimitive;\n\tcircle?: CirclePrimitive;\n\tpolygon?: PolygonPrimitive;\n\tline?: LinePrimitive;\n}\n\n/** Element placement used in first-scene elements and later add operations. */\nexport interface ElementPlacement {\n\tid: string;\n\tasset: string;\n\tat: [number, number];\n\tsize?: number;\n\tlayer?: string;\n\tenter?: EntryAnimation;\n\texit?: ExitAnimation;\n\tambient?: AmbientAnimation[];\n\ttext?: TextContent;\n\tprimitive?: PrimitiveContent;\n}\n\n/** Element patch used by scene update operations. */\nexport interface ElementPatch {\n\tid: string;\n\tat?: [number, number];\n\tsize?: number;\n\tlayer?: string;\n\tenter?: EntryAnimation;\n\texit?: ExitAnimation;\n\tambient?: AmbientAnimation[];\n\ttext?: TextContent;\n\tprimitive?: PrimitiveContent;\n}\n\n/** Element removal used by scene remove operations. */\nexport interface ElementRemoval {\n\tid: string;\n\texit?: ExitAnimation;\n}\n\n/** Visual connector line pattern for authored connections and runtime connectors. */\nexport type ConnectorPattern = \"solid\" | \"dashed\" | \"dotted\";\n\n/** Visual connector geometry variant. */\nexport type ConnectorVariant = \"line\" | \"road\";\n\n/** Generated endpoint indicator placed at the start or end of a connector. */\nexport type ConnectorEndpoint = \"none\" | \"arrow\" | \"dot\" | \"circle\" | \"diamond\" | \"bar\";\n\n/** Direction used for connector endpoint orientation and flow animation. */\nexport type ConnectorDirection = \"route\" | \"reverse\";\n\n/** Authored connector style overrides for a visual connection. */\nexport interface ConnectorStyle {\n\t/** Geometry variant. Defaults to `line`. */\n\tvariant?: ConnectorVariant;\n\t/** Stroke pattern. Defaults to `solid`. */\n\tpattern?: ConnectorPattern;\n\t/** SVG stroke color or safe CSS color token. */\n\tstroke?: string;\n\t/** Stroke width in SVG user units. */\n\tstrokeWidth?: number;\n\t/** Connector opacity from `0` to `1`. */\n\topacity?: number;\n\t/** Explicit dash/gap pair in SVG user units. */\n\tdash?: [number, number];\n\t/** Optional outline stroke color for road connectors. */\n\toutline?: string;\n\t/** Optional outline width in SVG user units. */\n\toutlineWidth?: number;\n\t/** Optional road lane treatment. */\n\tlane?: \"none\" | \"center-dashed\";\n}\n\n/** Authored endpoint reference for compiler-routed visual connections. */\nexport interface ConnectorEndpointRef {\n\t/** Element id to attach to. Mutually exclusive with `at`. */\n\telement?: string;\n\t/** Explicit grid point to attach to. Mutually exclusive with `element`. */\n\tat?: [number, number];\n\t/** Element side or automatic side selection. Defaults to `auto`. */\n\tside?: \"auto\" | \"top\" | \"right\" | \"bottom\" | \"left\" | \"front\" | \"back\";\n\t/** Normalized side offset from `-0.5` to `0.5`. Defaults to `0`. */\n\toffset?: number;\n}\n\n/** Authored routing options used only by dev-time compiler tooling. */\nexport interface ConnectorRouting {\n\t/** Routing mode. Defaults to `orthogonal` for endpoint-routed connections. */\n\tmode?: \"straight\" | \"orthogonal\" | \"manual\";\n\t/** Obstacle avoidance selection. Defaults to `objects`. */\n\tavoid?: \"objects\" | \"none\" | string[];\n\t/** Obstacle clearance in grid cells. Defaults to `0.5`. */\n\tclearance?: number;\n\t/** Router grid step in grid cells. */\n\tgridStep?: number;\n\t/** Maximum allowed bends for advanced routers. */\n\tmaxBends?: number;\n\t/** Route scoring preference for advanced routers. */\n\tprefer?: \"direct\" | \"fewest-bends\" | \"shortest\";\n}\n\n/** Connection placement used in first-scene connections and later add operations. */\nexport interface ConnectionPlacement {\n\tid: string;\n\troute?: [number, number][];\n\tfrom?: ConnectorEndpointRef;\n\tto?: ConnectorEndpointRef;\n\trouting?: ConnectorRouting;\n\tlayer?: string;\n\tstyle?: ConnectorStyle;\n\tstart?: ConnectorEndpoint;\n\tend?: ConnectorEndpoint;\n\tdirection?: ConnectorDirection;\n\tenter?: EntryAnimation;\n\texit?: ExitAnimation;\n\tambient?: AmbientAnimation[];\n}\n\n/** Connection patch used by scene update operations. */\nexport interface ConnectionPatch {\n\tid: string;\n\troute?: [number, number][];\n\tfrom?: ConnectorEndpointRef;\n\tto?: ConnectorEndpointRef;\n\trouting?: ConnectorRouting;\n\tlayer?: string;\n\tstyle?: ConnectorStyle;\n\tstart?: ConnectorEndpoint;\n\tend?: ConnectorEndpoint;\n\tdirection?: ConnectorDirection;\n\tenter?: EntryAnimation;\n\texit?: ExitAnimation;\n\tambient?: AmbientAnimation[];\n}\n\n/** Connection removal used by scene remove operations. */\nexport interface ConnectionRemoval {\n\tid: string;\n\texit?: ExitAnimation;\n}\n\n/** Fully defaulted connector style emitted to browser runtime snapshots. */\nexport interface RuntimeConnectorStyle {\n\tvariant: ConnectorVariant;\n\tpattern: ConnectorPattern;\n\tstroke: string;\n\tstrokeWidth: number;\n\topacity: number;\n\tdash?: [number, number];\n\toutline?: string;\n\toutlineWidth: number;\n\tlane: \"none\" | \"center-dashed\";\n}\n\n/** Runtime-resolved connector state in a compiled scene stop. */\nexport interface RuntimeConnectorState {\n\tid: string;\n\troute: [number, number][];\n\tlayer: string;\n\tpresence: LifecycleStatus;\n\tstyle: RuntimeConnectorStyle;\n\tstart: ConnectorEndpoint;\n\tend: ConnectorEndpoint;\n\tdirection: ConnectorDirection;\n\tenter?: EntryAnimation;\n\texit?: ExitAnimation;\n\tambient?: AmbientAnimation[];\n}\n\n/** Runtime-resolved element state in a compiled scene stop. */\nexport interface RuntimeElementState {\n\tid: string;\n\tasset: string;\n\tpos: [number, number];\n\tsize: number;\n\tlayer: string;\n\tpresence: LifecycleStatus;\n\tenter?: EntryAnimation;\n\texit?: ExitAnimation;\n\tambient?: AmbientAnimation[];\n\ttext?: TextContent;\n\tprimitive?: PrimitiveContent;\n}\n\n// ── Type guards ──────────────────────────────────────────────────────────────\n\n/** Narrow a raw string to EntryAnimation. Returns undefined if invalid. */\nexport function guardEntryAnimation(v: unknown): EntryAnimation | undefined {\n\tif (typeof v !== \"string\") return undefined;\n\treturn ENTRY_ANIMATIONS.has(v as EntryAnimation) ? (v as EntryAnimation) : undefined;\n}\n\n/** Narrow a raw string to ExitAnimation. Returns undefined if invalid. */\nexport function guardExitAnimation(v: unknown): ExitAnimation | undefined {\n\tif (typeof v !== \"string\") return undefined;\n\treturn EXIT_ANIMATIONS.has(v as ExitAnimation) ? (v as ExitAnimation) : undefined;\n}\n\n/** Narrow a raw string to LifecycleStatus. Returns undefined if invalid. */\nexport function guardLifecycleStatus(v: unknown): LifecycleStatus | undefined {\n\tif (typeof v !== \"string\") return undefined;\n\treturn LIFECYCLE_STATUSES.has(v as LifecycleStatus) ? (v as LifecycleStatus) : undefined;\n}\n"],"names":[],"mappings":";;;AAyBA;AACO,MAAM,gBAAgB,GAAgC,IAAI,GAAG,CAAC;IACpE,SAAS;IACT,cAAc;IACd,SAAS;IACT,kBAAkB;IAClB,eAAe;IACf,gBAAgB;IAChB,SAAS;IACT,MAAM;AACN,CAAA,CAAC;AAEF;AACO,MAAM,eAAe,GAA+B,IAAI,GAAG,CAAC;IAClE,UAAU;IACV,iBAAiB;IACjB,qBAAqB;IACrB,WAAW;IACX,gBAAgB;IAChB,iBAAiB;IACjB,UAAU;IACV,MAAM;AACN,CAAA,CAAC;AAEF;AACO,MAAM,kBAAkB,GAAiC,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAmQtH;AAEA;AACM,SAAU,mBAAmB,CAAC,CAAU,EAAA;IAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ;AAAE,QAAA,OAAO,SAAS;AAC3C,IAAA,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAmB,CAAC,GAAI,CAAoB,GAAG,SAAS;AACrF;AAEA;AACM,SAAU,kBAAkB,CAAC,CAAU,EAAA;IAC5C,IAAI,OAAO,CAAC,KAAK,QAAQ;AAAE,QAAA,OAAO,SAAS;AAC3C,IAAA,OAAO,eAAe,CAAC,GAAG,CAAC,CAAkB,CAAC,GAAI,CAAmB,GAAG,SAAS;AAClF;AAEA;AACM,SAAU,oBAAoB,CAAC,CAAU,EAAA;IAC9C,IAAI,OAAO,CAAC,KAAK,QAAQ;AAAE,QAAA,OAAO,SAAS;AAC3C,IAAA,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAoB,CAAC,GAAI,CAAqB,GAAG,SAAS;AACzF;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/types/node.ts"],"sourcesContent":["/** Entry animation types */\nexport type EntryAnimation =\n\t| \"fade-in\"\n\t| \"fade-in-grow\"\n\t| \"fall-in\"\n\t| \"rise-from-ground\"\n\t| \"slide-in-left\"\n\t| \"slide-in-right\"\n\t| \"flip-in\"\n\t| \"none\";\n\n/** Exit animation types */\nexport type ExitAnimation =\n\t| \"fade-out\"\n\t| \"fade-out-shrink\"\n\t| \"fall-through-ground\"\n\t| \"rise-away\"\n\t| \"slide-out-left\"\n\t| \"slide-out-right\"\n\t| \"flip-out\"\n\t| \"none\";\n\n/** Runtime/compiler-derived lifecycle status. Not authored in YAML. */\nexport type LifecycleStatus = \"entering\" | \"present\" | \"exiting\" | \"removed\";\n\n/** Runtime set of valid entry animation strings */\nexport const ENTRY_ANIMATIONS: ReadonlySet<EntryAnimation> = new Set([\n\t\"fade-in\",\n\t\"fade-in-grow\",\n\t\"fall-in\",\n\t\"rise-from-ground\",\n\t\"slide-in-left\",\n\t\"slide-in-right\",\n\t\"flip-in\",\n\t\"none\",\n]);\n\n/** Runtime set of valid exit animation strings */\nexport const EXIT_ANIMATIONS: ReadonlySet<ExitAnimation> = new Set([\n\t\"fade-out\",\n\t\"fade-out-shrink\",\n\t\"fall-through-ground\",\n\t\"rise-away\",\n\t\"slide-out-left\",\n\t\"slide-out-right\",\n\t\"flip-out\",\n\t\"none\",\n]);\n\n/** Runtime set of valid lifecycle status strings */\nexport const LIFECYCLE_STATUSES: ReadonlySet<LifecycleStatus> = new Set([\"entering\", \"present\", \"exiting\", \"removed\"]);\n\n/** Ambient animation configuration */\nexport interface AmbientAnimation {\n\t/** Animation class name */\n\tname: string;\n\t/** Whether the animation runs infinitely (default: true) */\n\tinfinite?: boolean;\n\t/** Number of times to play (only relevant when infinite: false) */\n\titerations?: number;\n}\n\nexport type CameraEasing = \"linear\" | \"ease-in-out\" | \"ease-out\";\n\nexport interface CameraGridArea {\n\tat: [number, number];\n\tsize: [number, number];\n}\n\nexport type CameraTarget = { element: string } | { area: CameraGridArea } | { reset: true };\n\nexport interface CameraFocus {\n\ttarget: CameraTarget;\n\tpadding?: number;\n\tduration?: number;\n\teasing?: CameraEasing;\n}\n\nexport interface CameraZoomOptions {\n\tpadding?: number;\n\tduration?: number;\n\teasing?: CameraEasing;\n}\n\nexport type RuntimeCameraTarget =\n\t| { type: \"element\"; id: string }\n\t| { type: \"area\"; at: [number, number]; size: [number, number] }\n\t| { type: \"reset\" };\n\nexport interface RuntimeCameraFocus {\n\ttarget: RuntimeCameraTarget;\n\tpadding?: number;\n\tduration?: number;\n\teasing?: CameraEasing;\n}\n\n/** Horizontal anchor used by built-in text elements. */\nexport type TextAlign = \"start\" | \"middle\" | \"end\";\n\n/** Content and safe SVG text styling for the built-in `asset: text` element. */\nexport interface TextContent {\n\t/** Text content. Use newline characters for explicit line breaks. */\n\tvalue: string;\n\t/** Horizontal text anchor within the element cell. Defaults to `middle`. */\n\talign?: TextAlign;\n\t/** SVG font-size in CSS pixels before element scaling. Defaults to `12`. */\n\tfontSize?: number;\n\t/** SVG font-weight. Defaults to `700`. */\n\tfontWeight?: number | \"normal\" | \"bold\";\n\t/** Multiplier applied to `fontSize` for multiline spacing. Defaults to `1.2`. */\n\tlineHeight?: number;\n\t/** SVG fill color. Defaults to `currentColor`. */\n\tfill?: string;\n}\n\n/** Built-in generated primitive asset ids. These are not declared in header assets. */\nexport type PrimitiveAssetId = \"rectangle\" | \"circle\" | \"polygon\" | \"line\";\n\n/** Shared safe SVG style fields for generated primitive assets. */\nexport interface PrimitiveStyle {\n\t/** SVG fill color or safe CSS color token. Defaults to `currentColor`. */\n\tfill?: string;\n\t/** SVG stroke color or safe CSS color token. Defaults to `none`. */\n\tstroke?: string;\n\t/** SVG stroke width in CSS pixels before element scaling. Defaults to `0`. */\n\tstrokeWidth?: number;\n\t/** Element opacity from `0` to `1`. Defaults to `1`. */\n\topacity?: number;\n\t/** Optional dash/gap pair for stroked primitives. */\n\tdash?: [number, number];\n}\n\n/** Generated projected rectangle/diamond primitive content. */\nexport interface RectanglePrimitive extends PrimitiveStyle {\n\t/** Optional corner radius for screen-space rectangles. Defaults to `0`. */\n\trx?: number;\n}\n\n/** Generated circle primitive content. */\nexport interface CirclePrimitive extends PrimitiveStyle {}\n\n/** Generated polygon primitive content using normalized local grid coordinates. */\nexport interface PolygonPrimitive extends PrimitiveStyle {\n\t/** Polygon points in local normalized grid coordinates from `0` to `1`. */\n\tpoints: [number, number][];\n}\n\n/** Generated line/polyline primitive content using normalized local grid coordinates. */\nexport interface LinePrimitive extends Omit<PrimitiveStyle, \"fill\"> {\n\t/** Line points in local normalized grid coordinates from `0` to `1`. */\n\tpoints: [number, number][];\n\t/** SVG line cap. Defaults to `round`. */\n\tlineCap?: \"butt\" | \"round\" | \"square\";\n\t/** SVG line join. Defaults to `round`. */\n\tlineJoin?: \"miter\" | \"round\" | \"bevel\";\n}\n\n/** Element-level payload for generated primitive assets. */\nexport interface PrimitiveContent {\n\trectangle?: RectanglePrimitive;\n\tcircle?: CirclePrimitive;\n\tpolygon?: PolygonPrimitive;\n\tline?: LinePrimitive;\n}\n\n/** Element placement used in first-scene elements and later add operations. */\nexport interface ElementPlacement {\n\tid: string;\n\tasset: string;\n\tat: [number, number];\n\tsize?: number;\n\tlayer?: string;\n\tenter?: EntryAnimation;\n\texit?: ExitAnimation;\n\tambient?: AmbientAnimation[];\n\ttext?: TextContent;\n\tprimitive?: PrimitiveContent;\n}\n\n/** Element patch used by scene update operations. */\nexport interface ElementPatch {\n\tid: string;\n\tat?: [number, number];\n\tsize?: number;\n\tlayer?: string;\n\tenter?: EntryAnimation;\n\texit?: ExitAnimation;\n\tambient?: AmbientAnimation[];\n\ttext?: TextContent;\n\tprimitive?: PrimitiveContent;\n}\n\n/** Element removal used by scene remove operations. */\nexport interface ElementRemoval {\n\tid: string;\n\texit?: ExitAnimation;\n}\n\n/** Visual connector line pattern for authored connections and runtime connectors. */\nexport type ConnectorPattern = \"solid\" | \"dashed\" | \"dotted\";\n\n/** Visual connector geometry variant. */\nexport type ConnectorVariant = \"line\" | \"road\";\n\n/** Generated endpoint indicator placed at the start or end of a connector. */\nexport type ConnectorEndpoint = \"none\" | \"arrow\" | \"dot\" | \"circle\" | \"diamond\" | \"bar\";\n\n/** Direction used for connector endpoint orientation and flow animation. */\nexport type ConnectorDirection = \"route\" | \"reverse\";\n\n/** Authored connector style overrides for a visual connection. */\nexport interface ConnectorStyle {\n\t/** Geometry variant. Defaults to `line`. */\n\tvariant?: ConnectorVariant;\n\t/** Stroke pattern. Defaults to `solid`. */\n\tpattern?: ConnectorPattern;\n\t/** SVG stroke color or safe CSS color token. */\n\tstroke?: string;\n\t/** Stroke width in SVG user units. */\n\tstrokeWidth?: number;\n\t/** Connector opacity from `0` to `1`. */\n\topacity?: number;\n\t/** Explicit dash/gap pair in SVG user units. */\n\tdash?: [number, number];\n\t/** Optional outline stroke color for road connectors. */\n\toutline?: string;\n\t/** Optional outline width in SVG user units. */\n\toutlineWidth?: number;\n\t/** Optional road lane treatment. */\n\tlane?: \"none\" | \"center-dashed\";\n}\n\n/** Authored endpoint reference for compiler-routed visual connections. */\nexport interface ConnectorEndpointRef {\n\t/** Element id to attach to. Mutually exclusive with `at`. */\n\telement?: string;\n\t/** Explicit grid point to attach to. Mutually exclusive with `element`. */\n\tat?: [number, number];\n\t/** Element side or automatic side selection. Defaults to `auto`. */\n\tside?: \"auto\" | \"top\" | \"right\" | \"bottom\" | \"left\" | \"front\" | \"back\";\n\t/** Normalized side offset from `-0.5` to `0.5`. Defaults to `0`. */\n\toffset?: number;\n}\n\n/** Authored routing options used only by dev-time compiler tooling. */\nexport interface ConnectorRouting {\n\t/** Routing mode. Defaults to `orthogonal` for endpoint-routed connections. */\n\tmode?: \"straight\" | \"orthogonal\" | \"manual\";\n\t/** Obstacle avoidance selection. Defaults to `objects`. */\n\tavoid?: \"objects\" | \"none\" | string[];\n\t/** Obstacle clearance in grid cells. Defaults to `0.5`. */\n\tclearance?: number;\n\t/** Router grid step in grid cells. */\n\tgridStep?: number;\n\t/** Maximum allowed bends for advanced routers. */\n\tmaxBends?: number;\n\t/** Route scoring preference for advanced routers. */\n\tprefer?: \"direct\" | \"fewest-bends\" | \"shortest\";\n}\n\n/** Connection placement used in first-scene connections and later add operations. */\nexport interface ConnectionPlacement {\n\tid: string;\n\troute?: [number, number][];\n\tfrom?: ConnectorEndpointRef;\n\tto?: ConnectorEndpointRef;\n\trouting?: ConnectorRouting;\n\tlayer?: string;\n\tstyle?: ConnectorStyle;\n\tstart?: ConnectorEndpoint;\n\tend?: ConnectorEndpoint;\n\tdirection?: ConnectorDirection;\n\tenter?: EntryAnimation;\n\texit?: ExitAnimation;\n\tambient?: AmbientAnimation[];\n}\n\n/** Connection patch used by scene update operations. */\nexport interface ConnectionPatch {\n\tid: string;\n\troute?: [number, number][];\n\tfrom?: ConnectorEndpointRef;\n\tto?: ConnectorEndpointRef;\n\trouting?: ConnectorRouting;\n\tlayer?: string;\n\tstyle?: ConnectorStyle;\n\tstart?: ConnectorEndpoint;\n\tend?: ConnectorEndpoint;\n\tdirection?: ConnectorDirection;\n\tenter?: EntryAnimation;\n\texit?: ExitAnimation;\n\tambient?: AmbientAnimation[];\n}\n\n/** Connection removal used by scene remove operations. */\nexport interface ConnectionRemoval {\n\tid: string;\n\texit?: ExitAnimation;\n}\n\n/** Fully defaulted connector style emitted to browser runtime snapshots. */\nexport interface RuntimeConnectorStyle {\n\tvariant: ConnectorVariant;\n\tpattern: ConnectorPattern;\n\tstroke: string;\n\tstrokeWidth: number;\n\topacity: number;\n\tdash?: [number, number];\n\toutline?: string;\n\toutlineWidth: number;\n\tlane: \"none\" | \"center-dashed\";\n}\n\n/** Runtime-resolved connector state in a compiled scene stop. */\nexport interface RuntimeConnectorState {\n\tid: string;\n\troute: [number, number][];\n\tlayer: string;\n\tpresence: LifecycleStatus;\n\tstyle: RuntimeConnectorStyle;\n\tstart: ConnectorEndpoint;\n\tend: ConnectorEndpoint;\n\tdirection: ConnectorDirection;\n\tenter?: EntryAnimation;\n\texit?: ExitAnimation;\n\tambient?: AmbientAnimation[];\n}\n\n/** Runtime-resolved element state in a compiled scene stop. */\nexport interface RuntimeElementState {\n\tid: string;\n\tasset: string;\n\tpos: [number, number];\n\tsize: number;\n\tlayer: string;\n\tpresence: LifecycleStatus;\n\tenter?: EntryAnimation;\n\texit?: ExitAnimation;\n\tambient?: AmbientAnimation[];\n\ttext?: TextContent;\n\tprimitive?: PrimitiveContent;\n}\n\n// ── Type guards ──────────────────────────────────────────────────────────────\n\n/** Narrow a raw string to EntryAnimation. Returns undefined if invalid. */\nexport function guardEntryAnimation(v: unknown): EntryAnimation | undefined {\n\tif (typeof v !== \"string\") return undefined;\n\treturn ENTRY_ANIMATIONS.has(v as EntryAnimation) ? (v as EntryAnimation) : undefined;\n}\n\n/** Narrow a raw string to ExitAnimation. Returns undefined if invalid. */\nexport function guardExitAnimation(v: unknown): ExitAnimation | undefined {\n\tif (typeof v !== \"string\") return undefined;\n\treturn EXIT_ANIMATIONS.has(v as ExitAnimation) ? (v as ExitAnimation) : undefined;\n}\n\n/** Narrow a raw string to LifecycleStatus. Returns undefined if invalid. */\nexport function guardLifecycleStatus(v: unknown): LifecycleStatus | undefined {\n\tif (typeof v !== \"string\") return undefined;\n\treturn LIFECYCLE_STATUSES.has(v as LifecycleStatus) ? (v as LifecycleStatus) : undefined;\n}\n"],"names":[],"mappings":";;;AAyBA;AACO,MAAM,gBAAgB,GAAgC,IAAI,GAAG,CAAC;IACpE,SAAS;IACT,cAAc;IACd,SAAS;IACT,kBAAkB;IAClB,eAAe;IACf,gBAAgB;IAChB,SAAS;IACT,MAAM;AACN,CAAA,CAAC;AAEF;AACO,MAAM,eAAe,GAA+B,IAAI,GAAG,CAAC;IAClE,UAAU;IACV,iBAAiB;IACjB,qBAAqB;IACrB,WAAW;IACX,gBAAgB;IAChB,iBAAiB;IACjB,UAAU;IACV,MAAM;AACN,CAAA,CAAC;AAEF;AACO,MAAM,kBAAkB,GAAiC,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAqStH;AAEA;AACM,SAAU,mBAAmB,CAAC,CAAU,EAAA;IAC7C,IAAI,OAAO,CAAC,KAAK,QAAQ;AAAE,QAAA,OAAO,SAAS;AAC3C,IAAA,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAmB,CAAC,GAAI,CAAoB,GAAG,SAAS;AACrF;AAEA;AACM,SAAU,kBAAkB,CAAC,CAAU,EAAA;IAC5C,IAAI,OAAO,CAAC,KAAK,QAAQ;AAAE,QAAA,OAAO,SAAS;AAC3C,IAAA,OAAO,eAAe,CAAC,GAAG,CAAC,CAAkB,CAAC,GAAI,CAAmB,GAAG,SAAS;AAClF;AAEA;AACM,SAAU,oBAAoB,CAAC,CAAU,EAAA;IAC9C,IAAI,OAAO,CAAC,KAAK,QAAQ;AAAE,QAAA,OAAO,SAAS;AAC3C,IAAA,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAoB,CAAC,GAAI,CAAqB,GAAG,SAAS;AACzF;;;;"}
@@ -1,4 +1,4 @@
1
- import type { RuntimeConnectorState, RuntimeElementState } from "../types/node.ts";
1
+ import type { CameraGridArea, RuntimeConnectorState, RuntimeElementState } from "../types/node.ts";
2
2
  import type { RuntimeBundle } from "../types/runtime-bundle.ts";
3
3
  interface Bounds {
4
4
  minX: number;
@@ -25,11 +25,19 @@ interface ResolvedLayoutState {
25
25
  /** Internal state tracked per element node. */
26
26
  interface ElementState {
27
27
  node: SVGGElement;
28
+ current: RuntimeElementState;
29
+ anchor: [number, number];
28
30
  isHidden: boolean;
29
31
  entryKey?: string;
30
32
  exitKey?: string;
31
33
  ambient: Set<string>;
32
34
  }
35
+ export interface ViewBoxRect {
36
+ minX: number;
37
+ minY: number;
38
+ width: number;
39
+ height: number;
40
+ }
33
41
  /** Internal state tracked per connector node. */
34
42
  interface ConnectorState {
35
43
  node: SVGGElement;
@@ -63,6 +71,12 @@ export declare function getResolvedViewBox(bundle: RuntimeBundle): {
63
71
  width: number;
64
72
  height: number;
65
73
  };
74
+ export declare function getCurrentElementBounds(svg: SVGSVGElement & {
75
+ _elementMap?: Map<string, ElementState | unknown>;
76
+ _layout?: ResolvedLayoutState;
77
+ }, id: string): ViewBoxRect | undefined;
78
+ export declare function getGridAreaBounds(bundle: RuntimeBundle, area: CameraGridArea): ViewBoxRect;
79
+ export declare function applySceneViewBox(svg: SVGSVGElement, viewBox: ViewBoxRect): void;
66
80
  /** Hide an element after its exit animation completes. */
67
81
  export declare function hideElementAfterExit(node: SVGElement): void;
68
82
  /** Show an element on re-addition. */
@@ -1 +1 @@
1
- {"version":3,"file":"rendering-engine.d.ts","sourceRoot":"","sources":["../../src/rendering/rendering-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rendering-engine.d.ts","sourceRoot":"","sources":["../../src/rendering/rendering-engine.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { n as mountScene } from '../chunks/index-DEv2-G9F.js';
1
+ export { n as mountScene } from '../chunks/index-DoyWxJDm.js';
2
2
  import '../chunks/errors-DyqEkrm5.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -23,6 +23,15 @@ export interface ResolvedRuntimeConfig {
23
23
  width: number;
24
24
  height: number;
25
25
  };
26
+ camera: {
27
+ viewBox: {
28
+ minX: number;
29
+ minY: number;
30
+ width: number;
31
+ height: number;
32
+ };
33
+ isZoomed: boolean;
34
+ };
26
35
  theme: string;
27
36
  themeVars: Record<string, string>;
28
37
  scenes: Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"mount-scene.d.ts","sourceRoot":"","sources":["../../src/runtime/mount-scene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAIjE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAM/F,MAAM,WAAW,iBAAiB;IACjC,4FAA4F;IAC5F,UAAU,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC;IACtC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,kEAAkE;AAClE,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAED,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC5B,qDAAqD;IACrD,GAAG,EAAE,aAAa,CAAC;IACnB,iEAAiE;IACjE,MAAM,EAAE,eAAe,CAAC;IACxB,yEAAyE;IACzE,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,yFAAyF;IACzF,iBAAiB,IAAI,qBAAqB,CAAC;IAC3C,uFAAuF;IACvF,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,iBAAsB,GAAG,YAAY,CAgDpH"}
1
+ {"version":3,"file":"mount-scene.d.ts","sourceRoot":"","sources":["../../src/runtime/mount-scene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAIjE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAM/F,MAAM,WAAW,iBAAiB;IACjC,4FAA4F;IAC5F,UAAU,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC;IACtC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,kEAAkE;AAClE,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,MAAM,EAAE;QAAE,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACtG,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAED,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC5B,qDAAqD;IACrD,GAAG,EAAE,aAAa,CAAC;IACnB,iEAAiE;IACjE,MAAM,EAAE,eAAe,CAAC;IACxB,yEAAyE;IACzE,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,yFAAyF;IACzF,iBAAiB,IAAI,qBAAqB,CAAC;IAC3C,uFAAuF;IACvF,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,4DAA4D;AAC5D,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,iBAAsB,GAAG,YAAY,CAgDpH"}
@@ -1,6 +1,6 @@
1
1
  export type { AssetCategory, AssetDefinition, AssetRegistry, Theme, } from "./assets.ts";
2
2
  export { AnimationError, ControllerError, ParseError, RenderError, ValidationErrorClass, } from "./errors.ts";
3
- export type { AmbientAnimation, CirclePrimitive, ConnectionPatch, ConnectionPlacement, ConnectionRemoval, ConnectorDirection, ConnectorEndpoint, ConnectorEndpointRef, ConnectorPattern, ConnectorRouting, ConnectorStyle, ConnectorVariant, ElementPatch, ElementPlacement, ElementRemoval, EntryAnimation, ExitAnimation, LifecycleStatus, LinePrimitive, PolygonPrimitive, PrimitiveAssetId, PrimitiveContent, PrimitiveStyle, RectanglePrimitive, RuntimeConnectorState, RuntimeConnectorStyle, RuntimeElementState, TextAlign, TextContent, } from "./node.ts";
3
+ export type { AmbientAnimation, CameraEasing, CameraFocus, CameraGridArea, CameraTarget, CameraZoomOptions, CirclePrimitive, ConnectionPatch, ConnectionPlacement, ConnectionRemoval, ConnectorDirection, ConnectorEndpoint, ConnectorEndpointRef, ConnectorPattern, ConnectorRouting, ConnectorStyle, ConnectorVariant, ElementPatch, ElementPlacement, ElementRemoval, EntryAnimation, ExitAnimation, LifecycleStatus, LinePrimitive, PolygonPrimitive, PrimitiveAssetId, PrimitiveContent, PrimitiveStyle, RectanglePrimitive, RuntimeCameraFocus, RuntimeCameraTarget, RuntimeConnectorState, RuntimeConnectorStyle, RuntimeElementState, TextAlign, TextContent, } from "./node.ts";
4
4
  export { guardEntryAnimation, guardExitAnimation, guardLifecycleStatus, } from "./node.ts";
5
5
  export type { CompiledAsset, CompiledFloor, CompiledLayer, CompiledLayout, RuntimeBundle, } from "./runtime-bundle.ts";
6
6
  export type { AssetCatalogEntry, FloorConfig, GridConfig, LayerDefinition, LayoutBounds, LayoutFit, ResolvedLayoutConfig, RuntimeSceneStop, SceneAddDelta, SceneDocument, SceneHeader, SceneRemoveDelta, SceneStep, SceneUpdateDelta, } from "./scene.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,KAAK,GACL,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,cAAc,EACd,eAAe,EACf,UAAU,EACV,WAAW,EACX,oBAAoB,GACpB,MAAM,aAAa,CAAC;AACrB,YAAY,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EACT,WAAW,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACpB,MAAM,WAAW,CAAC;AACnB,YAAY,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,GACb,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACX,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,eAAe,EACf,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,gBAAgB,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EACX,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,KAAK,GACL,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,cAAc,EACd,eAAe,EACf,UAAU,EACV,WAAW,EACX,oBAAoB,GACpB,MAAM,aAAa,CAAC;AACrB,YAAY,EACX,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EACT,WAAW,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACpB,MAAM,WAAW,CAAC;AACnB,YAAY,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,GACb,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACX,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,eAAe,EACf,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,gBAAgB,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EACX,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,iBAAiB,CAAC"}
@@ -19,6 +19,45 @@ export interface AmbientAnimation {
19
19
  /** Number of times to play (only relevant when infinite: false) */
20
20
  iterations?: number;
21
21
  }
22
+ export type CameraEasing = "linear" | "ease-in-out" | "ease-out";
23
+ export interface CameraGridArea {
24
+ at: [number, number];
25
+ size: [number, number];
26
+ }
27
+ export type CameraTarget = {
28
+ element: string;
29
+ } | {
30
+ area: CameraGridArea;
31
+ } | {
32
+ reset: true;
33
+ };
34
+ export interface CameraFocus {
35
+ target: CameraTarget;
36
+ padding?: number;
37
+ duration?: number;
38
+ easing?: CameraEasing;
39
+ }
40
+ export interface CameraZoomOptions {
41
+ padding?: number;
42
+ duration?: number;
43
+ easing?: CameraEasing;
44
+ }
45
+ export type RuntimeCameraTarget = {
46
+ type: "element";
47
+ id: string;
48
+ } | {
49
+ type: "area";
50
+ at: [number, number];
51
+ size: [number, number];
52
+ } | {
53
+ type: "reset";
54
+ };
55
+ export interface RuntimeCameraFocus {
56
+ target: RuntimeCameraTarget;
57
+ padding?: number;
58
+ duration?: number;
59
+ easing?: CameraEasing;
60
+ }
22
61
  /** Horizontal anchor used by built-in text elements. */
23
62
  export type TextAlign = "start" | "middle" | "end";
24
63
  /** Content and safe SVG text styling for the built-in `asset: text` element. */
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/types/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/types/node.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ConnectionPatch, ConnectionPlacement, ConnectionRemoval, ElementPatch, ElementPlacement, ElementRemoval, RuntimeConnectorState, RuntimeElementState } from "./node.ts";
1
+ import type { CameraFocus, ConnectionPatch, ConnectionPlacement, ConnectionRemoval, ElementPatch, ElementPlacement, ElementRemoval, RuntimeCameraFocus, RuntimeConnectorState, RuntimeElementState } from "./node.ts";
2
2
  /** Scene grid configuration */
3
3
  export interface GridConfig {
4
4
  /** Cell size in projected units (default: 64) */
@@ -78,6 +78,7 @@ export interface SceneStep {
78
78
  add?: SceneAddDelta;
79
79
  update?: SceneUpdateDelta;
80
80
  remove?: SceneRemoveDelta;
81
+ camera?: CameraFocus;
81
82
  }
82
83
  /** Full authored scene document parsed from YAML. */
83
84
  export interface SceneDocument {
@@ -90,5 +91,6 @@ export interface RuntimeSceneStop {
90
91
  progress: number;
91
92
  elements: RuntimeElementState[];
92
93
  connectors: RuntimeConnectorState[];
94
+ camera?: RuntimeCameraFocus;
93
95
  }
94
96
  //# sourceMappingURL=scene.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/types/scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/types/scene.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sebastianwessel/isostate",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "Isometric scene engine — SVG rendering, animation, and YAML DSL for browser-based isometric scenes.",
5
5
  "keywords": [
6
6
  "isostate",