@weasel-js/diagram 1.12.0 → 1.13.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/layout.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { t as BodyFloor, B as BodySpec, m as Bounds, w as DEFAULT_HOP_SIZE, x as DEFAULT_NODE_GAP, y as DEFAULT_RANK_GAP, c as DiagramLabel, f as DiagramNode, E as EdgeHop, H as EdgeLabelRoom, G as Graph, I as GraphEdge, J as GraphGroup, K as GraphNode, Q as HOPS_DOC_KEY, T as HopsDocValue, l as LabelSpot, V as LayoutAxes, q as LayoutDirection, d as LayoutFn, e as LayoutOptions, r as LayoutPlan, p as LayoutPlanner, L as LayoutPorts, n as LayoutResult, M as MeasureRowText, O as Outline, g as Port, P as PortAnchor, W as PortSite, b as PortSpec, a as Row, X as RowBox, Y as RowPort, Z as RowPortBox, R as RowTextStyle, _ as Slot, $ as anchorOffset, a0 as axesFor, a2 as bodyOutline, a4 as boxForContent, a6 as canvasMeasure, a7 as contentBox, ay as extent, ae as graphOrder, ai as layoutBody, aj as layoutRowPorts, ak as measureBody, al as outlinePath, am as packAcross, ao as pinnedSet, ap as planOf, aq as plannerPlan, as as seededOrder, at as settle, au as sizeToBody, aw as translated, ax as untilSettled } from './types-M_ccNAlk.js';
2
- export { e as AVOID_DEFAULTS, f as AvoidEdge, g as AvoidEnd, A as AvoidInput, h as AvoidLabel, i as AvoidObstacle, b as AvoidOptions, j as AvoidPort, a as AvoidRouter, c as AvoidRoutes, k as AvoidUpdateOptions, B as BodyNodeSpec, l as BuildBodyOptions, C as COMPASS, D as DEFAULT_PORTS, m as ForceBody, F as ForceOptions, n as ForceRelaxation, L as LabelPlacements, p as LayeredPlan, q as PORT_LABEL_GAP, r as PerimeterPortLabelBox, s as PlaceLabel, t as PlaceLabelsInput, d as PlaceLabelsOptions, u as PlaceRoute, P as PortsOptions, R as RowNodeData, w as backEdges, x as buildBody, y as chain, z as createAvoidRouter, E as edgeHops, G as footprintNode, H as force, I as forceRelaxation, J as forestOf, K as labelCenter, M as layered, N as layeredPlan, O as marginOf, Q as outlinePolyline, S as placeLabels, T as portLabelBox, V as portOf, W as portSitesOf, X as portsOf, Y as portsOnOutline, Z as ranksByLength, _ as ranksOf, $ as rayHit, a0 as routeHolds, a1 as tree } from './layout.entry-B-jJMc50.js';
1
+ export { t as BodyFloor, B as BodySpec, m as Bounds, w as DEFAULT_HOP_SIZE, x as DEFAULT_NODE_GAP, y as DEFAULT_RANK_GAP, c as DiagramLabel, f as DiagramNode, E as EdgeHop, H as EdgeLabelRoom, G as Graph, I as GraphEdge, J as GraphGroup, K as GraphNode, Q as HOPS_DOC_KEY, T as HopsDocValue, l as LabelSpot, V as LayoutAxes, q as LayoutDirection, d as LayoutFn, e as LayoutOptions, r as LayoutPlan, p as LayoutPlanner, L as LayoutPorts, n as LayoutResult, M as MeasureRowText, O as Outline, g as Port, P as PortAnchor, W as PortSite, b as PortSpec, a as Row, X as RowBox, Y as RowPort, Z as RowPortBox, R as RowTextStyle, _ as Slot, $ as anchorOffset, a0 as axesFor, a2 as bodyOutline, a4 as boxForContent, a6 as canvasMeasure, a7 as contentBox, ay as extent, ae as graphOrder, ai as layoutBody, aj as layoutRowPorts, ak as measureBody, al as outlinePath, am as packAcross, ao as pinnedSet, ap as planOf, aq as plannerPlan, as as seededOrder, at as settle, au as sizeToBody, aw as translated, ax as untilSettled } from './types-vbW21fHm.js';
2
+ export { e as AVOID_DEFAULTS, f as AvoidEdge, g as AvoidEnd, A as AvoidInput, h as AvoidLabel, i as AvoidObstacle, b as AvoidOptions, j as AvoidPort, a as AvoidRouter, c as AvoidRoutes, k as AvoidUpdateOptions, B as BodyNodeSpec, l as BuildBodyOptions, C as COMPASS, D as DEFAULT_PORTS, m as ForceBody, F as ForceOptions, n as ForceRelaxation, L as LabelPlacements, p as LayeredPlan, q as PORT_LABEL_GAP, r as PerimeterPortLabelBox, s as PlaceLabel, t as PlaceLabelsInput, d as PlaceLabelsOptions, u as PlaceRoute, P as PortsOptions, R as RowNodeData, w as backEdges, x as buildBody, y as chain, z as createAvoidRouter, E as edgeHops, G as footprintNode, H as force, I as forceRelaxation, J as forestOf, K as labelCenter, M as layered, N as layeredPlan, O as marginOf, Q as outlinePolyline, S as placeLabels, T as portLabelBox, V as portOf, W as portSitesOf, X as portsOf, Y as portsOnOutline, Z as ranksByLength, _ as ranksOf, $ as rayHit, a0 as routeHolds, a1 as tree } from './layout.entry-CQoPNfzA.js';
3
3
  import '@weasel-js/core/math';
