@sebastianwessel/isostate 0.3.0 → 0.4.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.
- package/dist/browser/isostate.runtime.js +4 -4
- package/dist/browser/isostate.runtime.js.map +4 -4
- package/dist/chunks/{index-B6HlPnov.js → index-C3qcXbPI.js} +3 -3
- package/dist/chunks/{index-B6HlPnov.js.map → index-C3qcXbPI.js.map} +1 -1
- package/dist/chunks/{rendering-engine-BgHel7yX.js → rendering-engine-BUUV3Qq-.js} +10 -3
- package/dist/chunks/rendering-engine-BUUV3Qq-.js.map +1 -0
- package/dist/chunks/{scene-parser-xgVJh2FU.js → scene-parser-B9SPDLYs.js} +15 -3
- package/dist/chunks/scene-parser-B9SPDLYs.js.map +1 -0
- package/dist/dsl/browser.js +1 -1
- package/dist/dsl/index.js +1 -1
- package/dist/dsl/scene-parser.d.ts.map +1 -1
- package/dist/dsl/scene-validator.d.ts.map +1 -1
- package/dist/editor-support/adapter.d.ts +1 -0
- package/dist/editor-support/adapter.d.ts.map +1 -1
- package/dist/editor-support/index.js +6 -3
- package/dist/editor-support/index.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/rendering/asset-node.d.ts.map +1 -1
- package/dist/runtime/index.js +2 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/node.d.ts +4 -0
- package/dist/types/node.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/rendering-engine-BgHel7yX.js.map +0 -1
- package/dist/chunks/scene-parser-xgVJh2FU.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-validator.d.ts","sourceRoot":"","sources":["../../src/dsl/scene-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAeX,kBAAkB,EAClB,qBAAqB,EAErB,mBAAmB,EACnB,aAAa,EACb,SAAS,EAGT,gBAAgB,EAEhB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"scene-validator.d.ts","sourceRoot":"","sources":["../../src/dsl/scene-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAeX,kBAAkB,EAClB,qBAAqB,EAErB,mBAAmB,EACnB,aAAa,EACb,SAAS,EAGT,gBAAgB,EAEhB,MAAM,mBAAmB,CAAC;AAwE3B,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;AAitDD,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"}
|
|
@@ -23,6 +23,7 @@ export interface RuntimeObjectMetadata {
|
|
|
23
23
|
export interface EditorRuntimeAdapter {
|
|
24
24
|
mounted: MountedScene;
|
|
25
25
|
setActiveScene(sceneId: string): boolean;
|
|
26
|
+
setProgress(progress: number): void;
|
|
26
27
|
getObjects(sceneId: string): RuntimeObjectMetadata[];
|
|
27
28
|
getObject(id: string): RuntimeObjectMetadata | undefined;
|
|
28
29
|
getLayerOrder(): Array<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/editor-support/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAQN,KAAK,WAAW,EAChB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAO1E,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtE,2DAA2D;AAC3D,MAAM,WAAW,qBAAqB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,YAAY,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;KAAE,CAAC;CAClH;AAED,iEAAiE;AACjE,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,YAAY,CAAC;IACtB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACrD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAAC;IACzD,aAAa,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,kBAAkB,IAAI,WAAW,CAAC;IAClC,gBAAgB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC;IAC7D,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjE,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAAC;IACnE,kBAAkB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB,EAAE,CAAC;IAChE,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACnG,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,GAAG,SAAS,CAAC;IAC3D,OAAO,IAAI,IAAI,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,YAAY,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/editor-support/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAQN,KAAK,WAAW,EAChB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAO1E,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtE,2DAA2D;AAC3D,MAAM,WAAW,qBAAqB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,YAAY,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;KAAE,CAAC;CAClH;AAED,iEAAiE;AACjE,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,YAAY,CAAC;IACtB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACrD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAAC;IACzD,aAAa,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,kBAAkB,IAAI,WAAW,CAAC;IAClC,gBAAgB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC;IAC7D,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjE,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAAC;IACnE,kBAAkB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,iBAAiB,EAAE,CAAC;IAChE,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACnG,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,GAAG,SAAS,CAAC;IAC3D,OAAO,IAAI,IAAI,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,YAAY,GAAG,oBAAoB,CAuItF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as getResolvedProjectionLayout, q as projectToRaw, o as getResolvedViewBox, k as getCurrentElementBounds, l as getElementState, p as hideElementAfterExit, u as unhideElementOnReadd, j as getConnectorState, t as updateElementTransforms } from '../chunks/rendering-engine-
|
|
1
|
+
import { n as getResolvedProjectionLayout, q as projectToRaw, o as getResolvedViewBox, k as getCurrentElementBounds, l as getElementState, p as hideElementAfterExit, u as unhideElementOnReadd, j as getConnectorState, t as updateElementTransforms } from '../chunks/rendering-engine-BUUV3Qq-.js';
|
|
2
2
|
import { R as RenderError } from '../chunks/errors-DyqEkrm5.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -267,10 +267,13 @@ function createEditorRuntimeAdapter(mounted) {
|
|
|
267
267
|
const scene = bundle.scenes.find((candidate) => candidate.id === sceneId);
|
|
268
268
|
if (!scene)
|
|
269
269
|
return false;
|
|
270
|
-
|
|
271
|
-
applyEditorFrame(mounted);
|
|
270
|
+
this.setProgress(scene.progress);
|
|
272
271
|
return true;
|
|
273
272
|
},
|
|
273
|
+
setProgress(progress) {
|
|
274
|
+
mounted.engine.setProgress(progress);
|
|
275
|
+
applyEditorFrame(mounted);
|
|
276
|
+
},
|
|
274
277
|
getObjects(sceneId) {
|
|
275
278
|
const currentState = mounted.engine.getCurrentState();
|
|
276
279
|
if (!currentState || currentState.id !== sceneId)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/editor-support/geometry.ts","../../src/editor-support/hit-test.ts","../../src/editor-support/adapter.ts"],"sourcesContent":["import { getResolvedProjectionLayout } from \"../rendering/rendering-engine.ts\";\nimport { RenderError } from \"../types/errors.ts\";\nimport type { RuntimeBundle } from \"../types/runtime-bundle.ts\";\n\n/** Screen-space point in SVG user units. */\nexport interface EditorScreenPoint {\n\tx: number;\n\ty: number;\n}\n\n/** Browser client-space pointer coordinates. */\nexport interface EditorClientPoint {\n\tclientX: number;\n\tclientY: number;\n}\n\n/**\n * Project an isometric grid point into SVG screen coordinates.\n * Uses the same projection, bounds, and padding as the renderer.\n */\nexport function projectGridPoint(bundle: RuntimeBundle, point: [number, number]): EditorScreenPoint {\n\tconst layout = getResolvedProjectionLayout(bundle);\n\tconst rawX = layout.cellSize * (point[0] - point[1]) * 0.5;\n\tconst rawY = layout.cellSize * (point[0] + point[1]) * 0.25;\n\treturn {\n\t\tx: rawX - layout.selectedBounds.minX + layout.padding.x,\n\t\ty: rawY - layout.selectedBounds.minY + layout.padding.y,\n\t};\n}\n\n/**\n * Unproject an SVG screen point back into fractional isometric grid coordinates.\n * The editor owns snap-to-grid rounding.\n */\nexport function unprojectScreenPoint(bundle: RuntimeBundle, point: EditorScreenPoint): [number, number] {\n\tconst layout = getResolvedProjectionLayout(bundle);\n\tconst rawX = point.x + layout.selectedBounds.minX - layout.padding.x;\n\tconst rawY = point.y + layout.selectedBounds.minY - layout.padding.y;\n\tconst cellSize = layout.cellSize;\n\tconst gridX = rawX / cellSize + (2 * rawY) / cellSize;\n\tconst gridY = (2 * rawY) / cellSize - rawX / cellSize;\n\treturn [gridX, gridY];\n}\n\n/**\n * Convert browser pointer coordinates into SVG user units using the root SVG\n * screen CTM inverse.\n * @throws {RenderError} `EDITOR_GEOMETRY_UNAVAILABLE` when the CTM is missing or not invertible.\n */\nexport function clientPointToSvgPoint(svg: SVGSVGElement, point: EditorClientPoint): EditorScreenPoint {\n\tconst ctm = svg.getScreenCTM();\n\tif (!ctm) {\n\t\tthrow new RenderError(\"EDITOR_GEOMETRY_UNAVAILABLE\", \"SVG CTM is not available\");\n\t}\n\tlet inverse: DOMMatrix | null = null;\n\ttry {\n\t\tinverse = ctm.inverse();\n\t} catch {\n\t\t// non-invertible matrix\n\t}\n\tif (!inverse) {\n\t\tthrow new RenderError(\"EDITOR_GEOMETRY_UNAVAILABLE\", \"SVG CTM is not invertible\");\n\t}\n\tconst svgPoint = svg.createSVGPoint();\n\tsvgPoint.x = point.clientX;\n\tsvgPoint.y = point.clientY;\n\tconst result = svgPoint.matrixTransform(inverse);\n\treturn { x: result.x, y: result.y };\n}\n\n/**\n * Return the four projected corners of a grid cell in clockwise order.\n */\nexport function getGridCellPolygon(bundle: RuntimeBundle, cell: [number, number]): EditorScreenPoint[] {\n\tconst [x, y] = cell;\n\treturn [\n\t\tprojectGridPoint(bundle, [x, y]),\n\t\tprojectGridPoint(bundle, [x + 1, y]),\n\t\tprojectGridPoint(bundle, [x + 1, y + 1]),\n\t\tprojectGridPoint(bundle, [x, y + 1]),\n\t];\n}\n","import type { ViewBoxRect } from \"../rendering/rendering-engine.ts\";\nimport type { RuntimeBundle } from \"../types/runtime-bundle.ts\";\nimport { projectToRaw } from \"../utils/projection.ts\";\nimport type { EditorRuntimeAdapter } from \"./adapter.ts\";\nimport type { EditorScreenPoint } from \"./geometry.ts\";\n\nexport interface HitTestOptions {\n\tincludeHidden?: boolean;\n\tincludeLocked?: boolean;\n\tkinds?: Array<\"element\" | \"connection\">;\n}\n\nexport interface RuntimeObjectHit {\n\tid: string;\n\tkind: \"element\" | \"connection\";\n\tlayer: string;\n\tbounds: ViewBoxRect;\n}\n\n/**\n * Find the topmost runtime object at a screen point.\n * Hit testing follows the current rendered depth order so the visually\n * topmost object wins.\n */\nexport function getRuntimeObjectAtPoint(\n\tadapter: EditorRuntimeAdapter,\n\tpoint: EditorScreenPoint,\n\toptions: HitTestOptions = {},\n): RuntimeObjectHit | undefined {\n\tconst kinds = options.kinds ?? [\"element\", \"connection\"];\n\tconst currentScene = adapter.mounted.engine.getCurrentState();\n\tif (!currentScene) return undefined;\n\n\tconst objects = adapter.getObjects(currentScene.id);\n\tconst layerOrder = adapter.getLayerOrder();\n\tconst layerRank = new Map(layerOrder.map((l, i) => [l.name, i]));\n\n\tconst candidates = objects\n\t\t.filter((obj) => kinds.includes(obj.kind))\n\t\t.filter((obj) => options.includeHidden || obj.present)\n\t\t.sort((a, b) => {\n\t\t\tconst rankA = layerRank.get(a.layer) ?? -1;\n\t\t\tconst rankB = layerRank.get(b.layer) ?? -1;\n\t\t\treturn rankA - rankB;\n\t\t});\n\n\t// Check topmost (highest layer rank) first\n\tfor (let i = candidates.length - 1; i >= 0; i--) {\n\t\tconst obj = candidates[i];\n\t\tif (pointInBounds(point, obj.bounds)) {\n\t\t\treturn {\n\t\t\t\tid: obj.id,\n\t\t\t\tkind: obj.kind,\n\t\t\t\tlayer: obj.layer,\n\t\t\t\tbounds: obj.bounds,\n\t\t\t};\n\t\t}\n\t}\n\treturn undefined;\n}\n\n/**\n * Compute the union bounds of a selection of runtime objects.\n * Missing ids are ignored. Returns `undefined` if no ids resolve.\n */\nexport function getRuntimeSelectionBounds(adapter: EditorRuntimeAdapter, ids: string[]): ViewBoxRect | undefined {\n\tlet minX = Number.POSITIVE_INFINITY;\n\tlet minY = Number.POSITIVE_INFINITY;\n\tlet maxX = Number.NEGATIVE_INFINITY;\n\tlet maxY = Number.NEGATIVE_INFINITY;\n\n\tfor (const id of ids) {\n\t\tconst obj = adapter.getObject(id);\n\t\tif (!obj?.present) continue;\n\t\tconst b = obj.bounds;\n\t\tminX = Math.min(minX, b.minX);\n\t\tminY = Math.min(minY, b.minY);\n\t\tmaxX = Math.max(maxX, b.minX + b.width);\n\t\tmaxY = Math.max(maxY, b.minY + b.height);\n\t}\n\n\tif (!Number.isFinite(minX)) return undefined;\n\n\treturn {\n\t\tminX,\n\t\tminY,\n\t\twidth: maxX - minX,\n\t\theight: maxY - minY,\n\t};\n}\n\nfunction pointInBounds(\n\tpoint: EditorScreenPoint,\n\tbounds: { minX: number; minY: number; width: number; height: number },\n): boolean {\n\treturn (\n\t\tpoint.x >= bounds.minX &&\n\t\tpoint.x <= bounds.minX + bounds.width &&\n\t\tpoint.y >= bounds.minY &&\n\t\tpoint.y <= bounds.minY + bounds.height\n\t);\n}\n\n/** Compute screen-space bounds for a connector route. */\nexport function getConnectionBounds(route: [number, number][], bundle: RuntimeBundle): ViewBoxRect {\n\tconst layout = resolveLayoutForBounds(bundle);\n\tlet minRawX = Number.POSITIVE_INFINITY;\n\tlet minRawY = Number.POSITIVE_INFINITY;\n\tlet maxRawX = Number.NEGATIVE_INFINITY;\n\tlet maxRawY = Number.NEGATIVE_INFINITY;\n\n\tfor (const [x, y] of route) {\n\t\tconst { rawX, rawY } = projectToRaw(x, y, layout.cellSize);\n\t\tminRawX = Math.min(minRawX, rawX);\n\t\tminRawY = Math.min(minRawY, rawY);\n\t\tmaxRawX = Math.max(maxRawX, rawX);\n\t\tmaxRawY = Math.max(maxRawY, rawY);\n\t}\n\n\tconst offsetX = -layout.selectedBounds.minX + layout.padding.x;\n\tconst offsetY = -layout.selectedBounds.minY + layout.padding.y;\n\n\treturn {\n\t\tminX: minRawX + offsetX,\n\t\tminY: minRawY + offsetY,\n\t\twidth: maxRawX - minRawX,\n\t\theight: maxRawY - minRawY,\n\t};\n}\n\n// Lightweight re-computation of the layout values needed for bounds projection.\nfunction resolveLayoutForBounds(bundle: RuntimeBundle): {\n\tcellSize: number;\n\tpadding: { x: number; y: number };\n\tselectedBounds: { minX: number; minY: number; maxX: number; maxY: number };\n} {\n\tconst cellSize = bundle.grid.cellSize;\n\tconst padding = bundle.layout.padding;\n\n\t// Reproduce content bounds calculation\n\tlet cMinX = Number.POSITIVE_INFINITY;\n\tlet cMinY = Number.POSITIVE_INFINITY;\n\tlet cMaxX = Number.NEGATIVE_INFINITY;\n\tlet cMaxY = Number.NEGATIVE_INFINITY;\n\n\tfor (const stop of bundle.scenes) {\n\t\tfor (const el of stop.elements ?? []) {\n\t\t\tif (el.presence === \"removed\") continue;\n\t\t\tconst { rawX, rawY } = projectToRaw(el.pos[0] + el.size, el.pos[1] + el.size, cellSize);\n\t\t\tconst visualSize = cellSize * el.size;\n\t\t\tconst anchor = bundle.assets?.[el.asset]?.anchor ?? [0.5, 1];\n\t\t\tcMinX = Math.min(cMinX, rawX - visualSize * anchor[0]);\n\t\t\tcMinY = Math.min(cMinY, rawY - visualSize * anchor[1]);\n\t\t\tcMaxX = Math.max(cMaxX, rawX + visualSize * (1 - anchor[0]));\n\t\t\tcMaxY = Math.max(cMaxY, rawY + visualSize * (1 - anchor[1]));\n\t\t}\n\t\tfor (const conn of stop.connectors ?? []) {\n\t\t\tif (conn.presence === \"removed\") continue;\n\t\t\tfor (const [x, y] of conn.route) {\n\t\t\t\tconst { rawX, rawY } = projectToRaw(x, y, cellSize);\n\t\t\t\tcMinX = Math.min(cMinX, rawX);\n\t\t\t\tcMinY = Math.min(cMinY, rawY);\n\t\t\t\tcMaxX = Math.max(cMaxX, rawX);\n\t\t\t\tcMaxY = Math.max(cMaxY, rawY);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!Number.isFinite(cMinX)) {\n\t\tcMinX = 0;\n\t\tcMinY = 0;\n\t\tcMaxX = cellSize;\n\t\tcMaxY = cellSize;\n\t}\n\n\t// Floor bounds\n\tconst [ox, oy] = bundle.floor.origin;\n\tconst [fw, fh] = bundle.floor.size;\n\tconst floorPoints: Array<[number, number]> = [\n\t\t[ox, oy],\n\t\t[ox + fw, oy],\n\t\t[ox, oy + fh],\n\t\t[ox + fw, oy + fh],\n\t];\n\tlet fMinX = Number.POSITIVE_INFINITY;\n\tlet fMinY = Number.POSITIVE_INFINITY;\n\tlet fMaxX = Number.NEGATIVE_INFINITY;\n\tlet fMaxY = Number.NEGATIVE_INFINITY;\n\tfor (const [x, y] of floorPoints) {\n\t\tconst { rawX, rawY } = projectToRaw(x, y, cellSize);\n\t\tfMinX = Math.min(fMinX, rawX);\n\t\tfMinY = Math.min(fMinY, rawY);\n\t\tfMaxX = Math.max(fMaxX, rawX);\n\t\tfMaxY = Math.max(fMaxY, rawY);\n\t}\n\n\t// Select bounds\n\tlet sMinX: number;\n\tlet sMinY: number;\n\tlet sMaxX: number;\n\tlet sMaxY: number;\n\tconst mode = bundle.layout.bounds;\n\tif (mode === \"content\") {\n\t\tsMinX = cMinX;\n\t\tsMinY = cMinY;\n\t\tsMaxX = cMaxX;\n\t\tsMaxY = cMaxY;\n\t} else if (mode === \"floor\") {\n\t\tsMinX = fMinX;\n\t\tsMinY = fMinY;\n\t\tsMaxX = fMaxX;\n\t\tsMaxY = fMaxY;\n\t} else {\n\t\tsMinX = Math.min(cMinX, fMinX);\n\t\tsMinY = Math.min(cMinY, fMinY);\n\t\tsMaxX = Math.max(cMaxX, fMaxX);\n\t\tsMaxY = Math.max(cMaxY, fMaxY);\n\t}\n\n\treturn {\n\t\tcellSize,\n\t\tpadding,\n\t\tselectedBounds: { minX: sMinX, minY: sMinY, maxX: sMaxX, maxY: sMaxY },\n\t};\n}\n","import {\n\tgetConnectorState,\n\tgetCurrentElementBounds,\n\tgetElementState,\n\tgetResolvedViewBox,\n\thideElementAfterExit,\n\tunhideElementOnReadd,\n\tupdateElementTransforms,\n\ttype ViewBoxRect,\n} from \"../rendering/rendering-engine.ts\";\nimport type { MountedScene } from \"../runtime/mount-scene.ts\";\nimport type { RuntimeConnectorState, RuntimeElementState } from \"../types/node.ts\";\nimport type { EditorClientPoint, EditorScreenPoint } from \"./geometry.ts\";\nimport {\n\tclientPointToSvgPoint as geometryClientPointToSvgPoint,\n\tgetGridCellPolygon as geometryGetGridCellPolygon,\n\tprojectGridPoint as geometryProjectGridPoint,\n\tunprojectScreenPoint as geometryUnprojectScreenPoint,\n} from \"./geometry.ts\";\nimport type { HitTestOptions, RuntimeObjectHit } from \"./hit-test.ts\";\nimport { getConnectionBounds, getRuntimeObjectAtPoint, getRuntimeSelectionBounds } from \"./hit-test.ts\";\n\n/** Metadata for a runtime object as seen by the editor. */\nexport interface RuntimeObjectMetadata {\n\tid: string;\n\tkind: \"element\" | \"connection\";\n\tsceneId: string;\n\tlayer: string;\n\tpresent: boolean;\n\tbounds: ViewBoxRect;\n\tgrid: { kind: \"element\"; at: [number, number]; size: number } | { kind: \"connection\"; route: [number, number][] };\n}\n\n/** Adapter wrapping a mounted scene for editor introspection. */\nexport interface EditorRuntimeAdapter {\n\tmounted: MountedScene;\n\tsetActiveScene(sceneId: string): boolean;\n\tgetObjects(sceneId: string): RuntimeObjectMetadata[];\n\tgetObject(id: string): RuntimeObjectMetadata | undefined;\n\tgetLayerOrder(): Array<{ name: string; order: number }>;\n\tgetResolvedViewBox(): ViewBoxRect;\n\tprojectGridPoint(point: [number, number]): EditorScreenPoint;\n\tunprojectScreenPoint(point: EditorScreenPoint): [number, number];\n\tclientPointToSvgPoint(point: EditorClientPoint): EditorScreenPoint;\n\tgetGridCellPolygon(cell: [number, number]): EditorScreenPoint[];\n\tgetObjectAtPoint(point: EditorScreenPoint, options?: HitTestOptions): RuntimeObjectHit | undefined;\n\tgetSelectionBounds(ids: string[]): ViewBoxRect | undefined;\n\tdestroy(): void;\n}\n\n/**\n * Create an editor runtime adapter around an already mounted scene.\n * The adapter does not mutate the mounted scene or create editor UI.\n */\nexport function createEditorRuntimeAdapter(mounted: MountedScene): EditorRuntimeAdapter {\n\tconst bundle = mounted.engine.bundle;\n\tif (!bundle) {\n\t\tthrow new Error(\"EditorRuntimeAdapter requires an initialized mounted scene\");\n\t}\n\n\t// Cache layer order since it is static for the bundle\n\tconst layerOrder = bundle.layers\n\t\t.map((layer) => ({ name: layer.name, order: layer.order }))\n\t\t.sort((a, b) => a.order - b.order || a.name.localeCompare(b.name));\n\n\treturn {\n\t\tmounted,\n\n\t\tsetActiveScene(sceneId: string): boolean {\n\t\t\tconst scene = bundle.scenes.find((candidate) => candidate.id === sceneId);\n\t\t\tif (!scene) return false;\n\t\t\tmounted.engine.setProgress(scene.progress);\n\t\t\tapplyEditorFrame(mounted);\n\t\t\treturn true;\n\t\t},\n\n\t\tgetObjects(sceneId: string): RuntimeObjectMetadata[] {\n\t\t\tconst currentState = mounted.engine.getCurrentState();\n\t\t\tif (!currentState || currentState.id !== sceneId) return [];\n\n\t\t\tconst result: RuntimeObjectMetadata[] = [];\n\n\t\t\t// Elements from current engine frame\n\t\t\tfor (const update of mounted.engine.getFrameUpdates()) {\n\t\t\t\tconst bounds = getCurrentElementBounds(mounted.svg, update.id);\n\t\t\t\tresult.push({\n\t\t\t\t\tid: update.id,\n\t\t\t\t\tkind: \"element\",\n\t\t\t\t\tsceneId: currentState.id,\n\t\t\t\t\tlayer: update.layer,\n\t\t\t\t\tpresent: update.lifecycle !== \"removed\",\n\t\t\t\t\tbounds: bounds ?? { minX: 0, minY: 0, width: 0, height: 0 },\n\t\t\t\t\tgrid: { kind: \"element\", at: update.pos, size: update.size },\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Connections from current engine frame\n\t\t\tfor (const update of mounted.engine.getConnectorFrameUpdates()) {\n\t\t\t\tconst bounds = getConnectionBounds(update.route, bundle);\n\t\t\t\tresult.push({\n\t\t\t\t\tid: update.id,\n\t\t\t\t\tkind: \"connection\",\n\t\t\t\t\tsceneId: currentState.id,\n\t\t\t\t\tlayer: update.layer,\n\t\t\t\t\tpresent: update.lifecycle !== \"removed\",\n\t\t\t\t\tbounds,\n\t\t\t\t\tgrid: { kind: \"connection\", route: update.route },\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\n\t\tgetObject(id: string): RuntimeObjectMetadata | undefined {\n\t\t\tconst currentState = mounted.engine.getCurrentState();\n\t\t\tif (!currentState) return undefined;\n\n\t\t\tconst elementUpdate = mounted.engine.getElementUpdate(id);\n\t\t\tif (elementUpdate && elementUpdate.asset !== \"\") {\n\t\t\t\tconst bounds = getCurrentElementBounds(mounted.svg, id);\n\t\t\t\treturn {\n\t\t\t\t\tid: elementUpdate.id,\n\t\t\t\t\tkind: \"element\",\n\t\t\t\t\tsceneId: currentState.id,\n\t\t\t\t\tlayer: elementUpdate.layer,\n\t\t\t\t\tpresent: elementUpdate.lifecycle !== \"removed\",\n\t\t\t\t\tbounds: bounds ?? { minX: 0, minY: 0, width: 0, height: 0 },\n\t\t\t\t\tgrid: { kind: \"element\", at: elementUpdate.pos, size: elementUpdate.size },\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst connectorUpdate = mounted.engine.getConnectorUpdate(id);\n\t\t\tif (connectorUpdate && connectorUpdate.route.length > 0) {\n\t\t\t\tconst bounds = getConnectionBounds(connectorUpdate.route, bundle);\n\t\t\t\treturn {\n\t\t\t\t\tid: connectorUpdate.id,\n\t\t\t\t\tkind: \"connection\",\n\t\t\t\t\tsceneId: currentState.id,\n\t\t\t\t\tlayer: connectorUpdate.layer,\n\t\t\t\t\tpresent: connectorUpdate.lifecycle !== \"removed\",\n\t\t\t\t\tbounds,\n\t\t\t\t\tgrid: { kind: \"connection\", route: connectorUpdate.route },\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t},\n\n\t\tgetLayerOrder() {\n\t\t\treturn layerOrder.slice();\n\t\t},\n\n\t\tgetResolvedViewBox() {\n\t\t\treturn getResolvedViewBox(bundle);\n\t\t},\n\n\t\tprojectGridPoint(point: [number, number]): EditorScreenPoint {\n\t\t\treturn geometryProjectGridPoint(bundle, point);\n\t\t},\n\n\t\tunprojectScreenPoint(point: EditorScreenPoint): [number, number] {\n\t\t\treturn geometryUnprojectScreenPoint(bundle, point);\n\t\t},\n\n\t\tclientPointToSvgPoint(point: EditorClientPoint): EditorScreenPoint {\n\t\t\treturn geometryClientPointToSvgPoint(mounted.svg, point);\n\t\t},\n\n\t\tgetGridCellPolygon(cell: [number, number]): EditorScreenPoint[] {\n\t\t\treturn geometryGetGridCellPolygon(bundle, cell);\n\t\t},\n\n\t\tgetObjectAtPoint(point: EditorScreenPoint, options?: HitTestOptions): RuntimeObjectHit | undefined {\n\t\t\treturn getRuntimeObjectAtPoint(this, point, options);\n\t\t},\n\n\t\tgetSelectionBounds(ids: string[]): ViewBoxRect | undefined {\n\t\t\treturn getRuntimeSelectionBounds(this, ids);\n\t\t},\n\n\t\tdestroy() {\n\t\t\t// Adapter owns no listeners or caches that outlive this call.\n\t\t\t// The editor is responsible for mounted scene cleanup.\n\t\t},\n\t};\n}\n\nfunction applyEditorFrame(mounted: MountedScene): void {\n\tconst elements: RuntimeElementState[] = mounted.engine.getFrameUpdates().map((update) => ({\n\t\tid: update.id,\n\t\tasset: update.asset,\n\t\tpos: update.pos,\n\t\tsize: update.size,\n\t\tlayer: update.layer,\n\t\tpresence: update.lifecycle,\n\t\tenter: update.entry as RuntimeElementState[\"enter\"],\n\t\texit: update.exit as RuntimeElementState[\"exit\"],\n\t\tambient: update.ambient,\n\t\ttext: update.text,\n\t\tprimitive: update.primitive,\n\t}));\n\tconst connectors: RuntimeConnectorState[] = mounted.engine.getConnectorFrameUpdates().map((update) => ({\n\t\tid: update.id,\n\t\troute: update.route,\n\t\tlayer: update.layer,\n\t\tpresence: update.lifecycle,\n\t\tstyle: update.style,\n\t\tstart: update.start,\n\t\tend: update.end,\n\t\tdirection: update.direction,\n\t\tenter: update.entry as RuntimeConnectorState[\"enter\"],\n\t\texit: update.exit as RuntimeConnectorState[\"exit\"],\n\t\tambient: update.ambient,\n\t}));\n\n\tfor (const element of elements) {\n\t\tconst state = getElementState(mounted.svg, element.id);\n\t\tif (!state) continue;\n\t\tif (element.presence === \"removed\") {\n\t\t\tstate.isHidden = true;\n\t\t\thideElementAfterExit(state.node);\n\t\t} else {\n\t\t\tstate.isHidden = false;\n\t\t\tunhideElementOnReadd(state.node);\n\t\t}\n\t}\n\n\tfor (const connector of connectors) {\n\t\tconst state = getConnectorState(mounted.svg, connector.id);\n\t\tif (!state) continue;\n\t\tif (connector.presence === \"removed\") {\n\t\t\tstate.isHidden = true;\n\t\t\thideElementAfterExit(state.node);\n\t\t} else {\n\t\t\tstate.isHidden = false;\n\t\t\tunhideElementOnReadd(state.node);\n\t\t}\n\t}\n\n\tupdateElementTransforms(mounted.svg, elements, connectors);\n}\n"],"names":["geometryProjectGridPoint","geometryUnprojectScreenPoint","geometryClientPointToSvgPoint","geometryGetGridCellPolygon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/editor-support/geometry.ts","../../src/editor-support/hit-test.ts","../../src/editor-support/adapter.ts"],"sourcesContent":["import { getResolvedProjectionLayout } from \"../rendering/rendering-engine.ts\";\nimport { RenderError } from \"../types/errors.ts\";\nimport type { RuntimeBundle } from \"../types/runtime-bundle.ts\";\n\n/** Screen-space point in SVG user units. */\nexport interface EditorScreenPoint {\n\tx: number;\n\ty: number;\n}\n\n/** Browser client-space pointer coordinates. */\nexport interface EditorClientPoint {\n\tclientX: number;\n\tclientY: number;\n}\n\n/**\n * Project an isometric grid point into SVG screen coordinates.\n * Uses the same projection, bounds, and padding as the renderer.\n */\nexport function projectGridPoint(bundle: RuntimeBundle, point: [number, number]): EditorScreenPoint {\n\tconst layout = getResolvedProjectionLayout(bundle);\n\tconst rawX = layout.cellSize * (point[0] - point[1]) * 0.5;\n\tconst rawY = layout.cellSize * (point[0] + point[1]) * 0.25;\n\treturn {\n\t\tx: rawX - layout.selectedBounds.minX + layout.padding.x,\n\t\ty: rawY - layout.selectedBounds.minY + layout.padding.y,\n\t};\n}\n\n/**\n * Unproject an SVG screen point back into fractional isometric grid coordinates.\n * The editor owns snap-to-grid rounding.\n */\nexport function unprojectScreenPoint(bundle: RuntimeBundle, point: EditorScreenPoint): [number, number] {\n\tconst layout = getResolvedProjectionLayout(bundle);\n\tconst rawX = point.x + layout.selectedBounds.minX - layout.padding.x;\n\tconst rawY = point.y + layout.selectedBounds.minY - layout.padding.y;\n\tconst cellSize = layout.cellSize;\n\tconst gridX = rawX / cellSize + (2 * rawY) / cellSize;\n\tconst gridY = (2 * rawY) / cellSize - rawX / cellSize;\n\treturn [gridX, gridY];\n}\n\n/**\n * Convert browser pointer coordinates into SVG user units using the root SVG\n * screen CTM inverse.\n * @throws {RenderError} `EDITOR_GEOMETRY_UNAVAILABLE` when the CTM is missing or not invertible.\n */\nexport function clientPointToSvgPoint(svg: SVGSVGElement, point: EditorClientPoint): EditorScreenPoint {\n\tconst ctm = svg.getScreenCTM();\n\tif (!ctm) {\n\t\tthrow new RenderError(\"EDITOR_GEOMETRY_UNAVAILABLE\", \"SVG CTM is not available\");\n\t}\n\tlet inverse: DOMMatrix | null = null;\n\ttry {\n\t\tinverse = ctm.inverse();\n\t} catch {\n\t\t// non-invertible matrix\n\t}\n\tif (!inverse) {\n\t\tthrow new RenderError(\"EDITOR_GEOMETRY_UNAVAILABLE\", \"SVG CTM is not invertible\");\n\t}\n\tconst svgPoint = svg.createSVGPoint();\n\tsvgPoint.x = point.clientX;\n\tsvgPoint.y = point.clientY;\n\tconst result = svgPoint.matrixTransform(inverse);\n\treturn { x: result.x, y: result.y };\n}\n\n/**\n * Return the four projected corners of a grid cell in clockwise order.\n */\nexport function getGridCellPolygon(bundle: RuntimeBundle, cell: [number, number]): EditorScreenPoint[] {\n\tconst [x, y] = cell;\n\treturn [\n\t\tprojectGridPoint(bundle, [x, y]),\n\t\tprojectGridPoint(bundle, [x + 1, y]),\n\t\tprojectGridPoint(bundle, [x + 1, y + 1]),\n\t\tprojectGridPoint(bundle, [x, y + 1]),\n\t];\n}\n","import type { ViewBoxRect } from \"../rendering/rendering-engine.ts\";\nimport type { RuntimeBundle } from \"../types/runtime-bundle.ts\";\nimport { projectToRaw } from \"../utils/projection.ts\";\nimport type { EditorRuntimeAdapter } from \"./adapter.ts\";\nimport type { EditorScreenPoint } from \"./geometry.ts\";\n\nexport interface HitTestOptions {\n\tincludeHidden?: boolean;\n\tincludeLocked?: boolean;\n\tkinds?: Array<\"element\" | \"connection\">;\n}\n\nexport interface RuntimeObjectHit {\n\tid: string;\n\tkind: \"element\" | \"connection\";\n\tlayer: string;\n\tbounds: ViewBoxRect;\n}\n\n/**\n * Find the topmost runtime object at a screen point.\n * Hit testing follows the current rendered depth order so the visually\n * topmost object wins.\n */\nexport function getRuntimeObjectAtPoint(\n\tadapter: EditorRuntimeAdapter,\n\tpoint: EditorScreenPoint,\n\toptions: HitTestOptions = {},\n): RuntimeObjectHit | undefined {\n\tconst kinds = options.kinds ?? [\"element\", \"connection\"];\n\tconst currentScene = adapter.mounted.engine.getCurrentState();\n\tif (!currentScene) return undefined;\n\n\tconst objects = adapter.getObjects(currentScene.id);\n\tconst layerOrder = adapter.getLayerOrder();\n\tconst layerRank = new Map(layerOrder.map((l, i) => [l.name, i]));\n\n\tconst candidates = objects\n\t\t.filter((obj) => kinds.includes(obj.kind))\n\t\t.filter((obj) => options.includeHidden || obj.present)\n\t\t.sort((a, b) => {\n\t\t\tconst rankA = layerRank.get(a.layer) ?? -1;\n\t\t\tconst rankB = layerRank.get(b.layer) ?? -1;\n\t\t\treturn rankA - rankB;\n\t\t});\n\n\t// Check topmost (highest layer rank) first\n\tfor (let i = candidates.length - 1; i >= 0; i--) {\n\t\tconst obj = candidates[i];\n\t\tif (pointInBounds(point, obj.bounds)) {\n\t\t\treturn {\n\t\t\t\tid: obj.id,\n\t\t\t\tkind: obj.kind,\n\t\t\t\tlayer: obj.layer,\n\t\t\t\tbounds: obj.bounds,\n\t\t\t};\n\t\t}\n\t}\n\treturn undefined;\n}\n\n/**\n * Compute the union bounds of a selection of runtime objects.\n * Missing ids are ignored. Returns `undefined` if no ids resolve.\n */\nexport function getRuntimeSelectionBounds(adapter: EditorRuntimeAdapter, ids: string[]): ViewBoxRect | undefined {\n\tlet minX = Number.POSITIVE_INFINITY;\n\tlet minY = Number.POSITIVE_INFINITY;\n\tlet maxX = Number.NEGATIVE_INFINITY;\n\tlet maxY = Number.NEGATIVE_INFINITY;\n\n\tfor (const id of ids) {\n\t\tconst obj = adapter.getObject(id);\n\t\tif (!obj?.present) continue;\n\t\tconst b = obj.bounds;\n\t\tminX = Math.min(minX, b.minX);\n\t\tminY = Math.min(minY, b.minY);\n\t\tmaxX = Math.max(maxX, b.minX + b.width);\n\t\tmaxY = Math.max(maxY, b.minY + b.height);\n\t}\n\n\tif (!Number.isFinite(minX)) return undefined;\n\n\treturn {\n\t\tminX,\n\t\tminY,\n\t\twidth: maxX - minX,\n\t\theight: maxY - minY,\n\t};\n}\n\nfunction pointInBounds(\n\tpoint: EditorScreenPoint,\n\tbounds: { minX: number; minY: number; width: number; height: number },\n): boolean {\n\treturn (\n\t\tpoint.x >= bounds.minX &&\n\t\tpoint.x <= bounds.minX + bounds.width &&\n\t\tpoint.y >= bounds.minY &&\n\t\tpoint.y <= bounds.minY + bounds.height\n\t);\n}\n\n/** Compute screen-space bounds for a connector route. */\nexport function getConnectionBounds(route: [number, number][], bundle: RuntimeBundle): ViewBoxRect {\n\tconst layout = resolveLayoutForBounds(bundle);\n\tlet minRawX = Number.POSITIVE_INFINITY;\n\tlet minRawY = Number.POSITIVE_INFINITY;\n\tlet maxRawX = Number.NEGATIVE_INFINITY;\n\tlet maxRawY = Number.NEGATIVE_INFINITY;\n\n\tfor (const [x, y] of route) {\n\t\tconst { rawX, rawY } = projectToRaw(x, y, layout.cellSize);\n\t\tminRawX = Math.min(minRawX, rawX);\n\t\tminRawY = Math.min(minRawY, rawY);\n\t\tmaxRawX = Math.max(maxRawX, rawX);\n\t\tmaxRawY = Math.max(maxRawY, rawY);\n\t}\n\n\tconst offsetX = -layout.selectedBounds.minX + layout.padding.x;\n\tconst offsetY = -layout.selectedBounds.minY + layout.padding.y;\n\n\treturn {\n\t\tminX: minRawX + offsetX,\n\t\tminY: minRawY + offsetY,\n\t\twidth: maxRawX - minRawX,\n\t\theight: maxRawY - minRawY,\n\t};\n}\n\n// Lightweight re-computation of the layout values needed for bounds projection.\nfunction resolveLayoutForBounds(bundle: RuntimeBundle): {\n\tcellSize: number;\n\tpadding: { x: number; y: number };\n\tselectedBounds: { minX: number; minY: number; maxX: number; maxY: number };\n} {\n\tconst cellSize = bundle.grid.cellSize;\n\tconst padding = bundle.layout.padding;\n\n\t// Reproduce content bounds calculation\n\tlet cMinX = Number.POSITIVE_INFINITY;\n\tlet cMinY = Number.POSITIVE_INFINITY;\n\tlet cMaxX = Number.NEGATIVE_INFINITY;\n\tlet cMaxY = Number.NEGATIVE_INFINITY;\n\n\tfor (const stop of bundle.scenes) {\n\t\tfor (const el of stop.elements ?? []) {\n\t\t\tif (el.presence === \"removed\") continue;\n\t\t\tconst { rawX, rawY } = projectToRaw(el.pos[0] + el.size, el.pos[1] + el.size, cellSize);\n\t\t\tconst visualSize = cellSize * el.size;\n\t\t\tconst anchor = bundle.assets?.[el.asset]?.anchor ?? [0.5, 1];\n\t\t\tcMinX = Math.min(cMinX, rawX - visualSize * anchor[0]);\n\t\t\tcMinY = Math.min(cMinY, rawY - visualSize * anchor[1]);\n\t\t\tcMaxX = Math.max(cMaxX, rawX + visualSize * (1 - anchor[0]));\n\t\t\tcMaxY = Math.max(cMaxY, rawY + visualSize * (1 - anchor[1]));\n\t\t}\n\t\tfor (const conn of stop.connectors ?? []) {\n\t\t\tif (conn.presence === \"removed\") continue;\n\t\t\tfor (const [x, y] of conn.route) {\n\t\t\t\tconst { rawX, rawY } = projectToRaw(x, y, cellSize);\n\t\t\t\tcMinX = Math.min(cMinX, rawX);\n\t\t\t\tcMinY = Math.min(cMinY, rawY);\n\t\t\t\tcMaxX = Math.max(cMaxX, rawX);\n\t\t\t\tcMaxY = Math.max(cMaxY, rawY);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!Number.isFinite(cMinX)) {\n\t\tcMinX = 0;\n\t\tcMinY = 0;\n\t\tcMaxX = cellSize;\n\t\tcMaxY = cellSize;\n\t}\n\n\t// Floor bounds\n\tconst [ox, oy] = bundle.floor.origin;\n\tconst [fw, fh] = bundle.floor.size;\n\tconst floorPoints: Array<[number, number]> = [\n\t\t[ox, oy],\n\t\t[ox + fw, oy],\n\t\t[ox, oy + fh],\n\t\t[ox + fw, oy + fh],\n\t];\n\tlet fMinX = Number.POSITIVE_INFINITY;\n\tlet fMinY = Number.POSITIVE_INFINITY;\n\tlet fMaxX = Number.NEGATIVE_INFINITY;\n\tlet fMaxY = Number.NEGATIVE_INFINITY;\n\tfor (const [x, y] of floorPoints) {\n\t\tconst { rawX, rawY } = projectToRaw(x, y, cellSize);\n\t\tfMinX = Math.min(fMinX, rawX);\n\t\tfMinY = Math.min(fMinY, rawY);\n\t\tfMaxX = Math.max(fMaxX, rawX);\n\t\tfMaxY = Math.max(fMaxY, rawY);\n\t}\n\n\t// Select bounds\n\tlet sMinX: number;\n\tlet sMinY: number;\n\tlet sMaxX: number;\n\tlet sMaxY: number;\n\tconst mode = bundle.layout.bounds;\n\tif (mode === \"content\") {\n\t\tsMinX = cMinX;\n\t\tsMinY = cMinY;\n\t\tsMaxX = cMaxX;\n\t\tsMaxY = cMaxY;\n\t} else if (mode === \"floor\") {\n\t\tsMinX = fMinX;\n\t\tsMinY = fMinY;\n\t\tsMaxX = fMaxX;\n\t\tsMaxY = fMaxY;\n\t} else {\n\t\tsMinX = Math.min(cMinX, fMinX);\n\t\tsMinY = Math.min(cMinY, fMinY);\n\t\tsMaxX = Math.max(cMaxX, fMaxX);\n\t\tsMaxY = Math.max(cMaxY, fMaxY);\n\t}\n\n\treturn {\n\t\tcellSize,\n\t\tpadding,\n\t\tselectedBounds: { minX: sMinX, minY: sMinY, maxX: sMaxX, maxY: sMaxY },\n\t};\n}\n","import {\n\tgetConnectorState,\n\tgetCurrentElementBounds,\n\tgetElementState,\n\tgetResolvedViewBox,\n\thideElementAfterExit,\n\tunhideElementOnReadd,\n\tupdateElementTransforms,\n\ttype ViewBoxRect,\n} from \"../rendering/rendering-engine.ts\";\nimport type { MountedScene } from \"../runtime/mount-scene.ts\";\nimport type { RuntimeConnectorState, RuntimeElementState } from \"../types/node.ts\";\nimport type { EditorClientPoint, EditorScreenPoint } from \"./geometry.ts\";\nimport {\n\tclientPointToSvgPoint as geometryClientPointToSvgPoint,\n\tgetGridCellPolygon as geometryGetGridCellPolygon,\n\tprojectGridPoint as geometryProjectGridPoint,\n\tunprojectScreenPoint as geometryUnprojectScreenPoint,\n} from \"./geometry.ts\";\nimport type { HitTestOptions, RuntimeObjectHit } from \"./hit-test.ts\";\nimport { getConnectionBounds, getRuntimeObjectAtPoint, getRuntimeSelectionBounds } from \"./hit-test.ts\";\n\n/** Metadata for a runtime object as seen by the editor. */\nexport interface RuntimeObjectMetadata {\n\tid: string;\n\tkind: \"element\" | \"connection\";\n\tsceneId: string;\n\tlayer: string;\n\tpresent: boolean;\n\tbounds: ViewBoxRect;\n\tgrid: { kind: \"element\"; at: [number, number]; size: number } | { kind: \"connection\"; route: [number, number][] };\n}\n\n/** Adapter wrapping a mounted scene for editor introspection. */\nexport interface EditorRuntimeAdapter {\n\tmounted: MountedScene;\n\tsetActiveScene(sceneId: string): boolean;\n\tsetProgress(progress: number): void;\n\tgetObjects(sceneId: string): RuntimeObjectMetadata[];\n\tgetObject(id: string): RuntimeObjectMetadata | undefined;\n\tgetLayerOrder(): Array<{ name: string; order: number }>;\n\tgetResolvedViewBox(): ViewBoxRect;\n\tprojectGridPoint(point: [number, number]): EditorScreenPoint;\n\tunprojectScreenPoint(point: EditorScreenPoint): [number, number];\n\tclientPointToSvgPoint(point: EditorClientPoint): EditorScreenPoint;\n\tgetGridCellPolygon(cell: [number, number]): EditorScreenPoint[];\n\tgetObjectAtPoint(point: EditorScreenPoint, options?: HitTestOptions): RuntimeObjectHit | undefined;\n\tgetSelectionBounds(ids: string[]): ViewBoxRect | undefined;\n\tdestroy(): void;\n}\n\n/**\n * Create an editor runtime adapter around an already mounted scene.\n * The adapter does not mutate the mounted scene or create editor UI.\n */\nexport function createEditorRuntimeAdapter(mounted: MountedScene): EditorRuntimeAdapter {\n\tconst bundle = mounted.engine.bundle;\n\tif (!bundle) {\n\t\tthrow new Error(\"EditorRuntimeAdapter requires an initialized mounted scene\");\n\t}\n\n\t// Cache layer order since it is static for the bundle\n\tconst layerOrder = bundle.layers\n\t\t.map((layer) => ({ name: layer.name, order: layer.order }))\n\t\t.sort((a, b) => a.order - b.order || a.name.localeCompare(b.name));\n\n\treturn {\n\t\tmounted,\n\n\t\tsetActiveScene(sceneId: string): boolean {\n\t\t\tconst scene = bundle.scenes.find((candidate) => candidate.id === sceneId);\n\t\t\tif (!scene) return false;\n\t\t\tthis.setProgress(scene.progress);\n\t\t\treturn true;\n\t\t},\n\n\t\tsetProgress(progress: number): void {\n\t\t\tmounted.engine.setProgress(progress);\n\t\t\tapplyEditorFrame(mounted);\n\t\t},\n\n\t\tgetObjects(sceneId: string): RuntimeObjectMetadata[] {\n\t\t\tconst currentState = mounted.engine.getCurrentState();\n\t\t\tif (!currentState || currentState.id !== sceneId) return [];\n\n\t\t\tconst result: RuntimeObjectMetadata[] = [];\n\n\t\t\t// Elements from current engine frame\n\t\t\tfor (const update of mounted.engine.getFrameUpdates()) {\n\t\t\t\tconst bounds = getCurrentElementBounds(mounted.svg, update.id);\n\t\t\t\tresult.push({\n\t\t\t\t\tid: update.id,\n\t\t\t\t\tkind: \"element\",\n\t\t\t\t\tsceneId: currentState.id,\n\t\t\t\t\tlayer: update.layer,\n\t\t\t\t\tpresent: update.lifecycle !== \"removed\",\n\t\t\t\t\tbounds: bounds ?? { minX: 0, minY: 0, width: 0, height: 0 },\n\t\t\t\t\tgrid: { kind: \"element\", at: update.pos, size: update.size },\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Connections from current engine frame\n\t\t\tfor (const update of mounted.engine.getConnectorFrameUpdates()) {\n\t\t\t\tconst bounds = getConnectionBounds(update.route, bundle);\n\t\t\t\tresult.push({\n\t\t\t\t\tid: update.id,\n\t\t\t\t\tkind: \"connection\",\n\t\t\t\t\tsceneId: currentState.id,\n\t\t\t\t\tlayer: update.layer,\n\t\t\t\t\tpresent: update.lifecycle !== \"removed\",\n\t\t\t\t\tbounds,\n\t\t\t\t\tgrid: { kind: \"connection\", route: update.route },\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\n\t\tgetObject(id: string): RuntimeObjectMetadata | undefined {\n\t\t\tconst currentState = mounted.engine.getCurrentState();\n\t\t\tif (!currentState) return undefined;\n\n\t\t\tconst elementUpdate = mounted.engine.getElementUpdate(id);\n\t\t\tif (elementUpdate && elementUpdate.asset !== \"\") {\n\t\t\t\tconst bounds = getCurrentElementBounds(mounted.svg, id);\n\t\t\t\treturn {\n\t\t\t\t\tid: elementUpdate.id,\n\t\t\t\t\tkind: \"element\",\n\t\t\t\t\tsceneId: currentState.id,\n\t\t\t\t\tlayer: elementUpdate.layer,\n\t\t\t\t\tpresent: elementUpdate.lifecycle !== \"removed\",\n\t\t\t\t\tbounds: bounds ?? { minX: 0, minY: 0, width: 0, height: 0 },\n\t\t\t\t\tgrid: { kind: \"element\", at: elementUpdate.pos, size: elementUpdate.size },\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst connectorUpdate = mounted.engine.getConnectorUpdate(id);\n\t\t\tif (connectorUpdate && connectorUpdate.route.length > 0) {\n\t\t\t\tconst bounds = getConnectionBounds(connectorUpdate.route, bundle);\n\t\t\t\treturn {\n\t\t\t\t\tid: connectorUpdate.id,\n\t\t\t\t\tkind: \"connection\",\n\t\t\t\t\tsceneId: currentState.id,\n\t\t\t\t\tlayer: connectorUpdate.layer,\n\t\t\t\t\tpresent: connectorUpdate.lifecycle !== \"removed\",\n\t\t\t\t\tbounds,\n\t\t\t\t\tgrid: { kind: \"connection\", route: connectorUpdate.route },\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t},\n\n\t\tgetLayerOrder() {\n\t\t\treturn layerOrder.slice();\n\t\t},\n\n\t\tgetResolvedViewBox() {\n\t\t\treturn getResolvedViewBox(bundle);\n\t\t},\n\n\t\tprojectGridPoint(point: [number, number]): EditorScreenPoint {\n\t\t\treturn geometryProjectGridPoint(bundle, point);\n\t\t},\n\n\t\tunprojectScreenPoint(point: EditorScreenPoint): [number, number] {\n\t\t\treturn geometryUnprojectScreenPoint(bundle, point);\n\t\t},\n\n\t\tclientPointToSvgPoint(point: EditorClientPoint): EditorScreenPoint {\n\t\t\treturn geometryClientPointToSvgPoint(mounted.svg, point);\n\t\t},\n\n\t\tgetGridCellPolygon(cell: [number, number]): EditorScreenPoint[] {\n\t\t\treturn geometryGetGridCellPolygon(bundle, cell);\n\t\t},\n\n\t\tgetObjectAtPoint(point: EditorScreenPoint, options?: HitTestOptions): RuntimeObjectHit | undefined {\n\t\t\treturn getRuntimeObjectAtPoint(this, point, options);\n\t\t},\n\n\t\tgetSelectionBounds(ids: string[]): ViewBoxRect | undefined {\n\t\t\treturn getRuntimeSelectionBounds(this, ids);\n\t\t},\n\n\t\tdestroy() {\n\t\t\t// Adapter owns no listeners or caches that outlive this call.\n\t\t\t// The editor is responsible for mounted scene cleanup.\n\t\t},\n\t};\n}\n\nfunction applyEditorFrame(mounted: MountedScene): void {\n\tconst elements: RuntimeElementState[] = mounted.engine.getFrameUpdates().map((update) => ({\n\t\tid: update.id,\n\t\tasset: update.asset,\n\t\tpos: update.pos,\n\t\tsize: update.size,\n\t\tlayer: update.layer,\n\t\tpresence: update.lifecycle,\n\t\tenter: update.entry as RuntimeElementState[\"enter\"],\n\t\texit: update.exit as RuntimeElementState[\"exit\"],\n\t\tambient: update.ambient,\n\t\ttext: update.text,\n\t\tprimitive: update.primitive,\n\t}));\n\tconst connectors: RuntimeConnectorState[] = mounted.engine.getConnectorFrameUpdates().map((update) => ({\n\t\tid: update.id,\n\t\troute: update.route,\n\t\tlayer: update.layer,\n\t\tpresence: update.lifecycle,\n\t\tstyle: update.style,\n\t\tstart: update.start,\n\t\tend: update.end,\n\t\tdirection: update.direction,\n\t\tenter: update.entry as RuntimeConnectorState[\"enter\"],\n\t\texit: update.exit as RuntimeConnectorState[\"exit\"],\n\t\tambient: update.ambient,\n\t}));\n\n\tfor (const element of elements) {\n\t\tconst state = getElementState(mounted.svg, element.id);\n\t\tif (!state) continue;\n\t\tif (element.presence === \"removed\") {\n\t\t\tstate.isHidden = true;\n\t\t\thideElementAfterExit(state.node);\n\t\t} else {\n\t\t\tstate.isHidden = false;\n\t\t\tunhideElementOnReadd(state.node);\n\t\t}\n\t}\n\n\tfor (const connector of connectors) {\n\t\tconst state = getConnectorState(mounted.svg, connector.id);\n\t\tif (!state) continue;\n\t\tif (connector.presence === \"removed\") {\n\t\t\tstate.isHidden = true;\n\t\t\thideElementAfterExit(state.node);\n\t\t} else {\n\t\t\tstate.isHidden = false;\n\t\t\tunhideElementOnReadd(state.node);\n\t\t}\n\t}\n\n\tupdateElementTransforms(mounted.svg, elements, connectors);\n}\n"],"names":["geometryProjectGridPoint","geometryUnprojectScreenPoint","geometryClientPointToSvgPoint","geometryGetGridCellPolygon"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { A as AnimationController, a as AnimationEngine, e as easeInCubic, b as easeInOutCubic, c as easeOutCubic, l as linear, m as mountScene, r as resolveEasing } from './chunks/index-
|
|
2
|
-
export { A 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, r as projectToScreen, s as resolveTheme } from './chunks/rendering-engine-
|
|
1
|
+
export { A as AnimationController, a as AnimationEngine, e as easeInCubic, b as easeInOutCubic, c as easeOutCubic, l as linear, m as mountScene, r as resolveEasing } from './chunks/index-C3qcXbPI.js';
|
|
2
|
+
export { A 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, r as projectToScreen, s as resolveTheme } from './chunks/rendering-engine-BUUV3Qq-.js';
|
|
3
3
|
export { A as AnimationError, C as ControllerError, P as ParseError, R as RenderError, V as ValidationErrorClass } from './chunks/errors-DyqEkrm5.js';
|
|
4
4
|
import './chunks/sha256-4JuurR-b.js';
|
|
5
5
|
|
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\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/** Sparse update payload for built-in text content. */\nexport type TextContentPatch = Partial<TextContent>;\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/** Sparse update payload for built-in primitive content. */\nexport interface PrimitiveContentPatch {\n\trectangle?: Partial<RectanglePrimitive>;\n\tcircle?: Partial<CirclePrimitive>;\n\tpolygon?: Partial<PolygonPrimitive>;\n\tline?: Partial<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?: TextContentPatch;\n\tprimitive?: PrimitiveContentPatch;\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;AAgTtH;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/** Vertical placement model used by built-in text elements. */\nexport type TextPlacement = \"cell\" | \"caption\";\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/** Vertical placement within the grid cell. Defaults to `cell`; `caption` preserves the legacy floating label. */\n\tplacement?: TextPlacement;\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/** Sparse update payload for built-in text content. */\nexport type TextContentPatch = Partial<TextContent>;\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/** Sparse update payload for built-in primitive content. */\nexport interface PrimitiveContentPatch {\n\trectangle?: Partial<RectanglePrimitive>;\n\tcircle?: Partial<CirclePrimitive>;\n\tpolygon?: Partial<PolygonPrimitive>;\n\tline?: Partial<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?: TextContentPatch;\n\tprimitive?: PrimitiveContentPatch;\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;AAqTtH;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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-node.d.ts","sourceRoot":"","sources":["../../src/rendering/asset-node.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,gBAAgB,EAA6B,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAKhF,KAAK,aAAa,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAEzF,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;AAExE,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,aAAa,CAazE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAKtG;AAED,wBAAgB,mBAAmB,CAClC,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACd,WAAW,
|
|
1
|
+
{"version":3,"file":"asset-node.d.ts","sourceRoot":"","sources":["../../src/rendering/asset-node.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,gBAAgB,EAA6B,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAKhF,KAAK,aAAa,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,CAAC;AAEzF,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;AAExE,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,aAAa,CAazE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAKtG;AAED,wBAAgB,mBAAmB,CAClC,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACd,WAAW,CAoCb;AAED,wBAAgB,wBAAwB,CACvC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,gBAAgB,GAAG,SAAS,EACvC,QAAQ,EAAE,MAAM,GACd,WAAW,CAoBb"}
|
package/dist/runtime/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { m as mountScene } from '../chunks/index-
|
|
2
|
-
import '../chunks/rendering-engine-
|
|
1
|
+
export { m as mountScene } from '../chunks/index-C3qcXbPI.js';
|
|
2
|
+
import '../chunks/rendering-engine-BUUV3Qq-.js';
|
|
3
3
|
import '../chunks/errors-DyqEkrm5.js';
|
|
4
4
|
import '../chunks/sha256-4JuurR-b.js';
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type { AssetCategory, AssetDefinition, AssetRegistry, SpriteDefinition as AssetSpriteDefinition, SpriteSheetAssetDefinition, Theme, UrlAssetDefinition, } from "./assets.ts";
|
|
2
2
|
export { AnimationError, ControllerError, ParseError, RenderError, ValidationErrorClass, } from "./errors.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, PrimitiveContentPatch, PrimitiveStyle, RectanglePrimitive, RuntimeCameraFocus, RuntimeCameraTarget, RuntimeConnectorState, RuntimeConnectorStyle, RuntimeElementState, TextAlign, TextContent, TextContentPatch, } 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, PrimitiveContentPatch, PrimitiveStyle, RectanglePrimitive, RuntimeCameraFocus, RuntimeCameraTarget, RuntimeConnectorState, RuntimeConnectorStyle, RuntimeElementState, TextAlign, TextContent, TextContentPatch, TextPlacement, } from "./node.ts";
|
|
4
4
|
export { guardEntryAnimation, guardExitAnimation, guardLifecycleStatus, } from "./node.ts";
|
|
5
5
|
export type { CompiledAsset, CompiledFloor, CompiledLayer, CompiledLayout, CompiledSprite, RuntimeBundle, } from "./runtime-bundle.ts";
|
|
6
6
|
export type { AssetCatalogEntry, FloorConfig, GridConfig, LayerDefinition, LayoutBounds, LayoutFit, ResolvedLayoutConfig, RuntimeSceneStop, SceneAddDelta, SceneDocument, SceneHeader, SceneRemoveDelta, SceneStep, SceneUpdateDelta, SpriteDefinition as SceneSpriteDefinition, SpriteSheetAssetCatalogEntry, UrlAssetCatalogEntry, } 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,gBAAgB,IAAI,qBAAqB,EACzC,0BAA0B,EAC1B,KAAK,EACL,kBAAkB,GAClB,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,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,gBAAgB,IAAI,qBAAqB,EACzC,0BAA0B,EAC1B,KAAK,EACL,kBAAkB,GAClB,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,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,aAAa,GACb,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,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,EAChB,gBAAgB,IAAI,qBAAqB,EACzC,4BAA4B,EAC5B,oBAAoB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EACX,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,iBAAiB,CAAC"}
|
package/dist/types/node.d.ts
CHANGED
|
@@ -60,12 +60,16 @@ export interface RuntimeCameraFocus {
|
|
|
60
60
|
}
|
|
61
61
|
/** Horizontal anchor used by built-in text elements. */
|
|
62
62
|
export type TextAlign = "start" | "middle" | "end";
|
|
63
|
+
/** Vertical placement model used by built-in text elements. */
|
|
64
|
+
export type TextPlacement = "cell" | "caption";
|
|
63
65
|
/** Content and safe SVG text styling for the built-in `asset: text` element. */
|
|
64
66
|
export interface TextContent {
|
|
65
67
|
/** Text content. Use newline characters for explicit line breaks. */
|
|
66
68
|
value: string;
|
|
67
69
|
/** Horizontal text anchor within the element cell. Defaults to `middle`. */
|
|
68
70
|
align?: TextAlign;
|
|
71
|
+
/** Vertical placement within the grid cell. Defaults to `cell`; `caption` preserves the legacy floating label. */
|
|
72
|
+
placement?: TextPlacement;
|
|
69
73
|
/** SVG font-size in CSS pixels before element scaling. Defaults to `12`. */
|
|
70
74
|
fontSize?: number;
|
|
71
75
|
/** SVG font-weight. Defaults to `700`. */
|
package/dist/types/node.d.ts.map
CHANGED
|
@@ -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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"}
|