@oh-just-another/renderer-core 0.57.0 → 0.58.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 +28 -0
- package/README.md +97 -21
- package/dist/.tsbuildinfo +1 -1
- package/dist/animation-adapter.d.ts +8 -15
- package/dist/animation-adapter.d.ts.map +1 -1
- package/dist/animation-adapter.js +8 -15
- package/dist/animation-adapter.js.map +1 -1
- package/dist/built-in-renderers.d.ts +1 -2
- package/dist/built-in-renderers.d.ts.map +1 -1
- package/dist/built-in-renderers.js +17 -37
- package/dist/built-in-renderers.js.map +1 -1
- package/dist/constants.d.ts +64 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +67 -0
- package/dist/constants.js.map +1 -1
- package/dist/edge-cache-bitmap.d.ts +3 -4
- package/dist/edge-cache-bitmap.d.ts.map +1 -1
- package/dist/edge-cache-bitmap.js +4 -14
- package/dist/edge-cache-bitmap.js.map +1 -1
- package/dist/edge-cache.d.ts.map +1 -1
- package/dist/edge-cache.js +6 -1
- package/dist/edge-cache.js.map +1 -1
- package/dist/edge-renderer.d.ts +1 -1
- package/dist/edge-renderer.d.ts.map +1 -1
- package/dist/edge-renderer.js +17 -18
- package/dist/edge-renderer.js.map +1 -1
- package/dist/grid-renderer.d.ts.map +1 -1
- package/dist/grid-renderer.js +7 -20
- package/dist/grid-renderer.js.map +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/js-rasterizer.d.ts.map +1 -1
- package/dist/js-rasterizer.js +1 -5
- package/dist/js-rasterizer.js.map +1 -1
- package/dist/layer-cache-composite.d.ts +4 -7
- package/dist/layer-cache-composite.d.ts.map +1 -1
- package/dist/layer-cache-composite.js +5 -19
- package/dist/layer-cache-composite.js.map +1 -1
- package/dist/lru-cache.d.ts +16 -0
- package/dist/lru-cache.d.ts.map +1 -0
- package/dist/lru-cache.js +48 -0
- package/dist/lru-cache.js.map +1 -0
- package/dist/rasterizer.d.ts.map +1 -1
- package/dist/rasterizer.js +3 -4
- package/dist/rasterizer.js.map +1 -1
- package/dist/scene-renderer.d.ts +5 -7
- package/dist/scene-renderer.d.ts.map +1 -1
- package/dist/scene-renderer.js +7 -8
- package/dist/scene-renderer.js.map +1 -1
- package/dist/shape-cache-bitmap.d.ts +0 -1
- package/dist/shape-cache-bitmap.d.ts.map +1 -1
- package/dist/shape-cache-bitmap.js +4 -16
- package/dist/shape-cache-bitmap.js.map +1 -1
- package/dist/text-editing.d.ts +2 -4
- package/dist/text-editing.d.ts.map +1 -1
- package/dist/text-editing.js +1 -5
- package/dist/text-editing.js.map +1 -1
- package/dist/text-layout.d.ts +1 -1
- package/dist/text-shaper.d.ts +6 -9
- package/dist/text-shaper.d.ts.map +1 -1
- package/dist/text-shaper.js +4 -7
- package/dist/text-shaper.js.map +1 -1
- package/dist/tile-renderer.d.ts +13 -20
- package/dist/tile-renderer.d.ts.map +1 -1
- package/dist/tile-renderer.js +6 -9
- package/dist/tile-renderer.js.map +1 -1
- package/dist/wasm-bytes.d.ts +27 -0
- package/dist/wasm-bytes.d.ts.map +1 -0
- package/dist/wasm-bytes.js +48 -0
- package/dist/wasm-bytes.js.map +1 -0
- package/dist/worker-render.d.ts +4 -11
- package/dist/worker-render.d.ts.map +1 -1
- package/dist/worker-render.js +3 -4
- package/dist/worker-render.js.map +1 -1
- package/package.json +4 -4
|
@@ -3,12 +3,8 @@ import { getCornerRadius, registerRenderOverflow, FRAME_HEADER_HEIGHT, FRAME_HEA
|
|
|
3
3
|
import { registerElementRenderer } from "./shape-renderer.js";
|
|
4
4
|
import { layoutText } from "./text-editing.js";
|
|
5
5
|
import { resolveImageSource } from "./animation-adapter.js";
|
|
6
|
-
import { TEXT_DECORATION_THICKNESS, TEXT_UNDERLINE_OFFSET, TEXT_STRIKETHROUGH_OFFSET, } from "./constants.js";
|
|
7
|
-
|
|
8
|
-
if (v === undefined)
|
|
9
|
-
throw new Error("packages/renderer-core: index out of range");
|
|
10
|
-
return v;
|
|
11
|
-
};
|
|
6
|
+
import { TEXT_DECORATION_THICKNESS, TEXT_UNDERLINE_OFFSET, TEXT_STRIKETHROUGH_OFFSET, ARROWHEAD_HEAD_RATIO, ARROWHEAD_BODY_THICKNESS, ARROWHEAD_RATIO_MIN, ARROWHEAD_RATIO_MAX, FRAME_STROKE_COLOR, FRAME_FILL_COLOR, FRAME_HEADER_BG_COLOR, FRAME_HEADER_TEXT_COLOR, } from "./constants.js";
|
|
7
|
+
import { req } from "@oh-just-another/types";
|
|
12
8
|
/**
|
|
13
9
|
* Applies common style fields to a target. Returns whether any fill or stroke
|
|
14
10
|
* was configured — shape renderers use the result to decide which paint call
|
|
@@ -106,8 +102,7 @@ const strokeAlignOffset = (style) => {
|
|
|
106
102
|
*
|
|
107
103
|
* Quadratic control points sit at each corner of the rect; the
|
|
108
104
|
* curve goes from `r` units along one side to `r` units along the
|
|
109
|
-
* adjacent side.
|
|
110
|
-
* into enough chord segments to stay sub-pixel smooth at any zoom.
|
|
105
|
+
* adjacent side.
|
|
111
106
|
*
|
|
112
107
|
* Radius `r` is pre-clamped by `getCornerRadius` to half the
|
|
113
108
|
* smaller side, so no overlap-handling is needed here.
|
|
@@ -241,8 +236,7 @@ const drawText = (shape, target) => {
|
|
|
241
236
|
}
|
|
242
237
|
else {
|
|
243
238
|
// Measure with the target's own `measureText` so wrapping matches
|
|
244
|
-
// exactly what this backend draws
|
|
245
|
-
// selection-box bounder + caret use the same source).
|
|
239
|
+
// exactly what this backend draws.
|
|
246
240
|
const measure = (s) => target.measureText(s).width;
|
|
247
241
|
const layout = layoutText(shape.text, measure, {
|
|
248
242
|
fontSize,
|
|
@@ -327,15 +321,11 @@ const drawBrush = (shape, target) => {
|
|
|
327
321
|
}
|
|
328
322
|
};
|
|
329
323
|
const drawImage = (shape, target) => {
|
|
330
|
-
// Priority:
|
|
331
|
-
//
|
|
332
|
-
//
|
|
333
|
-
//
|
|
334
|
-
//
|
|
335
|
-
// first-frame `<img>`). `resolveImageSource` consults the adapter
|
|
336
|
-
// with `performance.now()`; it returns `null` while the async
|
|
337
|
-
// decode is still in flight — the backend's drawImage guard skips
|
|
338
|
-
// a null handle and the next AnimationTick frame picks it up.
|
|
324
|
+
// Priority: for an animated source prefer the per-frame image the
|
|
325
|
+
// registered adapter returns; otherwise a preloaded handle in
|
|
326
|
+
// `metadata.image`; otherwise the static `src` fallback.
|
|
327
|
+
// `resolveImageSource` returns `null` while an async decode is still
|
|
328
|
+
// in flight, which the backend's drawImage guard skips.
|
|
339
329
|
const handle = shape.animationKind
|
|
340
330
|
? resolveImageSource(shape)
|
|
341
331
|
: (shape.metadata?.image ?? resolveImageSource(shape));
|
|
@@ -346,8 +336,7 @@ const drawImage = (shape, target) => {
|
|
|
346
336
|
target.drawImage(handle, 0, 0, shape.width, shape.height, dynamic);
|
|
347
337
|
};
|
|
348
338
|
/**
|
|
349
|
-
* Registers renderers for every `BuiltinElement` type.
|
|
350
|
-
* import of `@oh-just-another/renderer-canvas/setup` (see index).
|
|
339
|
+
* Registers renderers for every `BuiltinElement` type.
|
|
351
340
|
*/
|
|
352
341
|
export const installBuiltinRenderers = () => {
|
|
353
342
|
registerElementRenderer("rectangle", drawRectangle);
|
|
@@ -356,8 +345,7 @@ export const installBuiltinRenderers = () => {
|
|
|
356
345
|
registerElementRenderer("path", drawPath);
|
|
357
346
|
registerElementRenderer("text", drawText);
|
|
358
347
|
registerElementRenderer("image", drawImage);
|
|
359
|
-
// Group shapes are invisible containers — the
|
|
360
|
-
// a halo for selected groups, but the shape itself paints nothing.
|
|
348
|
+
// Group shapes are invisible containers — the shape itself paints nothing.
|
|
361
349
|
registerElementRenderer("group", () => {
|
|
362
350
|
/* intentional no-op: group shapes are invisible containers and paint nothing */
|
|
363
351
|
});
|
|
@@ -386,8 +374,8 @@ export const installBuiltinRenderers = () => {
|
|
|
386
374
|
const drawBlockArrow = (shape, target) => {
|
|
387
375
|
const { fill, stroke } = applyStyle(shape.style, target);
|
|
388
376
|
const direction = shape.direction ?? "right";
|
|
389
|
-
const headRatio = Math.max(
|
|
390
|
-
const bodyT = Math.max(
|
|
377
|
+
const headRatio = Math.max(ARROWHEAD_RATIO_MIN, Math.min(ARROWHEAD_RATIO_MAX, shape.headRatio ?? ARROWHEAD_HEAD_RATIO));
|
|
378
|
+
const bodyT = Math.max(ARROWHEAD_RATIO_MIN, Math.min(ARROWHEAD_RATIO_MAX, shape.bodyThickness ?? ARROWHEAD_BODY_THICKNESS));
|
|
391
379
|
const w = shape.width;
|
|
392
380
|
const h = shape.height;
|
|
393
381
|
// Compute the local path for a `right`-pointing arrow inside
|
|
@@ -436,14 +424,6 @@ const rotateLocal = ([x, y], direction, w, h) => {
|
|
|
436
424
|
return [(h - y) * (w / h), x * (h / w)];
|
|
437
425
|
}
|
|
438
426
|
};
|
|
439
|
-
/**
|
|
440
|
-
* Frame: dashed outline + header strip with the frame's name.
|
|
441
|
-
* Hit-testing intentionally passes through the body (handled
|
|
442
|
-
* editor-side) so clicks on children inside the frame still land on
|
|
443
|
-
* the child, not the frame chrome.
|
|
444
|
-
*/
|
|
445
|
-
const FRAME_STROKE = "#888";
|
|
446
|
-
const FRAME_FILL = "#ffffff";
|
|
447
427
|
const FRAME_HEADER_ELLIPSIS = "…";
|
|
448
428
|
/**
|
|
449
429
|
* Trim `text` with a trailing ellipsis until it fits `maxWidth` (in the
|
|
@@ -472,7 +452,7 @@ const drawFrame = (shape, target, ctx) => {
|
|
|
472
452
|
// Body — solid fill + thin solid outline. Frames sit at the bottom
|
|
473
453
|
// z-order, so the fill backs their members without covering them.
|
|
474
454
|
// Honours an explicit `style.fill`, else default white.
|
|
475
|
-
target.setFill(shape.style.fill ??
|
|
455
|
+
target.setFill(shape.style.fill ?? FRAME_FILL_COLOR);
|
|
476
456
|
target.setStroke(null);
|
|
477
457
|
target.setDashArray(null);
|
|
478
458
|
target.beginPath();
|
|
@@ -484,7 +464,7 @@ const drawFrame = (shape, target, ctx) => {
|
|
|
484
464
|
// 1 world-px when no zoom context is supplied (preview / export at 1:1).
|
|
485
465
|
const screenScale = (ctx?.zoom ?? 1) * (shape.scale.x || 1);
|
|
486
466
|
target.setFill(null);
|
|
487
|
-
target.setStroke(
|
|
467
|
+
target.setStroke(FRAME_STROKE_COLOR);
|
|
488
468
|
target.setStrokeWidth(1 / (screenScale || 1));
|
|
489
469
|
target.setDashArray(null);
|
|
490
470
|
target.beginPath();
|
|
@@ -504,12 +484,12 @@ const drawFrame = (shape, target, ctx) => {
|
|
|
504
484
|
? Math.min(target.measureText(name).width + FRAME_HEADER_PADDING_X * 2, shape.width)
|
|
505
485
|
: shape.width;
|
|
506
486
|
// Header label background — stretches to fit the (possibly truncated) text.
|
|
507
|
-
target.setFill(
|
|
487
|
+
target.setFill(FRAME_HEADER_BG_COLOR);
|
|
508
488
|
target.beginPath();
|
|
509
489
|
target.rect(0, -FRAME_HEADER_HEIGHT, headerWidth, FRAME_HEADER_HEIGHT);
|
|
510
490
|
target.fill();
|
|
511
491
|
// Header label text.
|
|
512
|
-
target.setFill(
|
|
492
|
+
target.setFill(FRAME_HEADER_TEXT_COLOR);
|
|
513
493
|
target.setTextBaseline("middle");
|
|
514
494
|
target.setTextAlign("left");
|
|
515
495
|
target.fillText(label, FRAME_HEADER_PADDING_X, -FRAME_HEADER_HEIGHT / 2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"built-in-renderers.js","sourceRoot":"","sources":["../src/built-in-renderers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"built-in-renderers.js","sourceRoot":"","sources":["../src/built-in-renderers.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -94,4 +94,68 @@ export declare const GRID_LINE_FADE_FULL_PX = 56;
|
|
|
94
94
|
*/
|
|
95
95
|
export declare const GRID_DOT_FADE_FROM_PX = 10;
|
|
96
96
|
export declare const GRID_DOT_FADE_FULL_PX = 20;
|
|
97
|
+
/**
|
|
98
|
+
* Fraction of the shape's length given to the arrow head when
|
|
99
|
+
* `BlockArrowElement.headRatio` is omitted. 0.4 = head spans the last 40 %,
|
|
100
|
+
* body the first 60 %. Clamped to `ARROWHEAD_RATIO_MIN`..`ARROWHEAD_RATIO_MAX`.
|
|
101
|
+
*/
|
|
102
|
+
export declare const ARROWHEAD_HEAD_RATIO = 0.4;
|
|
103
|
+
/**
|
|
104
|
+
* Fraction of the shape's cross-axis filled by the body when
|
|
105
|
+
* `BlockArrowElement.bodyThickness` is omitted. 0.5 = body half as thick as
|
|
106
|
+
* the box. Clamped to `ARROWHEAD_RATIO_MIN`..`ARROWHEAD_RATIO_MAX`.
|
|
107
|
+
*/
|
|
108
|
+
export declare const ARROWHEAD_BODY_THICKNESS = 0.5;
|
|
109
|
+
/**
|
|
110
|
+
* Lower clamp for the block-arrow head/body ratios so a degenerate input can't
|
|
111
|
+
* collapse the head or body to nothing. Range: 0–`ARROWHEAD_RATIO_MAX`.
|
|
112
|
+
*/
|
|
113
|
+
export declare const ARROWHEAD_RATIO_MIN = 0.1;
|
|
114
|
+
/**
|
|
115
|
+
* Upper clamp for the block-arrow head/body ratios so the head/body can't eat
|
|
116
|
+
* the whole box. Range: `ARROWHEAD_RATIO_MIN`–1.
|
|
117
|
+
*/
|
|
118
|
+
export declare const ARROWHEAD_RATIO_MAX = 0.9;
|
|
119
|
+
/** Outline colour of a frame when no explicit style overrides it. Neutral gray. */
|
|
120
|
+
export declare const FRAME_STROKE_COLOR = "#888";
|
|
121
|
+
/** Default body fill of a frame when `style.fill` is omitted. White. */
|
|
122
|
+
export declare const FRAME_FILL_COLOR = "#ffffff";
|
|
123
|
+
/** Background fill of the frame's header strip. Near-black. */
|
|
124
|
+
export declare const FRAME_HEADER_BG_COLOR = "#222";
|
|
125
|
+
/** Text colour of the frame's header label. Light gray for contrast on the dark strip. */
|
|
126
|
+
export declare const FRAME_HEADER_TEXT_COLOR = "#ddd";
|
|
127
|
+
/**
|
|
128
|
+
* Length (world px) of a block-arrow edge's head triangle when
|
|
129
|
+
* `Link.blockArrow.headLength` is omitted. The body terminates this far before
|
|
130
|
+
* the endpoint so the head fills the gap. Range: ~8–40.
|
|
131
|
+
*/
|
|
132
|
+
export declare const BLOCK_ARROW_HEAD_LENGTH = 18;
|
|
133
|
+
/**
|
|
134
|
+
* Body thickness (world px) of a block-arrow edge when
|
|
135
|
+
* `Link.blockArrow.bodyThickness` is omitted. Offset half this on each side of
|
|
136
|
+
* the routed path. Range: ~4–32.
|
|
137
|
+
*/
|
|
138
|
+
export declare const BLOCK_ARROW_BODY_THICKNESS = 12;
|
|
139
|
+
/** Fallback fill for a block-arrow edge when neither `style.fill` nor `style.stroke` is set. Mid gray. */
|
|
140
|
+
export declare const BLOCK_ARROW_FILL_COLOR = "#444";
|
|
141
|
+
/** Fallback stroke for a block-arrow edge when `style.stroke` is omitted. Near-black. */
|
|
142
|
+
export declare const BLOCK_ARROW_STROKE_COLOR = "#222";
|
|
143
|
+
/**
|
|
144
|
+
* Arrowhead size (world px) when `LinkArrowheads.size` is omitted. Drives the
|
|
145
|
+
* wing/length scale of every arrowhead style. Range: ~6–24.
|
|
146
|
+
*/
|
|
147
|
+
export declare const ARROWHEAD_SIZE = 10;
|
|
148
|
+
/** Fallback stroke colour for an edge / its arrowheads when `style.stroke` is omitted. Black. */
|
|
149
|
+
export declare const EDGE_STROKE_COLOR = "#000";
|
|
150
|
+
/**
|
|
151
|
+
* Position along the edge (0 = start, 1 = end) where a link label sits when
|
|
152
|
+
* `LinkLabel.position` is omitted. 0.5 = midpoint.
|
|
153
|
+
*/
|
|
154
|
+
export declare const LABEL_POSITION = 0.5;
|
|
155
|
+
/** Font size (world px) of a link label when `LinkLabel.fontSize` is omitted. */
|
|
156
|
+
export declare const LABEL_FONT_SIZE = 12;
|
|
157
|
+
/** Fallback text colour of a link label when `LinkLabel.fill` is omitted. Near-black. */
|
|
158
|
+
export declare const LABEL_FILL_COLOR = "#222";
|
|
159
|
+
/** Fallback pill-background colour of a link label when `LinkLabel.background` is omitted. White. */
|
|
160
|
+
export declare const LABEL_BG_COLOR = "#fff";
|
|
97
161
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,EAAE,UAGzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AASrC,yEAAyE;AACzE,eAAO,MAAM,eAAe,QAAa,CAAC;AAE1C,iHAAiH;AACjH,eAAO,MAAM,aAAa,QAAiB,CAAC;AAE5C,mIAAmI;AACnI,eAAO,MAAM,kBAAkB,IAAM,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAY5C,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,qBAAqB,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,EAAE,UAGzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AASrC,yEAAyE;AACzE,eAAO,MAAM,eAAe,QAAa,CAAC;AAE1C,iHAAiH;AACjH,eAAO,MAAM,aAAa,QAAiB,CAAC;AAE5C,mIAAmI;AACnI,eAAO,MAAM,kBAAkB,IAAM,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAY5C,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAIxC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAIvC,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,SAAS,CAAC;AAEzC,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C,+DAA+D;AAC/D,eAAO,MAAM,qBAAqB,SAAS,CAAC;AAE5C,0FAA0F;AAC1F,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAI9C;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,0GAA0G;AAC1G,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAE7C,yFAAyF;AACzF,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,iGAAiG;AACjG,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,iFAAiF;AACjF,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAEvC,qGAAqG;AACrG,eAAO,MAAM,cAAc,SAAS,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -112,4 +112,71 @@ export const GRID_LINE_FADE_FULL_PX = 56;
|
|
|
112
112
|
*/
|
|
113
113
|
export const GRID_DOT_FADE_FROM_PX = 10;
|
|
114
114
|
export const GRID_DOT_FADE_FULL_PX = 20;
|
|
115
|
+
// --- Block-arrow shape (BlockArrowElement) ----------------------------------
|
|
116
|
+
/**
|
|
117
|
+
* Fraction of the shape's length given to the arrow head when
|
|
118
|
+
* `BlockArrowElement.headRatio` is omitted. 0.4 = head spans the last 40 %,
|
|
119
|
+
* body the first 60 %. Clamped to `ARROWHEAD_RATIO_MIN`..`ARROWHEAD_RATIO_MAX`.
|
|
120
|
+
*/
|
|
121
|
+
export const ARROWHEAD_HEAD_RATIO = 0.4;
|
|
122
|
+
/**
|
|
123
|
+
* Fraction of the shape's cross-axis filled by the body when
|
|
124
|
+
* `BlockArrowElement.bodyThickness` is omitted. 0.5 = body half as thick as
|
|
125
|
+
* the box. Clamped to `ARROWHEAD_RATIO_MIN`..`ARROWHEAD_RATIO_MAX`.
|
|
126
|
+
*/
|
|
127
|
+
export const ARROWHEAD_BODY_THICKNESS = 0.5;
|
|
128
|
+
/**
|
|
129
|
+
* Lower clamp for the block-arrow head/body ratios so a degenerate input can't
|
|
130
|
+
* collapse the head or body to nothing. Range: 0–`ARROWHEAD_RATIO_MAX`.
|
|
131
|
+
*/
|
|
132
|
+
export const ARROWHEAD_RATIO_MIN = 0.1;
|
|
133
|
+
/**
|
|
134
|
+
* Upper clamp for the block-arrow head/body ratios so the head/body can't eat
|
|
135
|
+
* the whole box. Range: `ARROWHEAD_RATIO_MIN`–1.
|
|
136
|
+
*/
|
|
137
|
+
export const ARROWHEAD_RATIO_MAX = 0.9;
|
|
138
|
+
// --- Frame chrome colours ---------------------------------------------------
|
|
139
|
+
/** Outline colour of a frame when no explicit style overrides it. Neutral gray. */
|
|
140
|
+
export const FRAME_STROKE_COLOR = "#888";
|
|
141
|
+
/** Default body fill of a frame when `style.fill` is omitted. White. */
|
|
142
|
+
export const FRAME_FILL_COLOR = "#ffffff";
|
|
143
|
+
/** Background fill of the frame's header strip. Near-black. */
|
|
144
|
+
export const FRAME_HEADER_BG_COLOR = "#222";
|
|
145
|
+
/** Text colour of the frame's header label. Light gray for contrast on the dark strip. */
|
|
146
|
+
export const FRAME_HEADER_TEXT_COLOR = "#ddd";
|
|
147
|
+
// --- Edge / link rendering defaults -----------------------------------------
|
|
148
|
+
/**
|
|
149
|
+
* Length (world px) of a block-arrow edge's head triangle when
|
|
150
|
+
* `Link.blockArrow.headLength` is omitted. The body terminates this far before
|
|
151
|
+
* the endpoint so the head fills the gap. Range: ~8–40.
|
|
152
|
+
*/
|
|
153
|
+
export const BLOCK_ARROW_HEAD_LENGTH = 18;
|
|
154
|
+
/**
|
|
155
|
+
* Body thickness (world px) of a block-arrow edge when
|
|
156
|
+
* `Link.blockArrow.bodyThickness` is omitted. Offset half this on each side of
|
|
157
|
+
* the routed path. Range: ~4–32.
|
|
158
|
+
*/
|
|
159
|
+
export const BLOCK_ARROW_BODY_THICKNESS = 12;
|
|
160
|
+
/** Fallback fill for a block-arrow edge when neither `style.fill` nor `style.stroke` is set. Mid gray. */
|
|
161
|
+
export const BLOCK_ARROW_FILL_COLOR = "#444";
|
|
162
|
+
/** Fallback stroke for a block-arrow edge when `style.stroke` is omitted. Near-black. */
|
|
163
|
+
export const BLOCK_ARROW_STROKE_COLOR = "#222";
|
|
164
|
+
/**
|
|
165
|
+
* Arrowhead size (world px) when `LinkArrowheads.size` is omitted. Drives the
|
|
166
|
+
* wing/length scale of every arrowhead style. Range: ~6–24.
|
|
167
|
+
*/
|
|
168
|
+
export const ARROWHEAD_SIZE = 10;
|
|
169
|
+
/** Fallback stroke colour for an edge / its arrowheads when `style.stroke` is omitted. Black. */
|
|
170
|
+
export const EDGE_STROKE_COLOR = "#000";
|
|
171
|
+
/**
|
|
172
|
+
* Position along the edge (0 = start, 1 = end) where a link label sits when
|
|
173
|
+
* `LinkLabel.position` is omitted. 0.5 = midpoint.
|
|
174
|
+
*/
|
|
175
|
+
export const LABEL_POSITION = 0.5;
|
|
176
|
+
/** Font size (world px) of a link label when `LinkLabel.fontSize` is omitted. */
|
|
177
|
+
export const LABEL_FONT_SIZE = 12;
|
|
178
|
+
/** Fallback text colour of a link label when `LinkLabel.fill` is omitted. Near-black. */
|
|
179
|
+
export const LABEL_FILL_COLOR = "#222";
|
|
180
|
+
/** Fallback pill-background colour of a link label when `LinkLabel.background` is omitted. White. */
|
|
181
|
+
export const LABEL_BG_COLOR = "#fff";
|
|
115
182
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGrE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,WAAW,EAAE,IAAI;IACjB,QAAQ,EAAE,GAAG;CACd,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAC9C,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAC1C,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC,+EAA+E;AAC/E,EAAE;AACF,uEAAuE;AACvE,mEAAmE;AACnE,sEAAsE;AACtE,8BAA8B;AAE9B,yEAAyE;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAE1C,iHAAiH;AACjH,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC;AAE5C,mIAAmI;AACnI,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAE5C,+EAA+E;AAC/E,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,yEAAyE;AACzE,wEAAwE;AACxE,oEAAoE;AACpE,wEAAwE;AACxE,+DAA+D;AAE/D,mEAAmE;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Link } from "@oh-just-another/scene";
|
|
2
2
|
/**
|
|
3
|
-
* Per-edge rasterised bitmap cache
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Per-edge rasterised bitmap cache, keyed on `Link` identity. Long-path
|
|
4
|
+
* edges (orthogonal routes around obstacles, beziers with many
|
|
5
|
+
* waypoints) cost real CPU per frame;
|
|
6
6
|
* caching the rasterised stroke as an `ImageBitmap` lets pan / camera
|
|
7
7
|
* moves draw with one `drawImage` call instead of a fresh
|
|
8
8
|
* `path → stroke` pass.
|
|
@@ -23,7 +23,6 @@ export interface LinkBitmapCache<V = unknown> {
|
|
|
23
23
|
}
|
|
24
24
|
export declare class InMemoryLinkBitmapCache<V> implements LinkBitmapCache<V> {
|
|
25
25
|
private readonly entries;
|
|
26
|
-
private readonly cap;
|
|
27
26
|
constructor(cap?: number);
|
|
28
27
|
get size(): number;
|
|
29
28
|
get(edge: Link, zoomBucket: number): V | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-cache-bitmap.d.ts","sourceRoot":"","sources":["../src/edge-cache-bitmap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"edge-cache-bitmap.d.ts","sourceRoot":"","sources":["../src/edge-cache-bitmap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAGnD;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IACnD,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AASD,qBAAa,uBAAuB,CAAC,CAAC,CAAE,YAAW,eAAe,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;gBAEzC,GAAG,SAAM;IAIrB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAWlD,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAInD,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAI5C,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { LruCache } from "./lru-cache.js";
|
|
1
2
|
const keyFor = (edge, zoomBucket) => `${edge.id}@${zoomBucket}`;
|
|
2
3
|
export class InMemoryLinkBitmapCache {
|
|
3
|
-
entries
|
|
4
|
-
cap;
|
|
4
|
+
entries;
|
|
5
5
|
constructor(cap = 256) {
|
|
6
|
-
this.
|
|
6
|
+
this.entries = new LruCache(cap);
|
|
7
7
|
}
|
|
8
8
|
get size() {
|
|
9
9
|
return this.entries.size;
|
|
@@ -17,20 +17,10 @@ export class InMemoryLinkBitmapCache {
|
|
|
17
17
|
this.entries.delete(key);
|
|
18
18
|
return undefined;
|
|
19
19
|
}
|
|
20
|
-
this.entries.delete(key);
|
|
21
|
-
this.entries.set(key, e);
|
|
22
20
|
return e.value;
|
|
23
21
|
}
|
|
24
22
|
set(edge, zoomBucket, value) {
|
|
25
|
-
|
|
26
|
-
if (this.entries.has(key))
|
|
27
|
-
this.entries.delete(key);
|
|
28
|
-
this.entries.set(key, { edgeRef: edge, value });
|
|
29
|
-
if (this.entries.size > this.cap) {
|
|
30
|
-
const oldest = this.entries.keys().next().value;
|
|
31
|
-
if (oldest !== undefined)
|
|
32
|
-
this.entries.delete(oldest);
|
|
33
|
-
}
|
|
23
|
+
this.entries.set(keyFor(edge, zoomBucket), { edgeRef: edge, value });
|
|
34
24
|
}
|
|
35
25
|
delete(edge, zoomBucket) {
|
|
36
26
|
this.entries.delete(keyFor(edge, zoomBucket));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-cache-bitmap.js","sourceRoot":"","sources":["../src/edge-cache-bitmap.ts"],"names":[],"mappings":"AA+
|
|
1
|
+
{"version":3,"file":"edge-cache-bitmap.js","sourceRoot":"","sources":["../src/edge-cache-bitmap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA+B1C,MAAM,MAAM,GAAG,CAAC,IAAU,EAAE,UAAkB,EAAU,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC;AAEtF,MAAM,OAAO,uBAAuB;IACjB,OAAO,CAA6B;IAErD,YAAY,GAAG,GAAG,GAAG;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,IAAU,EAAE,UAAkB;QAChC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QACzB,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,IAAU,EAAE,UAAkB,EAAE,KAAQ;QAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,IAAU,EAAE,UAAkB;QACnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF"}
|
package/dist/edge-cache.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-cache.d.ts","sourceRoot":"","sources":["../src/edge-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAsB,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEnF;;;;;;GAMG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;IAEJ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;IAUxD,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI;IAKlE,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IAMrD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI5B,KAAK,IAAI,IAAI;IAIb,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMzB,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,KAAK,EAAE,MAAM,IAAI,KAAG,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"edge-cache.d.ts","sourceRoot":"","sources":["../src/edge-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAsB,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEnF;;;;;;GAMG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;IAEJ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;IAUxD,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI;IAKlE,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI;IAMrD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI5B,KAAK,IAAI,IAAI;IAIb,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMzB,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,KAAK,EAAE,MAAM,IAAI,KAAG,MAAM,GAAG,IAgC1E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,eAAuC,CAAC"}
|
package/dist/edge-cache.js
CHANGED
|
@@ -79,7 +79,12 @@ export const computeLinkWorldBounds = (scene, edge) => {
|
|
|
79
79
|
const hasHead = (heads?.from !== undefined && heads.from !== "none") ||
|
|
80
80
|
(heads?.to !== undefined && heads.to !== "none");
|
|
81
81
|
const pad = Math.max(2, (edge.style.strokeWidth ?? 1) / 2 + (hasHead ? (heads.size ?? 10) : 0));
|
|
82
|
-
return {
|
|
82
|
+
return {
|
|
83
|
+
x: minX - pad,
|
|
84
|
+
y: minY - pad,
|
|
85
|
+
width: maxX - minX + pad * 2,
|
|
86
|
+
height: maxY - minY + pad * 2,
|
|
87
|
+
};
|
|
83
88
|
};
|
|
84
89
|
/**
|
|
85
90
|
* Shared module-level cache. Survives across `renderLinks` calls — the
|
package/dist/edge-cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-cache.js","sourceRoot":"","sources":["../src/edge-cache.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"edge-cache.js","sourceRoot":"","sources":["../src/edge-cache.ts"],"names":[],"mappings":"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"}
|
package/dist/edge-renderer.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Link, type Scene } from "@oh-just-another/scene";
|
|
2
|
-
import type
|
|
2
|
+
import { type Bounds, type Vec2 } from "@oh-just-another/types";
|
|
3
3
|
import type { RenderTarget } from "./render-target.js";
|
|
4
4
|
import { type LinkBoundsCache } from "./edge-cache.js";
|
|
5
5
|
import type { LinkBitmapCache } from "./edge-cache-bitmap.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-renderer.d.ts","sourceRoot":"","sources":["../src/edge-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,IAAI,EAGT,KAAK,KAAK,EACX,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"edge-renderer.d.ts","sourceRoot":"","sources":["../src/edge-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,IAAI,EAGT,KAAK,KAAK,EACX,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAO,KAAK,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgB9D,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAClD;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,CACvB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,KACf,OAAO,CAAC;IACb;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GACtB,OAAO,KAAK,EACZ,QAAQ,YAAY,EACpB,UAAS,kBAAuB,KAC/B,IAmDF,CAAC;AAsNF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,YAAY,EACpB,KAAK,SAAS,IAAI,EAAE,EACpB,QAAQ,MAAM,KACb,IAqCF,CAAC"}
|
package/dist/edge-renderer.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import { flattenSegments, getLinkCurveSegments, getLinkPath, getLinksInLayer, getLayersInOrder, getWorldToScreen, } from "@oh-just-another/scene";
|
|
2
2
|
import { bounds as B } from "@oh-just-another/math";
|
|
3
|
+
import { req } from "@oh-just-another/types";
|
|
3
4
|
import { sharedLinkBoundsCache } from "./edge-cache.js";
|
|
4
5
|
import { zoomBucket as bucketFor } from "./shape-cache-bitmap.js";
|
|
5
|
-
import { LINK_CORNER_RADIUS } from "./constants.js";
|
|
6
|
-
const req = (v) => {
|
|
7
|
-
if (v === undefined)
|
|
8
|
-
throw new Error("packages/renderer-core: index out of range");
|
|
9
|
-
return v;
|
|
10
|
-
};
|
|
6
|
+
import { LINK_CORNER_RADIUS, BLOCK_ARROW_HEAD_LENGTH, BLOCK_ARROW_BODY_THICKNESS, BLOCK_ARROW_FILL_COLOR, BLOCK_ARROW_STROKE_COLOR, ARROWHEAD_SIZE, EDGE_STROKE_COLOR, LABEL_POSITION, LABEL_FONT_SIZE, LABEL_FILL_COLOR, LABEL_BG_COLOR, } from "./constants.js";
|
|
11
7
|
/**
|
|
12
8
|
* Draws every edge in the scene, in layer-then-z order. Resolves endpoints
|
|
13
9
|
* through `getLinkPath` (which honours anchor refs and explicit waypoints)
|
|
@@ -111,7 +107,7 @@ const drawLink = (scene, edge, target, options) => {
|
|
|
111
107
|
target.stroke();
|
|
112
108
|
if (edge.arrowheads) {
|
|
113
109
|
const headPath = curve ? flattenSegments(curve.start, curve.segments) : path;
|
|
114
|
-
drawArrowheads(headPath, edge.arrowheads, target, edge.style.stroke ??
|
|
110
|
+
drawArrowheads(headPath, edge.arrowheads, target, edge.style.stroke ?? EDGE_STROKE_COLOR);
|
|
115
111
|
}
|
|
116
112
|
}
|
|
117
113
|
if (edge.label) {
|
|
@@ -130,10 +126,10 @@ const drawLink = (scene, edge, target, options) => {
|
|
|
130
126
|
* segment endpoint regardless of curve direction.
|
|
131
127
|
*/
|
|
132
128
|
const drawBlockArrowLink = (edge, path, target) => {
|
|
133
|
-
const headLength = edge.blockArrow?.headLength ??
|
|
134
|
-
const thickness = edge.blockArrow?.bodyThickness ??
|
|
135
|
-
const fill = edge.style.fill ?? edge.style.stroke ??
|
|
136
|
-
const stroke = edge.style.stroke ??
|
|
129
|
+
const headLength = edge.blockArrow?.headLength ?? BLOCK_ARROW_HEAD_LENGTH;
|
|
130
|
+
const thickness = edge.blockArrow?.bodyThickness ?? BLOCK_ARROW_BODY_THICKNESS;
|
|
131
|
+
const fill = edge.style.fill ?? edge.style.stroke ?? BLOCK_ARROW_FILL_COLOR;
|
|
132
|
+
const stroke = edge.style.stroke ?? BLOCK_ARROW_STROKE_COLOR;
|
|
137
133
|
const strokeWidth = edge.style.strokeWidth ?? 1;
|
|
138
134
|
if (edge.style.opacity !== undefined)
|
|
139
135
|
target.setOpacity(edge.style.opacity);
|
|
@@ -317,7 +313,7 @@ export const strokeRoundedPolyline = (target, raw, radius) => {
|
|
|
317
313
|
target.lineTo(ptsLast.x, ptsLast.y);
|
|
318
314
|
};
|
|
319
315
|
const applyStrokeStyle = (edge, target) => {
|
|
320
|
-
const stroke = edge.style.stroke ??
|
|
316
|
+
const stroke = edge.style.stroke ?? EDGE_STROKE_COLOR;
|
|
321
317
|
target.setStroke(stroke);
|
|
322
318
|
target.setFill(null);
|
|
323
319
|
target.setStrokeWidth(edge.style.strokeWidth ?? 1);
|
|
@@ -330,7 +326,7 @@ const applyStrokeStyle = (edge, target) => {
|
|
|
330
326
|
target.setDashArray(edge.style.dashArray ?? null);
|
|
331
327
|
};
|
|
332
328
|
const drawArrowheads = (path, heads, target, color) => {
|
|
333
|
-
const size = heads.size ??
|
|
329
|
+
const size = heads.size ?? ARROWHEAD_SIZE;
|
|
334
330
|
if (heads.from && heads.from !== "none") {
|
|
335
331
|
const tip = path[0];
|
|
336
332
|
const next = path[1];
|
|
@@ -463,7 +459,10 @@ const drawArrowhead = (tip, fromPoint, style, size, target, color) => {
|
|
|
463
459
|
const wantsMany = style === "erdMany" || style === "erdOneOrMany" || style === "erdZeroOrMany";
|
|
464
460
|
const wantsZero = style === "erdZeroOrOne" || style === "erdZeroOrMany";
|
|
465
461
|
const twoBars = style === "erdOnlyOne";
|
|
466
|
-
const oneBar = style === "erdOne" ||
|
|
462
|
+
const oneBar = style === "erdOne" ||
|
|
463
|
+
style === "erdOnlyOne" ||
|
|
464
|
+
style === "erdOneOrMany" ||
|
|
465
|
+
style === "erdZeroOrOne";
|
|
467
466
|
// Crow's foot: three lines from a base point back to the tip's spread.
|
|
468
467
|
if (wantsMany) {
|
|
469
468
|
const base = along(size);
|
|
@@ -502,10 +501,10 @@ const drawArrowhead = (tip, fromPoint, style, size, target, color) => {
|
|
|
502
501
|
// Tuple helper so `target.lineTo(...xy(p))` reads cleanly.
|
|
503
502
|
const xy = (p) => [p.x, p.y];
|
|
504
503
|
const drawLabel = (path, label, target) => {
|
|
505
|
-
const t = label.position ??
|
|
506
|
-
const fontSize = label.fontSize ??
|
|
507
|
-
const fill = label.fill ??
|
|
508
|
-
const bg = label.background ??
|
|
504
|
+
const t = label.position ?? LABEL_POSITION;
|
|
505
|
+
const fontSize = label.fontSize ?? LABEL_FONT_SIZE;
|
|
506
|
+
const fill = label.fill ?? LABEL_FILL_COLOR;
|
|
507
|
+
const bg = label.background ?? LABEL_BG_COLOR;
|
|
509
508
|
const point = pointAlongPath(path, t);
|
|
510
509
|
const halfWidth = label.text.length * fontSize * 0.3 + 4; // rough estimate
|
|
511
510
|
const halfHeight = fontSize * 0.7;
|