4
4
  import '@weasel-js/geom';
5
5
  import '@weasel-js/simulation';
@@ -1,4 +1,4 @@
1
- import { m as Bounds, b as PortSpec, g as Port, N as GroupInset, f as DiagramNode, M as MeasureRowText, X as RowBox, Z as RowPortBox, B as BodySpec, K as GraphNode, i as DiagramNodeReader, h as DiagramNodeLike, c as DiagramLabel, E as EdgeHop, l as LabelSpot, e as LayoutOptions, G as Graph, n as LayoutResult, d as LayoutFn, L as LayoutPorts, O as Outline } from './types-M_ccNAlk.js';
1
+ import { m as Bounds, b as PortSpec, g as Port, N as GroupInset, f as DiagramNode, M as MeasureRowText, X as RowBox, Z as RowPortBox, B as BodySpec, K as GraphNode, i as DiagramNodeReader, h as DiagramNodeLike, c as DiagramLabel, E as EdgeHop, l as LabelSpot, e as LayoutOptions, G as Graph, n as LayoutResult, d as LayoutFn, L as LayoutPorts, O as Outline } from './types-vbW21fHm.js';
2
2
  import { Vec2, PoseDescriptor, Path } from '@weasel-js/core/math';
3
3
  import { SimulationNode, createSimulation } from '@weasel-js/simulation';
4
4
 
@@ -55,15 +55,12 @@ declare function marginOf(bounds: Bounds, boxes: readonly Bounds[]): GroupInset
55
55
  * structurally rather than imported so a consumer whose scene is typed
56
56
  * differently can still spread one. */
