@oh-just-another/scene 0.61.0 → 0.63.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/CHANGELOG.md +27 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/a11y.d.ts +1 -1
- package/dist/a11y.d.ts.map +1 -1
- package/dist/{annotation-geometry.d.ts → annotations/annotation-geometry.d.ts} +1 -1
- package/dist/annotations/annotation-geometry.d.ts.map +1 -0
- package/dist/{annotation-geometry.js → annotations/annotation-geometry.js} +1 -1
- package/dist/annotations/annotation-geometry.js.map +1 -0
- package/dist/annotations/annotation.d.ts.map +1 -0
- package/dist/{annotation.js.map → annotations/annotation.js.map} +1 -1
- package/dist/constants.d.ts +34 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +62 -0
- package/dist/constants.js.map +1 -1
- package/dist/edges/edge-curve.d.ts.map +1 -0
- package/dist/{edge-curve.js → edges/edge-curve.js} +1 -1
- package/dist/edges/edge-curve.js.map +1 -0
- package/dist/{edge-geometry.d.ts → edges/edge-geometry.d.ts} +1 -1
- package/dist/edges/edge-geometry.d.ts.map +1 -0
- package/dist/{edge-geometry.js → edges/edge-geometry.js} +5 -5
- package/dist/edges/edge-geometry.js.map +1 -0
- package/dist/edges/edge-label.d.ts.map +1 -0
- package/dist/{edge-label.js → edges/edge-label.js} +1 -1
- package/dist/edges/edge-label.js.map +1 -0
- package/dist/{edge.d.ts → edges/edge.d.ts} +1 -1
- package/dist/edges/edge.d.ts.map +1 -0
- package/dist/edges/edge.js.map +1 -0
- package/dist/{elbow-link.d.ts → edges/elbow-link.d.ts} +1 -1
- package/dist/edges/elbow-link.d.ts.map +1 -0
- package/dist/{elbow-link.js → edges/elbow-link.js} +3 -3
- package/dist/edges/elbow-link.js.map +1 -0
- package/dist/edges/elbow-router.d.ts.map +1 -0
- package/dist/{elbow-router.js → edges/elbow-router.js} +1 -1
- package/dist/edges/elbow-router.js.map +1 -0
- package/dist/{heading.d.ts → edges/heading.d.ts} +1 -1
- package/dist/edges/heading.d.ts.map +1 -0
- package/dist/{heading.js → edges/heading.js} +1 -1
- package/dist/edges/heading.js.map +1 -0
- package/dist/{anchors.d.ts → geometry/anchors.d.ts} +2 -2
- package/dist/geometry/anchors.d.ts.map +1 -0
- package/dist/{anchors.js → geometry/anchors.js} +2 -2
- package/dist/geometry/anchors.js.map +1 -0
- package/dist/{outline.d.ts → geometry/outline.d.ts} +1 -1
- package/dist/geometry/outline.d.ts.map +1 -0
- package/dist/{outline.js → geometry/outline.js} +4 -4
- package/dist/geometry/outline.js.map +1 -0
- package/dist/{snap.d.ts → geometry/snap.d.ts} +1 -1
- package/dist/geometry/snap.d.ts.map +1 -0
- package/dist/{snap.js → geometry/snap.js} +1 -1
- package/dist/geometry/snap.js.map +1 -0
- package/dist/index.d.ts +53 -51
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -33
- package/dist/index.js.map +1 -1
- package/dist/{layout-registry.d.ts → layout/layout-registry.d.ts} +2 -2
- package/dist/layout/layout-registry.d.ts.map +1 -0
- package/dist/layout/layout-registry.js.map +1 -0
- package/dist/{layout.d.ts → layout/layout.d.ts} +3 -3
- package/dist/layout/layout.d.ts.map +1 -0
- package/dist/{layout.js → layout/layout.js} +7 -7
- package/dist/layout/layout.js.map +1 -0
- package/dist/model/diff.d.ts.map +1 -0
- package/dist/model/diff.js.map +1 -0
- package/dist/{file.d.ts → model/file.d.ts} +9 -0
- package/dist/model/file.d.ts.map +1 -0
- package/dist/model/file.js +42 -0
- package/dist/model/file.js.map +1 -0
- package/dist/{hydrate.d.ts → model/hydrate.d.ts} +2 -0
- package/dist/model/hydrate.d.ts.map +1 -0
- package/dist/{hydrate.js → model/hydrate.js} +2 -0
- package/dist/model/hydrate.js.map +1 -0
- package/dist/model/layer.d.ts.map +1 -0
- package/dist/model/layer.js.map +1 -0
- package/dist/{operations.d.ts → model/operations.d.ts} +3 -3
- package/dist/model/operations.d.ts.map +1 -0
- package/dist/model/operations.js.map +1 -0
- package/dist/model/order.d.ts.map +1 -0
- package/dist/model/order.js.map +1 -0
- package/dist/{patch.d.ts → model/patch.d.ts} +3 -3
- package/dist/model/patch.d.ts.map +1 -0
- package/dist/model/patch.js.map +1 -0
- package/dist/{scene.d.ts → model/scene.d.ts} +3 -3
- package/dist/model/scene.d.ts.map +1 -0
- package/dist/model/scene.js.map +1 -0
- package/dist/{three-way-merge.d.ts → model/three-way-merge.d.ts} +1 -1
- package/dist/model/three-way-merge.d.ts.map +1 -0
- package/dist/model/three-way-merge.js.map +1 -0
- package/dist/{viewport.d.ts → model/viewport.d.ts} +18 -0
- package/dist/model/viewport.d.ts.map +1 -0
- package/dist/{viewport.js → model/viewport.js} +3 -1
- package/dist/model/viewport.js.map +1 -0
- package/dist/{queries.d.ts → query/queries.d.ts} +12 -7
- package/dist/query/queries.d.ts.map +1 -0
- package/dist/{queries.js → query/queries.js} +20 -10
- package/dist/query/queries.js.map +1 -0
- package/dist/query/spatial.d.ts.map +1 -0
- package/dist/query/spatial.js.map +1 -0
- package/dist/shapes/brush-outline.d.ts.map +1 -0
- package/dist/{brush-outline.js → shapes/brush-outline.js} +1 -1
- package/dist/shapes/brush-outline.js.map +1 -0
- package/dist/{container.d.ts → shapes/container.d.ts} +1 -1
- package/dist/shapes/container.d.ts.map +1 -0
- package/dist/{container.js → shapes/container.js} +1 -1
- package/dist/shapes/container.js.map +1 -0
- package/dist/shapes/ellipse.d.ts.map +1 -0
- package/dist/shapes/ellipse.js.map +1 -0
- package/dist/shapes/render-bounds.d.ts.map +1 -0
- package/dist/shapes/render-bounds.js.map +1 -0
- package/dist/shapes/shape-transform.d.ts.map +1 -0
- package/dist/shapes/shape-transform.js.map +1 -0
- package/dist/{shape.d.ts → shapes/shape.d.ts} +130 -3
- package/dist/shapes/shape.d.ts.map +1 -0
- package/dist/{shape.js → shapes/shape.js} +30 -5
- package/dist/shapes/shape.js.map +1 -0
- package/dist/text/paragraphs.d.ts +44 -0
- package/dist/text/paragraphs.d.ts.map +1 -0
- package/dist/text/paragraphs.js +133 -0
- package/dist/text/paragraphs.js.map +1 -0
- package/dist/text/placeholder.d.ts +9 -0
- package/dist/text/placeholder.d.ts.map +1 -0
- package/dist/text/placeholder.js +29 -0
- package/dist/text/placeholder.js.map +1 -0
- package/dist/{style.d.ts → text/style.d.ts} +6 -0
- package/dist/text/style.d.ts.map +1 -0
- package/dist/{style.js → text/style.js} +1 -1
- package/dist/text/style.js.map +1 -0
- package/dist/text/text-measure.d.ts.map +1 -0
- package/dist/text/text-measure.js.map +1 -0
- package/dist/{text-runs.d.ts → text/text-runs.d.ts} +1 -1
- package/dist/text/text-runs.d.ts.map +1 -0
- package/dist/text/text-runs.js.map +1 -0
- package/package.json +1 -1
- package/dist/anchors.d.ts.map +0 -1
- package/dist/anchors.js.map +0 -1
- package/dist/annotation-geometry.d.ts.map +0 -1
- package/dist/annotation-geometry.js.map +0 -1
- package/dist/annotation.d.ts.map +0 -1
- package/dist/brush-outline.d.ts.map +0 -1
- package/dist/brush-outline.js.map +0 -1
- package/dist/container.d.ts.map +0 -1
- package/dist/container.js.map +0 -1
- package/dist/diff.d.ts.map +0 -1
- package/dist/diff.js.map +0 -1
- package/dist/edge-curve.d.ts.map +0 -1
- package/dist/edge-curve.js.map +0 -1
- package/dist/edge-geometry.d.ts.map +0 -1
- package/dist/edge-geometry.js.map +0 -1
- package/dist/edge-label.d.ts.map +0 -1
- package/dist/edge-label.js.map +0 -1
- package/dist/edge.d.ts.map +0 -1
- package/dist/edge.js.map +0 -1
- package/dist/elbow-link.d.ts.map +0 -1
- package/dist/elbow-link.js.map +0 -1
- package/dist/elbow-router.d.ts.map +0 -1
- package/dist/elbow-router.js.map +0 -1
- package/dist/ellipse.d.ts.map +0 -1
- package/dist/ellipse.js.map +0 -1
- package/dist/file.d.ts.map +0 -1
- package/dist/file.js +0 -13
- package/dist/file.js.map +0 -1
- package/dist/heading.d.ts.map +0 -1
- package/dist/heading.js.map +0 -1
- package/dist/hydrate.d.ts.map +0 -1
- package/dist/hydrate.js.map +0 -1
- package/dist/layer.d.ts.map +0 -1
- package/dist/layer.js.map +0 -1
- package/dist/layout-registry.d.ts.map +0 -1
- package/dist/layout-registry.js.map +0 -1
- package/dist/layout.d.ts.map +0 -1
- package/dist/layout.js.map +0 -1
- package/dist/operations.d.ts.map +0 -1
- package/dist/operations.js.map +0 -1
- package/dist/order.d.ts.map +0 -1
- package/dist/order.js.map +0 -1
- package/dist/outline.d.ts.map +0 -1
- package/dist/outline.js.map +0 -1
- package/dist/patch.d.ts.map +0 -1
- package/dist/patch.js.map +0 -1
- package/dist/queries.d.ts.map +0 -1
- package/dist/queries.js.map +0 -1
- package/dist/render-bounds.d.ts.map +0 -1
- package/dist/render-bounds.js.map +0 -1
- package/dist/scene.d.ts.map +0 -1
- package/dist/scene.js.map +0 -1
- package/dist/shape-transform.d.ts.map +0 -1
- package/dist/shape-transform.js.map +0 -1
- package/dist/shape.d.ts.map +0 -1
- package/dist/shape.js.map +0 -1
- package/dist/snap.d.ts.map +0 -1
- package/dist/snap.js.map +0 -1
- package/dist/spatial.d.ts.map +0 -1
- package/dist/spatial.js.map +0 -1
- package/dist/style.d.ts.map +0 -1
- package/dist/style.js.map +0 -1
- package/dist/text-measure.d.ts.map +0 -1
- package/dist/text-measure.js.map +0 -1
- package/dist/text-runs.d.ts.map +0 -1
- package/dist/text-runs.js.map +0 -1
- package/dist/three-way-merge.d.ts.map +0 -1
- package/dist/three-way-merge.js.map +0 -1
- package/dist/viewport.d.ts.map +0 -1
- package/dist/viewport.js.map +0 -1
- /package/dist/{annotation.d.ts → annotations/annotation.d.ts} +0 -0
- /package/dist/{annotation.js → annotations/annotation.js} +0 -0
- /package/dist/{edge-curve.d.ts → edges/edge-curve.d.ts} +0 -0
- /package/dist/{edge-label.d.ts → edges/edge-label.d.ts} +0 -0
- /package/dist/{edge.js → edges/edge.js} +0 -0
- /package/dist/{elbow-router.d.ts → edges/elbow-router.d.ts} +0 -0
- /package/dist/{layout-registry.js → layout/layout-registry.js} +0 -0
- /package/dist/{diff.d.ts → model/diff.d.ts} +0 -0
- /package/dist/{diff.js → model/diff.js} +0 -0
- /package/dist/{layer.d.ts → model/layer.d.ts} +0 -0
- /package/dist/{layer.js → model/layer.js} +0 -0
- /package/dist/{operations.js → model/operations.js} +0 -0
- /package/dist/{order.d.ts → model/order.d.ts} +0 -0
- /package/dist/{order.js → model/order.js} +0 -0
- /package/dist/{patch.js → model/patch.js} +0 -0
- /package/dist/{scene.js → model/scene.js} +0 -0
- /package/dist/{three-way-merge.js → model/three-way-merge.js} +0 -0
- /package/dist/{spatial.d.ts → query/spatial.d.ts} +0 -0
- /package/dist/{spatial.js → query/spatial.js} +0 -0
- /package/dist/{brush-outline.d.ts → shapes/brush-outline.d.ts} +0 -0
- /package/dist/{ellipse.d.ts → shapes/ellipse.d.ts} +0 -0
- /package/dist/{ellipse.js → shapes/ellipse.js} +0 -0
- /package/dist/{render-bounds.d.ts → shapes/render-bounds.d.ts} +0 -0
- /package/dist/{render-bounds.js → shapes/render-bounds.js} +0 -0
- /package/dist/{shape-transform.d.ts → shapes/shape-transform.d.ts} +0 -0
- /package/dist/{shape-transform.js → shapes/shape-transform.js} +0 -0
- /package/dist/{text-measure.d.ts → text/text-measure.d.ts} +0 -0
- /package/dist/{text-measure.js → text/text-measure.js} +0 -0
- /package/dist/{text-runs.js → text/text-runs.js} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,50 +1,52 @@
|
|
|
1
|
-
export { getCornerRadius, strokeOutsideExtent } from "./style.js";
|
|
2
|
-
export {
|
|
1
|
+
export { getCornerRadius, strokeOutsideExtent } from "./text/style.js";
|
|
2
|
+
export { pickTextPlaceholder } from "./text/placeholder.js";
|
|
3
|
+
export { runsToText, normalizeRuns, sliceRuns, applyStyleToRange } from "./text/text-runs.js";
|
|
4
|
+
export { paragraphCount, paragraphRangeForOffsets, paragraphAt, normalizeParagraphs, remapParagraphsForTextChange, listMarkers, } from "./text/paragraphs.js";
|
|
3
5
|
export { ADAPTIVE_CORNER_RADIUS, PROPORTIONAL_CORNER_RADIUS } from "./constants.js";
|
|
4
|
-
export { isAnchorRef, endpointElementId } from "./edge.js";
|
|
5
|
-
export { getLinkEndpointWorld, getLinkPath, findLinkAt, getElbowSegmentHandles, getLinkCurvePoints, getLinkCurveSegments, linkLabelBounds, getLinkWaypointMidpoints, getSelfLoopSpec, straightElbowFallback, } from "./edge-geometry.js";
|
|
6
|
-
export { estimateLinkLabelBox, linkLabelAnchor, linkLabelBoundsForPath, nudgeHandleOffLabel, pointAlongPath, projectPointToPathT, } from "./edge-label.js";
|
|
7
|
-
export { catmullRomBeziers, cubicWithEndTangents, flattenSegments, } from "./edge-curve.js";
|
|
6
|
+
export { isAnchorRef, endpointElementId } from "./edges/edge.js";
|
|
7
|
+
export { getLinkEndpointWorld, getLinkPath, findLinkAt, getElbowSegmentHandles, getLinkCurvePoints, getLinkCurveSegments, linkLabelBounds, getLinkWaypointMidpoints, getSelfLoopSpec, straightElbowFallback, } from "./edges/edge-geometry.js";
|
|
8
|
+
export { estimateLinkLabelBox, linkLabelAnchor, linkLabelBoundsForPath, nudgeHandleOffLabel, pointAlongPath, projectPointToPathT, } from "./edges/edge-label.js";
|
|
9
|
+
export { catmullRomBeziers, cubicWithEndTangents, flattenSegments, } from "./edges/edge-curve.js";
|
|
8
10
|
// Element helpers + bounder registry
|
|
9
|
-
export { isRectangle, isEllipse, isPolygon, isPath, isText, isImage, isTemplate, isGroup, isFrame, isBlockArrow, isBrush, brushBodyColor, registerBounder, getBounder, getElementLocalBounds, getElementWorldBounds, } from "./shape.js";
|
|
10
|
-
export { brushOutline } from "./brush-outline.js";
|
|
11
|
-
export { registerRenderOverflow, getElementRenderBounds, } from "./render-bounds.js";
|
|
12
|
-
export { setTextMeasurer, getTextMeasurer, } from "./text-measure.js";
|
|
11
|
+
export { isRectangle, isEllipse, isPolygon, isPath, isText, isImage, isTemplate, isGroup, isFrame, isBlockArrow, isBrush, canCarryLabel, isSticky, isEmoji, brushBodyColor, registerBounder, getBounder, getElementLocalBounds, getElementWorldBounds, } from "./shapes/shape.js";
|
|
12
|
+
export { brushOutline } from "./shapes/brush-outline.js";
|
|
13
|
+
export { registerRenderOverflow, getElementRenderBounds, } from "./shapes/render-bounds.js";
|
|
14
|
+
export { setTextMeasurer, getTextMeasurer, } from "./text/text-measure.js";
|
|
13
15
|
// Anchor helpers
|
|
14
|
-
export { STANDARD_ANCHORS, STANDARD_ANCHOR_RATIOS, CARDINAL_ANCHORS, getNamedAnchorLocal, getAnchorLocal, getAnchorWorld, getAnchorOutwardNormal, listAnchorsLocal, geometryDefaultAnchorsLocal, findNearestAnchor, snapExcludedAnchors, } from "./anchors.js";
|
|
15
|
-
export { SnapEngine, gridSnapper, anchorSnapper, outlineSnapper } from "./snap.js";
|
|
16
|
-
export { registerOutlineSampler, getOutlineSampler, getOutlinePoint, findNearestOutlinePoint, } from "./outline.js";
|
|
16
|
+
export { STANDARD_ANCHORS, STANDARD_ANCHOR_RATIOS, CARDINAL_ANCHORS, getNamedAnchorLocal, getAnchorLocal, getAnchorWorld, getAnchorOutwardNormal, listAnchorsLocal, geometryDefaultAnchorsLocal, findNearestAnchor, snapExcludedAnchors, } from "./geometry/anchors.js";
|
|
17
|
+
export { SnapEngine, gridSnapper, anchorSnapper, outlineSnapper } from "./geometry/snap.js";
|
|
18
|
+
export { registerOutlineSampler, getOutlineSampler, getOutlinePoint, findNearestOutlinePoint, } from "./geometry/outline.js";
|
|
17
19
|
// Viewport helpers
|
|
18
|
-
export { DEFAULT_VIEWPORT, getWorldToScreen, getScreenToWorld, panBy, zoomAt, resize, resolveSnapSpacing, isSnapToGridEnabled, } from "./viewport.js";
|
|
20
|
+
export { DEFAULT_VIEWPORT, canvasBackgroundOf, getWorldToScreen, getScreenToWorld, panBy, zoomAt, resize, resolveSnapSpacing, isSnapToGridEnabled, } from "./model/viewport.js";
|
|
19
21
|
// Scene constructor + apply + ordering helpers
|
|
20
|
-
export { DEFAULT_LAYER_ID, DEFAULT_SCENE, emptyScene, apply, orderForTop, orderForBottom, orderBetween, orderBetweenMany, addBinaryFile, removeBinaryFile, getBinaryFile, } from "./scene.js";
|
|
22
|
+
export { DEFAULT_LAYER_ID, DEFAULT_SCENE, emptyScene, apply, orderForTop, orderForBottom, orderBetween, orderBetweenMany, addBinaryFile, removeBinaryFile, getBinaryFile, } from "./model/scene.js";
|
|
21
23
|
// Z-order comparators.
|
|
22
|
-
export { byOrderAsc, byOrderDesc } from "./order.js";
|
|
24
|
+
export { byOrderAsc, byOrderDesc } from "./model/order.js";
|
|
23
25
|
// Scene defaults: hydration / dehydration + per-key persistence scope
|
|
24
|
-
export { hydrateScene, dehydrateScene, VIEWPORT_SCOPE } from "./hydrate.js";
|
|
25
|
-
export { createBinaryFile } from "./file.js";
|
|
26
|
+
export { hydrateScene, dehydrateScene, VIEWPORT_SCOPE } from "./model/hydrate.js";
|
|
27
|
+
export { createBinaryFile, sniffBinaryFileMime } from "./model/file.js";
|
|
26
28
|
// Patch utilities
|
|
27
|
-
export { invert, batch, isNoop } from "./patch.js";
|
|
29
|
+
export { invert, batch, isNoop } from "./model/patch.js";
|
|
28
30
|
// Operations (return { scene, patch })
|
|
29
|
-
export { addElement, removeElement, updateElement, moveElement, addLink, removeLink, updateLink, addLayer, removeLayer, updateLayer, setViewport, addAnnotation, removeAnnotation, updateAnnotation, } from "./operations.js";
|
|
30
|
-
export { getAnnotationWorldPosition } from "./annotation-geometry.js";
|
|
31
|
+
export { addElement, removeElement, updateElement, moveElement, addLink, removeLink, updateLink, addLayer, removeLayer, updateLayer, setViewport, addAnnotation, removeAnnotation, updateAnnotation, } from "./model/operations.js";
|
|
32
|
+
export { getAnnotationWorldPosition } from "./annotations/annotation-geometry.js";
|
|
31
33
|
// Queries
|
|
32
|
-
export { getElement, getLink, getLayer, getLayersInOrder, getElementsInLayer, getLinksInLayer, getElementsInBounds, getElementsCoveredByBounds, getElementAt, buildSpatialIndex, queryByIndex, getElementAtIndexed, getChildrenOf, getElementOutline, registerElementOutline, getRootSelf, getDescendantsOf, isElementLocked, isElementHidden, } from "./queries.js";
|
|
34
|
+
export { getElement, getLink, getLayer, getLayersInOrder, getElementsInLayer, getLinksInLayer, getElementsInBounds, getElementsCoveredByBounds, getElementAt, buildSpatialIndex, queryByIndex, getElementAtIndexed, getChildrenOf, getElementOutline, registerElementOutline, getRootSelf, getDescendantsOf, isElementLocked, isElementHidden, } from "./query/queries.js";
|
|
33
35
|
// Spatial index (the class itself, for advanced uses)
|
|
34
|
-
export { SpatialGrid } from "./spatial.js";
|
|
36
|
+
export { SpatialGrid } from "./query/spatial.js";
|
|
35
37
|
export { getElementAccessibleName, registerAccessibleName } from "./a11y.js";
|
|
36
|
-
export { gridLayout, stackLayout, wrapLayout, measureWrap, treeLayout, getAutoLayoutSpec, runAutoLayout, } from "./layout.js";
|
|
37
|
-
export { registerLayoutKind, unregisterLayoutKind, getLayoutKind, listLayoutKinds, } from "./layout-registry.js";
|
|
38
|
+
export { gridLayout, stackLayout, wrapLayout, measureWrap, treeLayout, getAutoLayoutSpec, runAutoLayout, } from "./layout/layout.js";
|
|
39
|
+
export { registerLayoutKind, unregisterLayoutKind, getLayoutKind, listLayoutKinds, } from "./layout/layout-registry.js";
|
|
38
40
|
// Tunable thresholds.
|
|
39
|
-
export { SNAP_PROBE_CULL_RADIUS, DEFAULT_GRID_SPACING, ELBOW_OBSTACLE_MARGIN, ELBOW_OBSTACLE_INTERIOR_EPSILON, FRAME_HEADER_HEIGHT, FRAME_HEADER_PADDING_X, FRAME_HEADER_FONT_SIZE, FALLBACK_SCENE_WIDTH, FALLBACK_SCENE_HEIGHT, LINK_LABEL_DEFAULT_POSITION, LINK_LABEL_DEFAULT_FONT_SIZE, LINK_LABEL_MAX_WIDTH, LINK_LABEL_PAD_X, LINK_LABEL_PAD_Y, LINK_LABEL_LINE_HEIGHT, LINK_LABEL_END_CLEARANCE, LINK_LABEL_CHAR_WIDTH_FACTOR, } from "./constants.js";
|
|
41
|
+
export { SNAP_PROBE_CULL_RADIUS, DEFAULT_GRID_SPACING, ELBOW_OBSTACLE_MARGIN, ELBOW_OBSTACLE_INTERIOR_EPSILON, FRAME_HEADER_HEIGHT, FRAME_HEADER_PADDING_X, FRAME_HEADER_FONT_SIZE, FALLBACK_SCENE_WIDTH, FALLBACK_SCENE_HEIGHT, LINK_LABEL_DEFAULT_POSITION, LINK_LABEL_DEFAULT_FONT_SIZE, LINK_LABEL_MAX_WIDTH, LINK_LABEL_PAD_X, LINK_LABEL_PAD_Y, LINK_LABEL_LINE_HEIGHT, LINK_LABEL_END_CLEARANCE, LINK_LABEL_CHAR_WIDTH_FACTOR, IMAGE_MASK_POLYGON_PRESETS, DEFAULT_CANVAS_BACKGROUND, TEXT_PLACEHOLDERS, } from "./constants.js";
|
|
40
42
|
// Elbow router — A*-based obstacle-avoiding 90° routing.
|
|
41
|
-
export { elbowRoute } from "./elbow-router.js";
|
|
42
|
-
export { routeElbowLink, routeElbowPreview } from "./elbow-link.js";
|
|
43
|
-
export { HEADING_RIGHT, HEADING_DOWN, HEADING_LEFT, HEADING_UP, headingIsHorizontal, headingsEqual, flipHeading, vectorToHeading, headingForPoint, headingForPointFromElement, headingForEdgePoint, } from "./heading.js";
|
|
44
|
-
export { diffSceneElements } from "./diff.js";
|
|
45
|
-
export { mergeScenesThreeWay, applyConflictResolutions } from "./three-way-merge.js";
|
|
43
|
+
export { elbowRoute } from "./edges/elbow-router.js";
|
|
44
|
+
export { routeElbowLink, routeElbowPreview } from "./edges/elbow-link.js";
|
|
45
|
+
export { HEADING_RIGHT, HEADING_DOWN, HEADING_LEFT, HEADING_UP, headingIsHorizontal, headingsEqual, flipHeading, vectorToHeading, headingForPoint, headingForPointFromElement, headingForEdgePoint, } from "./edges/heading.js";
|
|
46
|
+
export { diffSceneElements } from "./model/diff.js";
|
|
47
|
+
export { mergeScenesThreeWay, applyConflictResolutions } from "./model/three-way-merge.js";
|
|
46
48
|
// Shape local↔world transform helpers.
|
|
47
|
-
export { localToWorld, worldToLocal } from "./shape-transform.js";
|
|
49
|
+
export { localToWorld, worldToLocal } from "./shapes/shape-transform.js";
|
|
48
50
|
// Container / drop-zone protocol.
|
|
49
|
-
export { isContainer, getContainerSpec, getDropZoneWorld, findContainerAt, expandDropZoneToFit, containerSizeForZone, registerContainerResolver, getDropZonesWorld, registerContainerZonesResolver, } from "./container.js";
|
|
51
|
+
export { isContainer, getContainerSpec, getDropZoneWorld, findContainerAt, expandDropZoneToFit, containerSizeForZone, registerContainerResolver, getDropZonesWorld, registerContainerZonesResolver, } from "./shapes/container.js";
|
|
50
52
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,WAAW,EACX,mBAAmB,EACnB,4BAA4B,EAC5B,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAqCpF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,GAEhB,MAAM,uBAAuB,CAAC;AAO/B,qCAAqC;AACrC,OAAO,EACL,WAAW,EACX,SAAS,EACT,SAAS,EACT,MAAM,EACN,MAAM,EACN,OAAO,EACP,UAAU,EACV,OAAO,EACP,OAAO,EACP,YAAY,EACZ,OAAO,EACP,aAAa,EACb,QAAQ,EACR,OAAO,EACP,cAAc,EACd,eAAe,EACf,UAAU,EACV,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GAEvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,eAAe,EACf,eAAe,GAGhB,MAAM,wBAAwB,CAAC;AAEhC,iBAAiB;AACjB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAI5F,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,mBAAmB;AACnB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,MAAM,EACN,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,+CAA+C;AAC/C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,KAAK,EACL,WAAW,EACX,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAG1B,uBAAuB;AACvB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE3D,sEAAsE;AACtE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKlF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAExE,kBAAkB;AAClB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEzD,uCAAuC;AACvC,OAAO,EACL,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,UAAU;AACV,OAAO,EACL,UAAU,EACV,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EAEtB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAE5B,sDAAsD;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAY7E,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,eAAe,GAChB,MAAM,6BAA6B,CAAC;AAErC,sBAAsB;AACtB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAC/B,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,4BAA4B,EAC5B,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,0BAA0B,EAC1B,yBAAyB,EACzB,iBAAiB,GAElB,MAAM,gBAAgB,CAAC;AAExB,yDAAyD;AACzD,OAAO,EAAE,UAAU,EAA0B,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AASpD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3F,uCAAuC;AACvC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEzE,kCAAkC;AAClC,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,8BAA8B,GAI/B,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ElementId, Vec2 } from "@oh-just-another/types";
|
|
2
|
-
import type { Patch } from "
|
|
3
|
-
import type { Scene } from "
|
|
2
|
+
import type { Patch } from "../model/patch.js";
|
|
3
|
+
import type { Scene } from "../model/scene.js";
|
|
4
4
|
/**
|
|
5
5
|
* Pluggable layout registry.
|
|
6
6
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-registry.d.ts","sourceRoot":"","sources":["../../src/layout/layout-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,eAAe,CAAC,IAAI,GAAG,OAAO;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IACtC,GAAG,CACD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,IAAI,GACT,KAAK,GAAG,IAAI,CAAC;CACjB;AAID,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,KAAG,IAEjE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,eAAe,GAAG,SAIrE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,eAAe,GAAG,SAA+B,CAAC;AAE/F,sEAAsE;AACtE,eAAO,MAAM,eAAe,QAAO,SAAS,MAAM,EAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-registry.js","sourceRoot":"","sources":["../../src/layout/layout-registry.ts"],"names":[],"mappings":"AAsCA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;AAEpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAI,KAAyB,EAAQ,EAAE;IACvE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAA+B,EAAE;IAChF,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAA+B,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAE/F,sEAAsE;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,GAAsB,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ElementId, type Vec2 } from "@oh-just-another/types";
|
|
2
|
-
import type { Scene } from "
|
|
3
|
-
import { type Element } from "
|
|
4
|
-
import { type Patch } from "
|
|
2
|
+
import type { Scene } from "../model/scene.js";
|
|
3
|
+
import { type Element } from "../shapes/shape.js";
|
|
4
|
+
import { type Patch } from "../model/patch.js";
|
|
5
5
|
/**
|
|
6
6
|
* Pure layout function. Computes new positions for a subset of shapes
|
|
7
7
|
* and returns a single batched patch (or null when nothing changed).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/layout/layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { req } from "@oh-just-another/types";
|
|
2
|
-
import { getDropZoneWorld } from "
|
|
3
|
-
import { getElementLocalBounds } from "
|
|
4
|
-
import { getElement } from "
|
|
5
|
-
import { updateElement } from "
|
|
6
|
-
import { batch } from "
|
|
2
|
+
import { getDropZoneWorld } from "../shapes/container.js";
|
|
3
|
+
import { getElementLocalBounds } from "../shapes/shape.js";
|
|
4
|
+
import { getElement } from "../query/queries.js";
|
|
5
|
+
import { updateElement } from "../model/operations.js";
|
|
6
|
+
import { batch } from "../model/patch.js";
|
|
7
7
|
import { getLayoutKind } from "./layout-registry.js";
|
|
8
|
-
import { byOrderAsc } from "
|
|
9
|
-
import { DEFAULT_LAYOUT_GAP, DEFAULT_TREE_NODE_SEP, DEFAULT_TREE_RANK_SEP } from "
|
|
8
|
+
import { byOrderAsc } from "../model/order.js";
|
|
9
|
+
import { DEFAULT_LAYOUT_GAP, DEFAULT_TREE_NODE_SEP, DEFAULT_TREE_RANK_SEP } from "../constants.js";
|
|
10
10
|
/**
|
|
11
11
|
* Visual width / height of a shape in its OWN frame (no `position`,
|
|
12
12
|
* yes `scale`). Uses the registered bounder so polygon / path /
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/layout/layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/model/diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;CACzC;AAED,eAAO,MAAM,iBAAiB,GAAI,MAAM,KAAK,EAAE,MAAM,KAAK,KAAG,gBAa5D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/model/diff.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAW,EAAE,IAAW,EAAoB,EAAE;IAC9E,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACpC,IAAI,MAAM,KAAK,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtC,CAAC,CAAC"}
|
|
@@ -38,4 +38,13 @@ export declare const createBinaryFile: (id: FileId, data: ArrayBuffer, options?:
|
|
|
38
38
|
readonly name?: string;
|
|
39
39
|
readonly createdAt?: number;
|
|
40
40
|
}) => BinaryFile;
|
|
41
|
+
/**
|
|
42
|
+
* Content-sniff a media MIME from the leading magic bytes, or `null`
|
|
43
|
+
* when unrecognised. Used as a fallback when a stored `BinaryFile`
|
|
44
|
+
* carries a generic mime (`application/octet-stream` — e.g. a file
|
|
45
|
+
* dropped with an empty `File.type` by the browser): rehydration
|
|
46
|
+
* routes image-vs-video decoding by mime, so a generic one would send
|
|
47
|
+
* an mp4 into the image decoder and the shape would reload blank.
|
|
48
|
+
*/
|
|
49
|
+
export declare const sniffBinaryFileMime: (data: ArrayBuffer) => string | null;
|
|
41
50
|
//# sourceMappingURL=file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/model/file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,IAAI,MAAM,EACV,MAAM,WAAW,EACjB,UAAS;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,KAC5F,UAMD,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,WAAW,KAAG,MAAM,GAAG,IAchE,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convenience constructor — assigns the current timestamp + a
|
|
3
|
+
* sensible default `mime` of `application/octet-stream`. Hosts
|
|
4
|
+
* normally pass an explicit `mime` from the source `Blob.type`.
|
|
5
|
+
*/
|
|
6
|
+
export const createBinaryFile = (id, data, options = {}) => ({
|
|
7
|
+
id,
|
|
8
|
+
data,
|
|
9
|
+
mime: options.mime ?? "application/octet-stream",
|
|
10
|
+
createdAt: options.createdAt ?? Date.now(),
|
|
11
|
+
...(options.name !== undefined ? { name: options.name } : {}),
|
|
12
|
+
});
|
|
13
|
+
/**
|
|
14
|
+
* Content-sniff a media MIME from the leading magic bytes, or `null`
|
|
15
|
+
* when unrecognised. Used as a fallback when a stored `BinaryFile`
|
|
16
|
+
* carries a generic mime (`application/octet-stream` — e.g. a file
|
|
17
|
+
* dropped with an empty `File.type` by the browser): rehydration
|
|
18
|
+
* routes image-vs-video decoding by mime, so a generic one would send
|
|
19
|
+
* an mp4 into the image decoder and the shape would reload blank.
|
|
20
|
+
*/
|
|
21
|
+
export const sniffBinaryFileMime = (data) => {
|
|
22
|
+
const b = new Uint8Array(data, 0, Math.min(16, data.byteLength));
|
|
23
|
+
const ascii = (from, to) => String.fromCharCode(...b.subarray(from, Math.min(to, b.length)));
|
|
24
|
+
if (b.length >= 12 && ascii(4, 8) === "ftyp")
|
|
25
|
+
return "video/mp4"; // ISO-BMFF (mp4 / mov)
|
|
26
|
+
if (b.length >= 4 && b[0] === 0x1a && b[1] === 0x45 && b[2] === 0xdf && b[3] === 0xa3)
|
|
27
|
+
return "video/webm"; // EBML (webm / mkv)
|
|
28
|
+
if (b.length >= 4 && ascii(0, 4) === "OggS")
|
|
29
|
+
return "video/ogg";
|
|
30
|
+
if (b.length >= 8 && b[0] === 0x89 && ascii(1, 4) === "PNG")
|
|
31
|
+
return "image/png";
|
|
32
|
+
if (b.length >= 3 && b[0] === 0xff && b[1] === 0xd8 && b[2] === 0xff)
|
|
33
|
+
return "image/jpeg";
|
|
34
|
+
if (b.length >= 4 && ascii(0, 4) === "GIF8")
|
|
35
|
+
return "image/gif";
|
|
36
|
+
if (b.length >= 12 && ascii(0, 4) === "RIFF" && ascii(8, 12) === "WEBP")
|
|
37
|
+
return "image/webp";
|
|
38
|
+
if (b.length >= 4 && (ascii(0, 4) === "<svg" || ascii(0, 2) === "<?"))
|
|
39
|
+
return "image/svg+xml";
|
|
40
|
+
return null;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/model/file.ts"],"names":[],"mappings":"AAgCA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,EAAU,EACV,IAAiB,EACjB,UAA2F,EAAE,EACjF,EAAE,CAAC,CAAC;IAChB,EAAE;IACF,IAAI;IACJ,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,0BAA0B;IAChD,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;IAC1C,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CAC9D,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAiB,EAAiB,EAAE;IACtE,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAU,EAAU,EAAE,CACjD,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC,CAAC,uBAAuB;IACzF,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;QACnF,OAAO,YAAY,CAAC,CAAC,oBAAoB;IAC3C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC;IAChE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,WAAW,CAAC;IAChF,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IAC1F,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC;IAChE,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM;QAAE,OAAO,YAAY,CAAC;IAC7F,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;QAAE,OAAO,eAAe,CAAC;IAC9F,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -16,6 +16,8 @@ export declare const VIEWPORT_SCOPE: {
|
|
|
16
16
|
readonly gridEnabled: "export";
|
|
17
17
|
readonly gridStyle: "export";
|
|
18
18
|
readonly snapToGrid: "export";
|
|
19
|
+
readonly startView: "export";
|
|
20
|
+
readonly background: "export";
|
|
19
21
|
};
|
|
20
22
|
/** Host-supplied setting overrides accepted by hydration. */
|
|
21
23
|
export interface SceneSettings {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hydrate.d.ts","sourceRoot":"","sources":["../../src/model/hydrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAE9D,8EAA8E;AAC9E,eAAO,MAAM,cAAc;;;;;;;;;;CAU8B,CAAC;AAM1D,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvC;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,qEAAqE;IACrE,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC;CACvC;AAsBD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,QAAO,YAAiB,KAAG,KAUvD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,KAAK,KAAG,KAM7C,CAAC"}
|
|
@@ -8,6 +8,8 @@ export const VIEWPORT_SCOPE = {
|
|
|
8
8
|
gridEnabled: "export",
|
|
9
9
|
gridStyle: "export",
|
|
10
10
|
snapToGrid: "export",
|
|
11
|
+
startView: "export",
|
|
12
|
+
background: "export",
|
|
11
13
|
};
|
|
12
14
|
const VIEWPORT_KEYS = Object.keys(VIEWPORT_SCOPE);
|
|
13
15
|
const EPHEMERAL_VIEWPORT_KEYS = VIEWPORT_KEYS.filter((key) => VIEWPORT_SCOPE[key] === "ephemeral");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hydrate.js","sourceRoot":"","sources":["../../src/model/hydrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAc,MAAM,YAAY,CAAC;AAWvD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,QAAQ;IACrB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,QAAQ;CACmC,CAAC;AAE1D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAuB,CAAC;AAExE,MAAM,uBAAuB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC;AAkBnG;;;GAGG;AACH,MAAM,aAAa,GAAG,CACpB,IAAc,EACd,GAAG,SAAqD,EAC9C,EAAE;IACZ,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAChC,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAsB,EAAE,EAAS,EAAE;IAC9D,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IACtC,OAAO;QACL,QAAQ,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC;QAC5D,KAAK,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC;QACnD,MAAM,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC;QACtD,WAAW,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,WAAW,IAAI,aAAa,CAAC,WAAW,CAAC;QACrE,KAAK,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC;QACnD,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC;KACzF,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAY,EAAS,EAAE;IACpD,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC1C,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../../src/model/layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;CACjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer.js","sourceRoot":"","sources":["../../src/model/layer.ts"],"names":[],"mappings":""}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { AnnotationId, LinkId, LayerId, ElementId, Vec2 } from "@oh-just-another/types";
|
|
2
|
-
import type { Annotation } from "
|
|
3
|
-
import type { Link } from "
|
|
2
|
+
import type { Annotation } from "../annotations/annotation.js";
|
|
3
|
+
import type { Link } from "../edges/edge.js";
|
|
4
4
|
import type { Layer } from "./layer.js";
|
|
5
5
|
import type { Patch } from "./patch.js";
|
|
6
6
|
import { type Scene } from "./scene.js";
|
|
7
|
-
import type { Element } from "
|
|
7
|
+
import type { Element } from "../shapes/shape.js";
|
|
8
8
|
import type { Viewport } from "./viewport.js";
|
|
9
9
|
/**
|
|
10
10
|
* Every mutating operation returns the pair `{ scene, patch }`. The patch is
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/model/operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAID,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,EAAE,OAAO,OAAO,KAAG,eAMzD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,EAAE,IAAI,SAAS,KAAG,eAK3D,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,OAAO,KAAK,EACZ,IAAI,SAAS,EACb,QAAQ,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,KAClC,eAMF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,KAAK,EAAE,IAAI,SAAS,EAAE,IAAI,IAAI,KAAG,eACT,CAAC;AAI5D,eAAO,MAAM,OAAO,GAAI,OAAO,KAAK,EAAE,MAAM,IAAI,KAAG,eAMlD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,EAAE,IAAI,MAAM,KAAG,eAKrD,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,IAAI,MAAM,EACV,QAAQ,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,KAC3B,eAMF,CAAC;AAIF,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK,EAAE,OAAO,KAAK,KAAG,eAMrD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAG,eAKvD,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,OAAO,KAAK,EACZ,IAAI,OAAO,EACX,QAAQ,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,KAC9B,eAMF,CAAC;AAIF,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,EAAE,YAAY,UAAU,KAAG,eAWpE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,EAAE,IAAI,YAAY,KAAG,eAKjE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,KAAK,EACZ,IAAI,YAAY,EAChB,QAAQ,CAAC,UAAU,EAAE,UAAU,KAAK,UAAU,KAC7C,eAMF,CAAC;AAIF,eAAO,MAAM,WAAW,GAAI,OAAO,KAAK,EAAE,UAAU,QAAQ,KAAG,eAG9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/model/operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../src/model/order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,wEAAwE;AACxE,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;CAAE,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAG,MACnC,CAAC;AAErD,iEAAiE;AACjE,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;CAAE,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAG,MACtE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order.js","sourceRoot":"","sources":["../../src/model/order.ts"],"names":[],"mappings":"AAEA,wEAAwE;AACxE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAgD,CAAI,EAAE,CAAI,EAAU,EAAE,CAC9F,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAErD,iEAAiE;AACjE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAgD,CAAI,EAAE,CAAI,EAAU,EAAE,CAC/F,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { AnnotationId, LinkId, FileId, LayerId, ElementId } from "@oh-just-another/types";
|
|
2
|
-
import type { Annotation } from "
|
|
3
|
-
import type { Link } from "
|
|
2
|
+
import type { Annotation } from "../annotations/annotation.js";
|
|
3
|
+
import type { Link } from "../edges/edge.js";
|
|
4
4
|
import type { BinaryFile } from "./file.js";
|
|
5
5
|
import type { Layer } from "./layer.js";
|
|
6
|
-
import type { Element } from "
|
|
6
|
+
import type { Element } from "../shapes/shape.js";
|
|
7
7
|
import type { Viewport } from "./viewport.js";
|
|
8
8
|
/**
|
|
9
9
|
* Unified patch model: each entity update carries `before` and `after`.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../src/model/patch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,MAAM,KAAK,GACb;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAChC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;CAC7B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAC9B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CACnC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GAClF;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CACnC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,CAAA;CAAE,CAAC;AAEnE,6CAA6C;AAC7C,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,KAAG,KAkBrC,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,KAAK,GAAI,SAAS,SAAS,KAAK,EAAE,KAAG,KAOjD,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,KAAG,OAarC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/model/patch.ts"],"names":[],"mappings":"AAoDA,6CAA6C;AAC7C,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAY,EAAS,EAAE;IAC5C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QACrF,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAClF,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QACnF,KAAK,YAAY;YACf,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QACxF,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QACxE,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAClF,KAAK,OAAO;YACV,uDAAuD;YACvD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;IAC3E,CAAC;AACH,CAAC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAyB,EAAS,EAAE;IACxD,MAAM,IAAI,GAAY,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;;YAC3C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC,CAAC;AAEF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAY,EAAW,EAAE;IAC9C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,YAAY,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC;QACtC,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC;QACtC,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { type AnnotationId, type LinkId, type FileId, type LayerId, type ElementId } from "@oh-just-another/types";
|
|
2
2
|
import { type FractionalIndex } from "fractional-keys";
|
|
3
|
-
import type { Annotation } from "
|
|
4
|
-
import type { Link } from "
|
|
3
|
+
import type { Annotation } from "../annotations/annotation.js";
|
|
4
|
+
import type { Link } from "../edges/edge.js";
|
|
5
5
|
import type { BinaryFile } from "./file.js";
|
|
6
6
|
import { type Layer } from "./layer.js";
|
|
7
7
|
import type { Patch } from "./patch.js";
|
|
8
|
-
import type { Element } from "
|
|
8
|
+
import type { Element } from "../shapes/shape.js";
|
|
9
9
|
import { type Viewport } from "./viewport.js";
|
|
10
10
|
/**
|
|
11
11
|
* Whole-scene container. Entities are stored in immutable `ReadonlyMap`s for
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/model/scene.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,OAAO,EACZ,KAAK,SAAS,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAA4C,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC5D;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,eAAO,MAAM,gBAAgB,EAAE,OAAgC,CAAC;AAUhE;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,KAO1B,CAAC;AAEH,+EAA+E;AAC/E,eAAO,MAAM,UAAU,QAAO,KAO5B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,EAAE,MAAM,UAAU,KAAG,KAI9D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,EAAE,IAAI,MAAM,KAAG,KAK3D,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,EAAE,IAAI,MAAM,KAAG,UAAU,GAAG,SACjD,CAAC;AAEtB,6DAA6D;AAC7D,eAAO,MAAM,KAAK,GAAI,OAAO,KAAK,EAAE,OAAO,KAAK,KAAG,KAqClD,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,QAAQ,CAAC,eAAe,CAAC,KAAG,eAMjE,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,cAAc,GAAI,UAAU,QAAQ,CAAC,eAAe,CAAC,KAAG,eAMpE,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,YAAY,GACvB,GAAG,eAAe,GAAG,IAAI,EACzB,GAAG,eAAe,GAAG,IAAI,KACxB,eAA2C,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC3B,GAAG,eAAe,GAAG,IAAI,EACzB,GAAG,eAAe,GAAG,IAAI,EACzB,GAAG,MAAM,KACR,SAAS,eAAe,EAAmC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene.js","sourceRoot":"","sources":["../../src/model/scene.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,WAAW,GAMvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAwB,MAAM,iBAAiB,CAAC;AAIjG,OAAO,EAAc,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAE,gBAAgB,EAAiB,MAAM,eAAe,CAAC;AAmChE,MAAM,CAAC,MAAM,gBAAgB,GAAY,WAAW,CAAC,SAAS,CAAC,CAAC;AAEhE,MAAM,YAAY,GAAG,GAAU,EAAE,CAAC,CAAC;IACjC,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC;CACtC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAU,MAAM,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,IAAI,GAAG,EAAsB;IACvC,KAAK,EAAE,IAAI,GAAG,EAAgB;IAC9B,MAAM,EAAE,IAAI,GAAG,CAAiB,CAAC,CAAC,gBAAgB,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IACrE,WAAW,EAAE,IAAI,GAAG,EAA4B;IAChD,KAAK,EAAE,IAAI,GAAG,EAAsB;IACpC,QAAQ,EAAE,gBAAgB;CAC3B,CAAC,CAAC;AAEH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,UAAU,GAAG,GAAU,EAAE,CAAC,CAAC;IACtC,QAAQ,EAAE,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC;IACzC,KAAK,EAAE,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;IACnC,MAAM,EAAE,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;IACrC,WAAW,EAAE,IAAI,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC;IAC/C,KAAK,EAAE,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;IACnC,QAAQ,EAAE,aAAa,CAAC,QAAQ;CACjC,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAY,EAAE,IAAgB,EAAS,EAAE;IACrE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzB,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAE,EAAU,EAAS,EAAE;IAClE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF,8DAA8D;AAC9D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAY,EAAE,EAAU,EAA0B,EAAE,CAChF,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAEtB,6DAA6D;AAC7D,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAY,EAAE,KAAY,EAAS,EAAE;IACzD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;gBAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;;gBAC/C,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC;QAChC,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;gBAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;;gBAC5C,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;gBAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;;gBAC7C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC;QAC9B,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;gBAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;;gBAClD,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5C,OAAO,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,CAAC;QACnC,CAAC;QACD,KAAK,UAAU;YACb,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;gBAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;;gBAC5C,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;QACD,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC,CAAC;AAEF,mCAAmC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAmC,EAAmB,EAAE;IAClF,IAAI,OAAO,GAA2B,IAAI,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,GAAG,OAAO;YAAE,OAAO,GAAG,KAAK,CAAC;IAC3D,CAAC;IACD,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF,4DAA4D;AAC5D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAmC,EAAmB,EAAE;IACrF,IAAI,MAAM,GAA2B,IAAI,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,GAAG,MAAM;YAAE,MAAM,GAAG,KAAK,CAAC;IACxD,CAAC;IACD,OAAO,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,kEAAkE;AAClE,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,CAAyB,EACzB,CAAyB,EACR,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,CAAyB,EACzB,CAAyB,EACzB,CAAS,EACmB,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ElementId } from "@oh-just-another/types";
|
|
2
2
|
import type { Scene } from "./scene.js";
|
|
3
|
-
import type { Element } from "
|
|
3
|
+
import type { Element } from "../shapes/shape.js";
|
|
4
4
|
/**
|
|
5
5
|
* Pure three-way merge for scene shapes. Takes the common ancestor of two
|
|
6
6
|
* branches + the two heads, returns a merge report:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"three-way-merge.d.ts","sourceRoot":"","sources":["../../src/model/three-way-merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,wFAAwF;IACxF,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;CAChE;AAED,eAAO,MAAM,mBAAmB,GAC9B,UAAU,KAAK,EACf,QAAQ,KAAK,EACb,QAAQ,KAAK,EACb,UAAS,oBAAyB,KACjC,mBAgEF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC7C;AAED,eAAO,MAAM,wBAAwB,GACnC,QAAQ,mBAAmB,EAC3B,aAAa,SAAS,uBAAuB,EAAE,EAC/C,iBAAgB,CAAC,KAAK,EAAE,OAAO,KAAK,OAAsB,KACzD,KA4BF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"three-way-merge.js","sourceRoot":"","sources":["../../src/model/three-way-merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,24 @@ export interface Viewport {
|
|
|
37
37
|
* matters while `gridEnabled` is true.
|
|
38
38
|
*/
|
|
39
39
|
readonly snapToGrid?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Saved "start view" camera — where the document opens (and where
|
|
42
|
+
* "go to start view" jumps). Absent until the author sets one.
|
|
43
|
+
*/
|
|
44
|
+
readonly startView?: StartView;
|
|
45
|
+
/**
|
|
46
|
+
* Canvas paper colour (any CSS colour) behind the grid and the shapes.
|
|
47
|
+
* Absent = {@link DEFAULT_CANVAS_BACKGROUND}. Part of the document: it
|
|
48
|
+
* serialises with the scene and reaches "with background" exports.
|
|
49
|
+
*/
|
|
50
|
+
readonly background?: string;
|
|
51
|
+
}
|
|
52
|
+
/** The canvas paper colour of `viewport`, defaulted. */
|
|
53
|
+
export declare const canvasBackgroundOf: (viewport: Viewport) => string;
|
|
54
|
+
/** A saved camera pose: pan + zoom (rotation is not part of a start view). */
|
|
55
|
+
export interface StartView {
|
|
56
|
+
readonly pan: Vec2;
|
|
57
|
+
readonly zoom: number;
|
|
40
58
|
}
|
|
41
59
|
/** World-unit spacing snap-to-grid rounds to (the fixed grid spacing). */
|
|
42
60
|
export declare const resolveSnapSpacing: () => number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../src/model/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAI9D;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IACnB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,GAAI,UAAU,QAAQ,KAAG,MACN,CAAC;AAEnD,8EAA8E;AAC9E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,QAAO,MAA8B,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,QAAQ,KAAG,OAAsC,CAAC;AAEhG,eAAO,MAAM,gBAAgB,EAAE,QAO7B,CAAC;AAEH,gCAAgC;AAChC,eAAO,MAAM,gBAAgB,GAAI,UAAU,QAAQ,KAAG,SAMrD,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,GAAI,UAAU,QAAQ,KAAG,SACV,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,UAAU,QAAQ,EAAE,aAAa,IAAI,KAAG,QAM5D,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,UAAU,QAAQ,EAAE,QAAQ,MAAM,EAAE,aAAa,IAAI,KAAG,QAW9E,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,UAAU,QAAQ,EAAE,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,QAGzE,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { matrix } from "@oh-just-another/math";
|
|
2
|
-
import { DEFAULT_GRID_SPACING } from "
|
|
2
|
+
import { DEFAULT_GRID_SPACING, DEFAULT_CANVAS_BACKGROUND } from "../constants.js";
|
|
3
|
+
/** The canvas paper colour of `viewport`, defaulted. */
|
|
4
|
+
export const canvasBackgroundOf = (viewport) => viewport.background ?? DEFAULT_CANVAS_BACKGROUND;
|
|
3
5
|
/** World-unit spacing snap-to-grid rounds to (the fixed grid spacing). */
|
|
4
6
|
export const resolveSnapSpacing = () => DEFAULT_GRID_SPACING;
|
|
5
7
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../src/model/viewport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Bounds, LinkId, LayerId, ElementId, Vec2 } from "@oh-just-another/types";
|
|
2
|
-
import type { Link } from "
|
|
3
|
-
import type { Layer } from "
|
|
4
|
-
import type { Scene } from "
|
|
5
|
-
import { type Element } from "
|
|
2
|
+
import type { Link } from "../edges/edge.js";
|
|
3
|
+
import type { Layer } from "../model/layer.js";
|
|
4
|
+
import type { Scene } from "../model/scene.js";
|
|
5
|
+
import { type Element } from "../shapes/shape.js";
|
|
6
6
|
import { SpatialGrid } from "./spatial.js";
|
|
7
7
|
export declare const getElement: (scene: Scene, id: ElementId) => Element | undefined;
|
|
8
8
|
export declare const getLink: (scene: Scene, id: LinkId) => Link | undefined;
|
|
@@ -89,8 +89,12 @@ export declare const getElementsCoveredByBounds: (scene: Scene, range: Bounds, m
|
|
|
89
89
|
* within each layer top-to-bottom; returns the first hit. Hit-test here is the
|
|
90
90
|
* conservative AABB test; renderer-specific shape-precise hit-tests belong
|
|
91
91
|
* with the renderer.
|
|
92
|
+
*
|
|
93
|
+
* `accept` filters candidates: a shape it rejects is skipped and the scan
|
|
94
|
+
* continues to the shapes beneath it (click-through), instead of shadowing
|
|
95
|
+
* them the way a post-hoc filter on the topmost hit would.
|
|
92
96
|
*/
|
|
93
|
-
export declare const getElementAt: (scene: Scene, point: Vec2) => Element | undefined;
|
|
97
|
+
export declare const getElementAt: (scene: Scene, point: Vec2, accept?: (shape: Element) => boolean) => Element | undefined;
|
|
94
98
|
/**
|
|
95
99
|
* Build a `SpatialGrid` from the current scene. Re-build (or update
|
|
96
100
|
* incrementally) when shapes change — the grid is not auto-synced with the
|
|
@@ -109,7 +113,8 @@ export declare const queryByIndex: (scene: Scene, grid: SpatialGrid, range: Boun
|
|
|
109
113
|
* pre-filters candidates through `grid.query` — O(k) where k is the
|
|
110
114
|
* shapes overlapping the point's cell. Walks layers top-to-bottom for
|
|
111
115
|
* stable z-order; within a layer picks the highest-`order` shape that
|
|
112
|
-
* actually contains the point.
|
|
116
|
+
* actually contains the point. `accept` skips rejected shapes and keeps
|
|
117
|
+
* scanning beneath them (same click-through contract as `getElementAt`).
|
|
113
118
|
*/
|
|
114
|
-
export declare const getElementAtIndexed: (scene: Scene, grid: SpatialGrid, point: Vec2) => Element | undefined;
|
|
119
|
+
export declare const getElementAtIndexed: (scene: Scene, grid: SpatialGrid, point: Vec2, accept?: (shape: Element) => boolean) => Element | undefined;
|
|
115
120
|
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/query/queries.ts"],"names":[],"mappings":"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"}
|