57
57
  interface BodyNodeSpec<TData, TLayer extends string, TPose> {
58
- kind: 'container' | 'leaf';
58
+ kind: 'group' | 'mark';
59
59
  layer: TLayer;
60
60
  pose: TPose;
61
61
  data: TData;
62
62
  id?: string;
63
63
  parent?: string;
64
- /** Set on the container to {@link clipNothing}: a perimeter port label sits
65
- * outside the body, and a container clips its children to its outline. */
66
- clipFromPose?: () => null;
67
64
  /** Set `false` on every leaf the builder emits: the innermost hit wins, so a
68
65
  * row that answers a press is a body that cannot be dragged. */
69
66
  pickable?: boolean;
package/dist/layout.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import './chunk-WDIE35AK.js';
2
- export { AVOID_DEFAULTS, DEFAULT_HOP_SIZE, HOPS_DOC_KEY, createAvoidRouter, edgeHops, placeLabels } from './chunk-GA4BX7SH.js';
3
- export { COMPASS, DEFAULT_NODE_GAP, DEFAULT_PORTS, DEFAULT_RANK_GAP, PORT_LABEL_GAP, anchorOffset, axesFor, backEdges, bodyOutline, boxForContent, buildBody, canvasMeasure, chain, contentBox, extent, footprintNode, force, forceRelaxation, forestOf, graphOrder, labelCenter, layered, layeredPlan, layoutBody, layoutRowPorts, marginOf, measureBody, outlinePath, outlinePolyline, packAcross, pinnedSet, planOf, plannerPlan, portLabelBox, portOf, portSitesOf, portsOf, portsOnOutline, ranksByLength, ranksOf, rayHit, routeHolds, seededOrder, settle, sizeToBody, translated, tree, untilSettled } from './chunk-R2XB6D32.js';
2
+ export { AVOID_DEFAULTS, DEFAULT_HOP_SIZE, HOPS_DOC_KEY, createAvoidRouter, edgeHops, placeLabels } from './chunk-Y72FK3Y7.js';
3
+ export { COMPASS, DEFAULT_NODE_GAP, DEFAULT_PORTS, DEFAULT_RANK_GAP, PORT_LABEL_GAP, anchorOffset, axesFor, backEdges, bodyOutline, boxForContent, buildBody, canvasMeasure, chain, contentBox, extent, footprintNode, force, forceRelaxation, forestOf, graphOrder, labelCenter, layered, layeredPlan, layoutBody, layoutRowPorts, marginOf, measureBody, outlinePath, outlinePolyline, packAcross, pinnedSet, planOf, plannerPlan, portLabelBox, portOf, portSitesOf, portsOf, portsOnOutline, ranksByLength, ranksOf, rayHit, routeHolds, seededOrder, settle, sizeToBody, translated, tree, untilSettled } from './chunk-L4H444QI.js';
4
4
  //# sourceMappingURL=layout.js.map
5
5
  //# sourceMappingURL=layout.js.map
@@ -119,7 +119,7 @@ declare const DIAGRAM_TRAIT_KEY = "diagram";
119
119
  * reads a pose. */
120
120
  interface DiagramNodeLike {
121
121
  id: string;
122
- kind: 'leaf' | 'container';
122
+ kind: 'mark' | 'group';
123
123
  data: unknown;
124
124
  }
125
125
  /** Answers "is this node a diagram participant, and on what terms" — `null`
@@ -494,7 +494,7 @@ declare function packClusters(graph: Graph, rows: readonly (readonly GraphNode[]
494
494
  declare function expandGroupEdges(edges: readonly GraphEdge[], groups: readonly GraphGroup[]): GraphEdge[];
495
495
 
496
496
  /**
497
- * The container trait: what makes a core `ContainerNode` a diagram container,
497
+ * The container trait: what makes a core `GroupNode` a diagram container,
498
498
  * a pool, or one of a pool's lanes, and where its header is.
499
499
  *
500
500
  * A container's title is a text child in its header, named
@@ -605,7 +605,7 @@ interface DiagramNode {
605
605
  * itself is never laid out — it derives its pose from its members — but an
606
606
  * edge can attach to it like any participant. */
607
607
  group?: DiagramGroup;
608
- /** Present on a container, a pool, or a lane: a `ContainerNode` holding
608
+ /** Present on a container, a pool, or a lane: a `GroupNode` holding
609
609
  * members (`containers/trait.ts`). */
610
610
  container?: DiagramContainer;
611
611
  /** How far past its bounds something drawn with it reaches, on each side —
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weasel-js/diagram",
3
- "version": "1.12.0",
3
+ "version": "1.13.0",
4
4
  "description": "Node-link diagramming for weasel: any scene node becomes a diagram participant, with ports on its perimeter and an optional body builder for flowchart-shaped boxes.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -33,13 +33,13 @@
33
33
  },
34
34
  "peerDependencies": {
35
35
  "react": ">=18",
36
- "@weasel-js/animator": "1.12.0",
37
- "@weasel-js/audio": "1.12.0",
38
- "@weasel-js/core": "1.12.0",
39
- "@weasel-js/font": "1.12.0",
40
- "@weasel-js/geom": "1.12.0",
41
- "@weasel-js/react": "1.12.0",
42
- "@weasel-js/simulation": "1.12.0"
36
+ "@weasel-js/animator": "1.13.0",
37
+ "@weasel-js/audio": "1.13.0",
38
+ "@weasel-js/core": "1.13.0",
39
+ "@weasel-js/font": "1.13.0",
40
+ "@weasel-js/geom": "1.13.0",
41
+ "@weasel-js/react": "1.13.0",
42
+ "@weasel-js/simulation": "1.13.0"
43
43
  },
44
44
  "peerDependenciesMeta": {
45
45
  "@weasel-js/audio": {
@@ -50,7 +50,7 @@
50
50
  "table": "./dist/icons.table.json"
51
51
  },
52
52
  "dependencies": {
53
- "@weasel-js/icons": "1.12.0"
53
+ "@weasel-js/icons": "1.13.0"
54
54
  },
55
55
  "author": "orochi235",
56
56
  "homepage": "https://orochi235.github.io/weasel/",