@graphrefly/ts 0.0.2 → 0.0.3
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/README.md +197 -117
- package/dist/{actions-types-wl9Mgkmr.d.cts → actions-types-CH-XCU9O.d.cts} +4 -4
- package/dist/{actions-types-CSC3NMDl.d.ts → actions-types-w2iPQTkv.d.ts} +4 -4
- package/dist/adapters/index.cjs.map +1 -1
- package/dist/adapters/index.d.cts +10 -10
- package/dist/adapters/index.d.ts +10 -10
- package/dist/adapters/index.js +7 -7
- package/dist/adapters/nestjs/microservices.d.cts +3 -3
- package/dist/adapters/nestjs/microservices.d.ts +3 -3
- package/dist/adapters/nestjs/native.cjs.map +1 -1
- package/dist/adapters/nestjs/native.d.cts +4 -4
- package/dist/adapters/nestjs/native.d.ts +4 -4
- package/dist/adapters/nestjs/native.js +3 -3
- package/dist/adapters/nestjs/websockets.d.cts +3 -3
- package/dist/adapters/nestjs/websockets.d.ts +3 -3
- package/dist/adapters/nestjs.d.cts +3 -3
- package/dist/adapters/nestjs.d.ts +3 -3
- package/dist/adapters/observe-storage.d.cts +3 -3
- package/dist/adapters/observe-storage.d.ts +3 -3
- package/dist/adapters/react.d.cts +2 -2
- package/dist/adapters/react.d.ts +2 -2
- package/dist/adapters/solid.d.cts +2 -2
- package/dist/adapters/solid.d.ts +2 -2
- package/dist/adapters/svelte.d.cts +2 -2
- package/dist/adapters/svelte.d.ts +2 -2
- package/dist/adapters/vue.d.cts +2 -2
- package/dist/adapters/vue.d.ts +2 -2
- package/dist/{agent-runtime-types-core-hU299uIC.d.ts → agent-runtime-types-core-CKwrBDyi.d.ts} +1 -1
- package/dist/{agent-runtime-types-core-CaXfKNtY.d.cts → agent-runtime-types-core-bfl4m0vM.d.cts} +1 -1
- package/dist/{agent-runtime-types-tool-DninPEzk.d.cts → agent-runtime-types-tool-BLPV3azj.d.cts} +4 -4
- package/dist/{agent-runtime-types-tool-BEpSINol.d.ts → agent-runtime-types-tool-hwqvVqNt.d.ts} +4 -4
- package/dist/{agentic-memory-retention-BmGX368S.d.ts → agentic-memory-retention-CLwI76JK.d.ts} +2 -2
- package/dist/{agentic-memory-retention-Ih1qhX9Z.d.cts → agentic-memory-retention-Cz8GR6ie.d.cts} +2 -2
- package/dist/{agentic-memory-types-FnnYlVUs.d.cts → agentic-memory-types-JDr7MPhh.d.cts} +2 -2
- package/dist/{agentic-memory-types-CVSUS6XR.d.ts → agentic-memory-types-khYJgzKL.d.ts} +2 -2
- package/dist/{capability-admission-lwSecxXs.d.cts → capability-admission-B8RNFyaZ.d.cts} +3 -3
- package/dist/{capability-admission-BW2CziT6.d.ts → capability-admission-Dkw1Xz3r.d.ts} +3 -3
- package/dist/{chunk-SIDJO2T4.js → chunk-3J7UPZL5.js} +6 -6
- package/dist/{chunk-ECURQ3HD.js → chunk-3LYI6ADX.js} +4 -4
- package/dist/chunk-3LYI6ADX.js.map +1 -0
- package/dist/{chunk-M7J6Z4IJ.js → chunk-4M37FH2I.js} +2 -2
- package/dist/chunk-4M37FH2I.js.map +1 -0
- package/dist/{chunk-CJIFGJQG.js → chunk-54WPEODM.js} +2 -2
- package/dist/chunk-54WPEODM.js.map +1 -0
- package/dist/{chunk-CX6B6PO2.js → chunk-DKFWDTVY.js} +2 -2
- package/dist/chunk-DKFWDTVY.js.map +1 -0
- package/dist/{chunk-SHZDP2MQ.js → chunk-GXU6WFEJ.js} +1 -1
- package/dist/chunk-GXU6WFEJ.js.map +1 -0
- package/dist/{chunk-YDWBXXQZ.js → chunk-KFURM6FM.js} +3 -3
- package/dist/{chunk-STXRMPW4.js → chunk-MCOFHMUU.js} +2 -2
- package/dist/{chunk-EOKT4QFF.js → chunk-NNDIFUKX.js} +3 -3
- package/dist/chunk-NNDIFUKX.js.map +1 -0
- package/dist/{chunk-TPND5MJS.js → chunk-PUSRRALM.js} +3 -3
- package/dist/{chunk-7HZRJMN6.js → chunk-UEMN5URK.js} +2 -2
- package/dist/{chunk-2NJP6GO4.js → chunk-WOS7RJYZ.js} +2 -2
- package/dist/composition/index.cjs.map +1 -1
- package/dist/composition/index.d.cts +3 -3
- package/dist/composition/index.d.ts +3 -3
- package/dist/composition/index.js +3 -3
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +23 -2
- package/dist/core/index.d.ts +23 -2
- package/dist/core/index.js +1 -1
- package/dist/cqrs/index.d.cts +3 -3
- package/dist/cqrs/index.d.ts +3 -3
- package/dist/cqrs/messaging.d.cts +4 -4
- package/dist/cqrs/messaging.d.ts +4 -4
- package/dist/cqrs/work-queue.d.cts +5 -5
- package/dist/cqrs/work-queue.d.ts +5 -5
- package/dist/data-structures/index.cjs.map +1 -1
- package/dist/data-structures/index.d.cts +8 -8
- package/dist/data-structures/index.d.ts +8 -8
- package/dist/data-structures/index.js +4 -4
- package/dist/{describe-CQRrkv-Q.d.cts → describe-BumQ-3_0.d.cts} +1 -1
- package/dist/{describe-B_A5fbXH.d.ts → describe-cYr_Z5zm.d.ts} +1 -1
- package/dist/executors/tool-provider-adapters.d.cts +7 -7
- package/dist/executors/tool-provider-adapters.d.ts +7 -7
- package/dist/executors/tool-provider-adapters.js +5 -5
- package/dist/executors/tool-provider-runtime.cjs.map +1 -1
- package/dist/executors/tool-provider-runtime.d.cts +8 -8
- package/dist/executors/tool-provider-runtime.d.ts +8 -8
- package/dist/executors/tool-provider-runtime.js +2 -2
- package/dist/executors/tool-provider.cjs.map +1 -1
- package/dist/executors/tool-provider.d.cts +7 -7
- package/dist/executors/tool-provider.d.ts +7 -7
- package/dist/executors/tool-provider.js +2 -2
- package/dist/executors/work-queue.d.cts +6 -6
- package/dist/executors/work-queue.d.ts +6 -6
- package/dist/graph/index.cjs.map +1 -1
- package/dist/graph/index.d.cts +9 -9
- package/dist/graph/index.d.ts +9 -9
- package/dist/graph/index.js +7 -7
- package/dist/{graph-CWK3HLPB.d.cts → graph-C1C-wb0L.d.cts} +135 -8
- package/dist/{graph-ho5sotHP.d.ts → graph-CS0b4V9B.d.ts} +135 -8
- package/dist/{index-CQWcE0Dw.d.ts → index-DLrNopda.d.cts} +135 -8
- package/dist/{index-DHA1i67c.d.cts → index-DzJni3_6.d.ts} +135 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -12
- package/dist/index.d.ts +12 -12
- package/dist/index.js +13 -13
- package/dist/inspection/boundary.d.cts +4 -4
- package/dist/inspection/boundary.d.ts +4 -4
- package/dist/{measurements-OMpCeBwh.d.ts → measurements-BWAnochv.d.ts} +139 -9
- package/dist/{measurements-C0mAvWU1.d.cts → measurements-B_gJfD8h.d.cts} +139 -9
- package/dist/messaging/index.d.cts +5 -5
- package/dist/messaging/index.d.ts +5 -5
- package/dist/operators/index.cjs.map +1 -1
- package/dist/operators/index.d.cts +5 -5
- package/dist/operators/index.d.ts +5 -5
- package/dist/operators/index.js +4 -4
- package/dist/orchestration/index.cjs.map +1 -1
- package/dist/orchestration/index.d.cts +12 -12
- package/dist/orchestration/index.d.ts +12 -12
- package/dist/orchestration/index.js +5 -5
- package/dist/orchestration/messaging.d.cts +5 -5
- package/dist/orchestration/messaging.d.ts +5 -5
- package/dist/orchestration/work-queue.d.cts +8 -8
- package/dist/orchestration/work-queue.d.ts +8 -8
- package/dist/patterns/event-flow.d.cts +4 -4
- package/dist/patterns/event-flow.d.ts +4 -4
- package/dist/patterns/index.d.cts +6 -6
- package/dist/patterns/index.d.ts +6 -6
- package/dist/{process-types-h3uRlzDc.d.cts → process-types-BB7oRhX3.d.cts} +1 -1
- package/dist/{process-types-C9uMYz3i.d.ts → process-types-QNhyoYJ8.d.ts} +1 -1
- package/dist/{reactive-collection-B9R0Bl1P.d.cts → reactive-collection-BYlWvtnp.d.cts} +3 -3
- package/dist/{reactive-collection-BXFrH0U2.d.ts → reactive-collection-efOEdGFN.d.ts} +3 -3
- package/dist/{reactive-collection-storage-BLGv8Xp8.d.cts → reactive-collection-storage-BjoLsoiC.d.cts} +5 -5
- package/dist/{reactive-collection-storage-a4zD3665.d.ts → reactive-collection-storage-DwW6UuK_.d.ts} +5 -5
- package/dist/{reactive-map-jle5dnok.d.ts → reactive-map-BHacbIqz.d.cts} +7 -3
- package/dist/{reactive-map-C_8sOfdS.d.cts → reactive-map-DN4Jyqnf.d.ts} +7 -3
- package/dist/render/index.d.cts +2 -2
- package/dist/render/index.d.ts +2 -2
- package/dist/{scheduled-readiness-5rwQlyjV.d.ts → scheduled-readiness-BmqXxnzX.d.ts} +3 -3
- package/dist/{scheduled-readiness-DpRY8jI0.d.cts → scheduled-readiness-CYSw7KDE.d.cts} +3 -3
- package/dist/{semantic-memory-graph-DlZBD_Eu.d.cts → semantic-memory-graph-B_LwbM-E.d.cts} +2 -2
- package/dist/{semantic-memory-graph-C2ZUwIlq.d.ts → semantic-memory-graph-rsFNNhwn.d.ts} +2 -2
- package/dist/{semantic-memory-graph-types-BvzdqmkY.d.cts → semantic-memory-graph-types-Y73bbwVI.d.cts} +1 -1
- package/dist/{semantic-memory-graph-types-Ci-OtahO.d.ts → semantic-memory-graph-types-safmPkuX.d.ts} +1 -1
- package/dist/solutions/index.cjs.map +1 -1
- package/dist/solutions/index.d.cts +11 -11
- package/dist/solutions/index.d.ts +11 -11
- package/dist/solutions/index.js +2 -2
- package/dist/solutions/reactive-layout/browser/index.cjs.map +1 -1
- package/dist/solutions/reactive-layout/browser/index.d.cts +4 -4
- package/dist/solutions/reactive-layout/browser/index.d.ts +4 -4
- package/dist/solutions/reactive-layout/browser/index.js +2 -2
- package/dist/solutions/reactive-layout/index.cjs.map +1 -1
- package/dist/solutions/reactive-layout/index.d.cts +6 -6
- package/dist/solutions/reactive-layout/index.d.ts +6 -6
- package/dist/solutions/reactive-layout/index.js +2 -2
- package/dist/solutions/reactive-layout/node-canvas/index.cjs.map +1 -1
- package/dist/solutions/reactive-layout/node-canvas/index.d.cts +4 -4
- package/dist/solutions/reactive-layout/node-canvas/index.d.ts +4 -4
- package/dist/solutions/reactive-layout/node-canvas/index.js +2 -2
- package/dist/solutions/reactive-layout/react-native/index.cjs.map +1 -1
- package/dist/solutions/reactive-layout/react-native/index.d.cts +4 -4
- package/dist/solutions/reactive-layout/react-native/index.d.ts +4 -4
- package/dist/solutions/reactive-layout/react-native/index.js +2 -2
- package/dist/solutions/reactive-layout/skia/index.cjs.map +1 -1
- package/dist/solutions/reactive-layout/skia/index.d.cts +4 -4
- package/dist/solutions/reactive-layout/skia/index.d.ts +4 -4
- package/dist/solutions/reactive-layout/skia/index.js +2 -2
- package/dist/solutions/work-item/actions.d.cts +10 -10
- package/dist/solutions/work-item/actions.d.ts +10 -10
- package/dist/solutions/work-item/scheduling.d.cts +9 -9
- package/dist/solutions/work-item/scheduling.d.ts +9 -9
- package/dist/solutions/work-item/work-queue.d.cts +7 -7
- package/dist/solutions/work-item/work-queue.d.ts +7 -7
- package/dist/sources/browser.cjs.map +1 -1
- package/dist/sources/browser.d.cts +22 -6
- package/dist/sources/browser.d.ts +22 -6
- package/dist/sources/browser.js +3 -3
- package/dist/sources/browser.js.map +1 -1
- package/dist/sources/index.cjs.map +1 -1
- package/dist/sources/index.d.cts +4 -4
- package/dist/sources/index.d.ts +4 -4
- package/dist/sources/index.js +3 -3
- package/dist/sources/node.d.cts +3 -3
- package/dist/sources/node.d.ts +3 -3
- package/dist/storage/index.d.cts +5 -5
- package/dist/storage/index.d.ts +5 -5
- package/dist/{store-BmtEs9mG.d.ts → store-6_CHF6Ge.d.ts} +1 -1
- package/dist/{store-PAAsYvML.d.cts → store-BljX8RkQ.d.cts} +1 -1
- package/dist/{types-BhveCMg5.d.cts → types-BAw2QVVE.d.cts} +1 -1
- package/dist/{types-XDoqxYO9.d.cts → types-BUbbbh4f.d.cts} +1 -1
- package/dist/{types-BWK2ay3e.d.cts → types-CMnzoL54.d.cts} +2 -2
- package/dist/{types-BS6CyR-x.d.cts → types-CTN3XoMl.d.cts} +30 -0
- package/dist/{types-BXKSAoE1.d.cts → types-CV_ohy5T.d.cts} +2 -2
- package/dist/{types-C9NOgNJw.d.ts → types-DChxk1vK.d.ts} +30 -0
- package/dist/{types-CTsQ8Ww4.d.ts → types-DRu7SnLV.d.ts} +1 -1
- package/dist/{types-DL_05n2M.d.ts → types-DeID_FRl.d.ts} +1 -1
- package/dist/{types-BRNKoFHj.d.ts → types-IhKH0hGW.d.ts} +2 -2
- package/dist/{types-BaPpZItj.d.ts → types-ePlD2uyT.d.ts} +2 -2
- package/dist/{work-item-runtime-types-CHO03AKh.d.cts → work-item-runtime-types-BTxLskN5.d.cts} +2 -2
- package/dist/{work-item-runtime-types-BqtWnSCS.d.ts → work-item-runtime-types-DAsZbb2y.d.ts} +2 -2
- package/dist/work-queue/index.d.cts +6 -6
- package/dist/work-queue/index.d.ts +6 -6
- package/package.json +9 -1
- package/dist/chunk-CJIFGJQG.js.map +0 -1
- package/dist/chunk-CX6B6PO2.js.map +0 -1
- package/dist/chunk-ECURQ3HD.js.map +0 -1
- package/dist/chunk-EOKT4QFF.js.map +0 -1
- package/dist/chunk-M7J6Z4IJ.js.map +0 -1
- package/dist/chunk-SHZDP2MQ.js.map +0 -1
- /package/dist/{chunk-SIDJO2T4.js.map → chunk-3J7UPZL5.js.map} +0 -0
- /package/dist/{chunk-YDWBXXQZ.js.map → chunk-KFURM6FM.js.map} +0 -0
- /package/dist/{chunk-STXRMPW4.js.map → chunk-MCOFHMUU.js.map} +0 -0
- /package/dist/{chunk-TPND5MJS.js.map → chunk-PUSRRALM.js.map} +0 -0
- /package/dist/{chunk-7HZRJMN6.js.map → chunk-UEMN5URK.js.map} +0 -0
- /package/dist/{chunk-2NJP6GO4.js.map → chunk-WOS7RJYZ.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { z as MeasurementAdapter, ac as TextMeasureCapability, f as CellMeasureAdapterOptions, n as ImageMeasurer, o as ImageSizeLookup, a5 as Size, x as MeasureFn, r as InjectedMeasureAdapterOptions, N as PrecomputedMeasureAdapterOptions, a9 as SvgMeasurer, y as MeasuredBlock, P as PositionedBlock, j as ContentBlock, M as MeasureBlockOptions, U as ReactiveBlockLayoutOptions, T as ReactiveBlockLayoutBundle, W as ReactiveFlowLayoutOptions, V as ReactiveFlowLayoutBundle, Y as ReactiveLayoutOptions, X as ReactiveLayoutBundle, h as CircleObstacle, ag as Interval, R as PreparedSegment, i as ComputeFlowLinesOptions, l as FlowLinesResult, $ as RectObstacle, O as Obstacle, k as FlowContainer, F as FlowColumns, a4 as SegmentMeasureStats, a1 as SegmentAdapter, w as LineBreaksResult, af as CharPosition, L as LayoutCursor, u as LayoutNextLineContext, v as LayoutNextLineResult, c as BlockAdaptersProviderOptions, b as BlockAdapters, d as BlockMeasurementProviderOptions, H as Measurements, C as CapabilityTextMeasurementsOptions, g as CellTextMeasurementsOptions, q as ImageSizeMeasurementsOptions, s as InjectedTextMeasurementsOptions, J as MergeMeasurementsOptions, Q as PrecomputedTextMeasurementsOptions, Z as ReadinessMeasurementsOptions, _ as ReadinessTextMeasurementsOptions, a7 as SvgBoundsMeasurementsOptions, ad as TextMeasurementProviderOptions, D as MeasurementIssue, G as MeasurementResult } from './types-
|
|
1
|
+
import { z as MeasurementAdapter, ac as TextMeasureCapability, f as CellMeasureAdapterOptions, n as ImageMeasurer, o as ImageSizeLookup, a5 as Size, x as MeasureFn, r as InjectedMeasureAdapterOptions, N as PrecomputedMeasureAdapterOptions, a9 as SvgMeasurer, y as MeasuredBlock, P as PositionedBlock, j as ContentBlock, M as MeasureBlockOptions, U as ReactiveBlockLayoutOptions, T as ReactiveBlockLayoutBundle, W as ReactiveFlowLayoutOptions, V as ReactiveFlowLayoutBundle, Y as ReactiveLayoutOptions, X as ReactiveLayoutBundle, h as CircleObstacle, ag as Interval, R as PreparedSegment, i as ComputeFlowLinesOptions, l as FlowLinesResult, $ as RectObstacle, O as Obstacle, k as FlowContainer, F as FlowColumns, a4 as SegmentMeasureStats, a1 as SegmentAdapter, w as LineBreaksResult, af as CharPosition, L as LayoutCursor, u as LayoutNextLineContext, v as LayoutNextLineResult, c as BlockAdaptersProviderOptions, b as BlockAdapters, d as BlockMeasurementProviderOptions, H as Measurements, C as CapabilityTextMeasurementsOptions, g as CellTextMeasurementsOptions, q as ImageSizeMeasurementsOptions, s as InjectedTextMeasurementsOptions, J as MergeMeasurementsOptions, Q as PrecomputedTextMeasurementsOptions, Z as ReadinessMeasurementsOptions, _ as ReadinessTextMeasurementsOptions, a7 as SvgBoundsMeasurementsOptions, ad as TextMeasurementProviderOptions, D as MeasurementIssue, G as MeasurementResult } from './types-CMnzoL54.cjs';
|
|
2
2
|
import { DataIssue } from './data/index.cjs';
|
|
3
|
-
import { d as Graph } from './graph-
|
|
4
|
-
import { N as Node } from './types-
|
|
3
|
+
import { d as Graph } from './graph-C1C-wb0L.cjs';
|
|
4
|
+
import { N as Node } from './types-CTN3XoMl.cjs';
|
|
5
5
|
|
|
6
6
|
/** Adapter that wraps a caller-owned synchronous measurement function. */
|
|
7
7
|
declare class InjectedMeasureAdapter implements MeasurementAdapter {
|
|
@@ -70,14 +70,67 @@ declare function computeTotalHeight(blocks: readonly PositionedBlock[]): number;
|
|
|
70
70
|
/**
|
|
71
71
|
* Create a graph-visible single-column text layout bundle.
|
|
72
72
|
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
73
|
+
* @param opts - Requires a graph and a graph-visible `measurements` node, plus optional
|
|
74
|
+
* `lineHeight`, `maxWidth`, `targetId`, `segmentAdapter`, and bundle `name`.
|
|
75
|
+
* @returns A `ReactiveLayoutBundle` containing input nodes, setters, and graph-visible output
|
|
76
|
+
* nodes for segments, line breaks, height, and character positions.
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* import { graph } from "@graphrefly/ts";
|
|
80
|
+
* import {
|
|
81
|
+
* cellTextMeasurements,
|
|
82
|
+
* reactiveLayout,
|
|
83
|
+
* } from "@graphrefly/ts/solutions/reactive-layout";
|
|
84
|
+
*
|
|
85
|
+
* const g = graph({ name: "article" });
|
|
86
|
+
* const text = g.state("Hello GraphReFly", { name: "text" });
|
|
87
|
+
* const font = g.state("16px system-ui", { name: "font" });
|
|
88
|
+
* const measurements = cellTextMeasurements({ graph: g, text, font });
|
|
89
|
+
*
|
|
90
|
+
* const layout = reactiveLayout({ graph: g, measurements, maxWidth: 320, lineHeight: 20 });
|
|
91
|
+
* layout.setMaxWidth(280);
|
|
92
|
+
* ```
|
|
93
|
+
* @remarks **Graph-visible:** This creates ordinary state/output nodes only; it does not add
|
|
94
|
+
* protocol behavior, hidden subscriptions, GraphSpec ownership, storage, or platform globals.
|
|
95
|
+
* @category solutions
|
|
75
96
|
*/
|
|
76
97
|
declare function reactiveLayout(opts: ReactiveLayoutOptions): ReactiveLayoutBundle;
|
|
77
98
|
/**
|
|
78
99
|
* Create a graph-visible vertical block layout bundle over the same DOM-free core.
|
|
79
100
|
*
|
|
80
|
-
*
|
|
101
|
+
* @param opts - Requires a graph and a graph-visible block `measurements` node, plus optional
|
|
102
|
+
* `gap`, `targetId`, and bundle `name`.
|
|
103
|
+
* @returns A `ReactiveBlockLayoutBundle` containing the gap input, measured block output,
|
|
104
|
+
* positioned block flow, and total height node.
|
|
105
|
+
* @example
|
|
106
|
+
* ```ts
|
|
107
|
+
* import { graph } from "@graphrefly/ts";
|
|
108
|
+
* import {
|
|
109
|
+
* blockAdaptersProvider,
|
|
110
|
+
* blockMeasurementProvider,
|
|
111
|
+
* reactiveBlockLayout,
|
|
112
|
+
* type MeasurementAdapter,
|
|
113
|
+
* } from "@graphrefly/ts/solutions/reactive-layout";
|
|
114
|
+
*
|
|
115
|
+
* const g = graph({ name: "cards" });
|
|
116
|
+
* const blocks = g.state([{ id: "title", kind: "text", text: "Hello" }]);
|
|
117
|
+
* const maxWidth = g.state(320);
|
|
118
|
+
* const text = g.state<MeasurementAdapter>({
|
|
119
|
+
* measureSegment: (segment) => ({ width: segment.length * 8 }),
|
|
120
|
+
* });
|
|
121
|
+
* const measurements = blockMeasurementProvider({
|
|
122
|
+
* graph: g,
|
|
123
|
+
* blocks,
|
|
124
|
+
* maxWidth,
|
|
125
|
+
* adapters: blockAdaptersProvider({ graph: g, text }),
|
|
126
|
+
* });
|
|
127
|
+
*
|
|
128
|
+
* const layout = reactiveBlockLayout({ graph: g, measurements, gap: 12 });
|
|
129
|
+
* layout.setGap(16);
|
|
130
|
+
* ```
|
|
131
|
+
* @remarks **DOM-free:** Image/SVG sizing is explicit or injected; no async image loading or
|
|
132
|
+
* DOM SVG parsing occurs in the core layout bundle.
|
|
133
|
+
* @category solutions
|
|
81
134
|
*/
|
|
82
135
|
declare function reactiveBlockLayout(opts: ReactiveBlockLayoutOptions): ReactiveBlockLayoutBundle;
|
|
83
136
|
/** Create a graph-visible multi-column flow layout bundle with rectangle/circle obstacles. */
|
|
@@ -103,9 +156,57 @@ declare function blockedIntervalsForBand(obstacles: readonly Obstacle[], bandTop
|
|
|
103
156
|
/** Flow prepared text through columns and carved obstacle slots. */
|
|
104
157
|
declare function computeFlowLines(segments: readonly PreparedSegment[], opts: ComputeFlowLinesOptions): FlowLinesResult;
|
|
105
158
|
|
|
106
|
-
/**
|
|
159
|
+
/**
|
|
160
|
+
* Segment text and measure every resulting segment with a caller-owned synchronous adapter.
|
|
161
|
+
*
|
|
162
|
+
* @param text - Text to normalize, segment, and measure.
|
|
163
|
+
* @param font - Font descriptor passed through to the measurement adapter.
|
|
164
|
+
* @param adapter - Synchronous measurement adapter used for each segment or grapheme.
|
|
165
|
+
* @param cache - Caller-owned cache keyed by font and segment text.
|
|
166
|
+
* @param stats - Optional cache hit/miss accounting object updated during measurement.
|
|
167
|
+
* @param segmentAdapter - Optional segmentation adapter; defaults to the built-in adapter.
|
|
168
|
+
* @returns A prepared segment list with widths, break kinds, and optional grapheme widths for
|
|
169
|
+
* word-like segments.
|
|
170
|
+
* @example
|
|
171
|
+
* ```ts
|
|
172
|
+
* import { analyzeAndMeasure } from "@graphrefly/ts/solutions/reactive-layout";
|
|
173
|
+
*
|
|
174
|
+
* const segments = analyzeAndMeasure(
|
|
175
|
+
* "Hello world",
|
|
176
|
+
* "16px system-ui",
|
|
177
|
+
* { measureSegment: (segment) => ({ width: segment.length * 8 }) },
|
|
178
|
+
* new Map(),
|
|
179
|
+
* );
|
|
180
|
+
* ```
|
|
181
|
+
* @remarks **Caller-owned adapter:** Measurement stays synchronous and host-injected; browser
|
|
182
|
+
* Canvas, Skia, React Native, or test adapters live outside this helper.
|
|
183
|
+
* @category solutions
|
|
184
|
+
*/
|
|
107
185
|
declare function analyzeAndMeasure(text: string, font: string, adapter: MeasurementAdapter, cache: Map<string, Map<string, number>>, stats?: SegmentMeasureStats, segmentAdapter?: SegmentAdapter): PreparedSegment[];
|
|
108
|
-
/**
|
|
186
|
+
/**
|
|
187
|
+
* Compute greedy single-column line breaks over prepared segments.
|
|
188
|
+
*
|
|
189
|
+
* @param segments - Prepared segments from `analyzeAndMeasure` or a measurement provider.
|
|
190
|
+
* @param maxWidth - Maximum line width in pixels; non-finite or negative values produce no useful
|
|
191
|
+
* width budget.
|
|
192
|
+
* @param opts - Optional hyphen width and segment adapter for grapheme-aware slicing.
|
|
193
|
+
* @returns A `LineBreaksResult` containing ordered layout lines and the line count.
|
|
194
|
+
* @example
|
|
195
|
+
* ```ts
|
|
196
|
+
* import { analyzeAndMeasure, computeLineBreaks } from "@graphrefly/ts/solutions/reactive-layout";
|
|
197
|
+
*
|
|
198
|
+
* const segments = analyzeAndMeasure(
|
|
199
|
+
* "Hello world",
|
|
200
|
+
* "16px system-ui",
|
|
201
|
+
* { measureSegment: (segment) => ({ width: segment.length * 8 }) },
|
|
202
|
+
* new Map(),
|
|
203
|
+
* );
|
|
204
|
+
* const lineBreaks = computeLineBreaks(segments, 64);
|
|
205
|
+
* ```
|
|
206
|
+
* @remarks **Pure helper:** This does not subscribe, schedule, or emit messages; reactive bundles
|
|
207
|
+
* call it from ordinary graph nodes.
|
|
208
|
+
* @category solutions
|
|
209
|
+
*/
|
|
109
210
|
declare function computeLineBreaks(segments: readonly PreparedSegment[], maxWidth: number, opts?: {
|
|
110
211
|
readonly hyphenWidth?: number;
|
|
111
212
|
readonly segmentAdapter?: SegmentAdapter;
|
|
@@ -114,7 +215,36 @@ declare function computeLineBreaks(segments: readonly PreparedSegment[], maxWidt
|
|
|
114
215
|
declare function layoutNextLine(segments: readonly PreparedSegment[], cursor: LayoutCursor, slotWidth: number, ctx?: LayoutNextLineContext): LayoutNextLineResult | null;
|
|
115
216
|
/** Subtract obstacle intervals from a horizontal text band. */
|
|
116
217
|
declare function carveTextLineSlots(base: Interval, blocked: readonly Interval[], minSlotWidth?: number): Interval[];
|
|
117
|
-
/**
|
|
218
|
+
/**
|
|
219
|
+
* Compute per-grapheme boxes for already-broken lines.
|
|
220
|
+
*
|
|
221
|
+
* @param lineBreaks - Line break result whose cursors identify the visible grapheme ranges.
|
|
222
|
+
* @param segments - Prepared segments used to produce the line breaks.
|
|
223
|
+
* @param lineHeight - Height assigned to every line box.
|
|
224
|
+
* @param segmentAdapter - Optional segmentation adapter; defaults to the built-in adapter.
|
|
225
|
+
* @returns Character-position boxes in visual order, each with `x`, `y`, `width`, `height`, and
|
|
226
|
+
* zero-based line index.
|
|
227
|
+
* @example
|
|
228
|
+
* ```ts
|
|
229
|
+
* import {
|
|
230
|
+
* analyzeAndMeasure,
|
|
231
|
+
* computeCharPositions,
|
|
232
|
+
* computeLineBreaks,
|
|
233
|
+
* } from "@graphrefly/ts/solutions/reactive-layout";
|
|
234
|
+
*
|
|
235
|
+
* const segments = analyzeAndMeasure(
|
|
236
|
+
* "Hello world",
|
|
237
|
+
* "16px system-ui",
|
|
238
|
+
* { measureSegment: (segment) => ({ width: segment.length * 8 }) },
|
|
239
|
+
* new Map(),
|
|
240
|
+
* );
|
|
241
|
+
* const lineBreaks = computeLineBreaks(segments, 64);
|
|
242
|
+
* const positions = computeCharPositions(lineBreaks, segments, 20);
|
|
243
|
+
* ```
|
|
244
|
+
* @remarks **Already measured:** Widths come from the prepared segments; this helper only maps the
|
|
245
|
+
* line cursors into per-grapheme rectangles.
|
|
246
|
+
* @category solutions
|
|
247
|
+
*/
|
|
118
248
|
declare function computeCharPositions(lineBreaks: LineBreaksResult, segments: readonly PreparedSegment[], lineHeight: number, segmentAdapter?: SegmentAdapter): readonly CharPosition[];
|
|
119
249
|
|
|
120
250
|
declare function measurementIssue(code: string, message: string, targetId: string, measurementKind: string, opts?: {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { d as Graph } from '../graph-
|
|
2
|
-
import { N as Node } from '../types-
|
|
3
|
-
import { e as EventMessageOptions, E as EventMessage, d as MessageBus, f as MessageBusTopicPage, g as MessageBusOptions, T as ToTopicOptions, h as ToTopicBundle } from '../types-
|
|
4
|
-
export { C as CONTEXT_TOPIC, D as DEFERRED_TOPIC, I as INJECTIONS_TOPIC, J as JsonSchema, b as MessageBusAvailablePage, i as MessageBusAvailableParams, j as MessageBusCatalogEntry, k as MessageBusCatalogPage, l as MessageBusCatalogParams, a as MessageBusCommand, m as MessageBusCursor, n as MessageBusDeadLetterEntry, o as MessageBusDeadLetterPage, p as MessageBusDeadLetterParams, q as MessageBusDedupePolicy, M as MessageBusMessage, r as MessageBusPageParams, s as MessageBusPullProjection, t as MessageBusRetentionPolicy, u as MessageBusStatus, v as MessageBusSubscription, w as MessageBusTopicParams, x as MessageBusTopicPolicy, y as MessageBusTopicProjection, c as MessageEnvelope, P as PROMPTS_TOPIC, R as RESPONSES_TOPIC, S as SPAWNS_TOPIC, z as STANDARD_TOPICS, A as StandardTopic, B as TODOS_TOPIC, F as TopicMessage } from '../types-
|
|
1
|
+
import { d as Graph } from '../graph-C1C-wb0L.cjs';
|
|
2
|
+
import { N as Node } from '../types-CTN3XoMl.cjs';
|
|
3
|
+
import { e as EventMessageOptions, E as EventMessage, d as MessageBus, f as MessageBusTopicPage, g as MessageBusOptions, T as ToTopicOptions, h as ToTopicBundle } from '../types-BAw2QVVE.cjs';
|
|
4
|
+
export { C as CONTEXT_TOPIC, D as DEFERRED_TOPIC, I as INJECTIONS_TOPIC, J as JsonSchema, b as MessageBusAvailablePage, i as MessageBusAvailableParams, j as MessageBusCatalogEntry, k as MessageBusCatalogPage, l as MessageBusCatalogParams, a as MessageBusCommand, m as MessageBusCursor, n as MessageBusDeadLetterEntry, o as MessageBusDeadLetterPage, p as MessageBusDeadLetterParams, q as MessageBusDedupePolicy, M as MessageBusMessage, r as MessageBusPageParams, s as MessageBusPullProjection, t as MessageBusRetentionPolicy, u as MessageBusStatus, v as MessageBusSubscription, w as MessageBusTopicParams, x as MessageBusTopicPolicy, y as MessageBusTopicProjection, c as MessageEnvelope, P as PROMPTS_TOPIC, R as RESPONSES_TOPIC, S as SPAWNS_TOPIC, z as STANDARD_TOPICS, A as StandardTopic, B as TODOS_TOPIC, F as TopicMessage } from '../types-BAw2QVVE.cjs';
|
|
5
5
|
import { DataIssue } from '../data/index.cjs';
|
|
6
6
|
import '../core/index.cjs';
|
|
7
7
|
import '../messages-CAzUPPJM.cjs';
|
|
8
8
|
import '../codec-BB7p8fJc.cjs';
|
|
9
|
-
import '../describe-
|
|
9
|
+
import '../describe-BumQ-3_0.cjs';
|
|
10
10
|
|
|
11
11
|
declare function eventMessage<T>(type: string, payload: T, opts: EventMessageOptions): EventMessage<T>;
|
|
12
12
|
declare function isEventMessage(value: unknown): value is EventMessage;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { d as Graph } from '../graph-
|
|
2
|
-
import { N as Node } from '../types-
|
|
3
|
-
import { e as EventMessageOptions, E as EventMessage, d as MessageBus, f as MessageBusTopicPage, g as MessageBusOptions, T as ToTopicOptions, h as ToTopicBundle } from '../types-
|
|
4
|
-
export { C as CONTEXT_TOPIC, D as DEFERRED_TOPIC, I as INJECTIONS_TOPIC, J as JsonSchema, b as MessageBusAvailablePage, i as MessageBusAvailableParams, j as MessageBusCatalogEntry, k as MessageBusCatalogPage, l as MessageBusCatalogParams, a as MessageBusCommand, m as MessageBusCursor, n as MessageBusDeadLetterEntry, o as MessageBusDeadLetterPage, p as MessageBusDeadLetterParams, q as MessageBusDedupePolicy, M as MessageBusMessage, r as MessageBusPageParams, s as MessageBusPullProjection, t as MessageBusRetentionPolicy, u as MessageBusStatus, v as MessageBusSubscription, w as MessageBusTopicParams, x as MessageBusTopicPolicy, y as MessageBusTopicProjection, c as MessageEnvelope, P as PROMPTS_TOPIC, R as RESPONSES_TOPIC, S as SPAWNS_TOPIC, z as STANDARD_TOPICS, A as StandardTopic, B as TODOS_TOPIC, F as TopicMessage } from '../types-
|
|
1
|
+
import { d as Graph } from '../graph-CS0b4V9B.js';
|
|
2
|
+
import { N as Node } from '../types-DChxk1vK.js';
|
|
3
|
+
import { e as EventMessageOptions, E as EventMessage, d as MessageBus, f as MessageBusTopicPage, g as MessageBusOptions, T as ToTopicOptions, h as ToTopicBundle } from '../types-DRu7SnLV.js';
|
|
4
|
+
export { C as CONTEXT_TOPIC, D as DEFERRED_TOPIC, I as INJECTIONS_TOPIC, J as JsonSchema, b as MessageBusAvailablePage, i as MessageBusAvailableParams, j as MessageBusCatalogEntry, k as MessageBusCatalogPage, l as MessageBusCatalogParams, a as MessageBusCommand, m as MessageBusCursor, n as MessageBusDeadLetterEntry, o as MessageBusDeadLetterPage, p as MessageBusDeadLetterParams, q as MessageBusDedupePolicy, M as MessageBusMessage, r as MessageBusPageParams, s as MessageBusPullProjection, t as MessageBusRetentionPolicy, u as MessageBusStatus, v as MessageBusSubscription, w as MessageBusTopicParams, x as MessageBusTopicPolicy, y as MessageBusTopicProjection, c as MessageEnvelope, P as PROMPTS_TOPIC, R as RESPONSES_TOPIC, S as SPAWNS_TOPIC, z as STANDARD_TOPICS, A as StandardTopic, B as TODOS_TOPIC, F as TopicMessage } from '../types-DRu7SnLV.js';
|
|
5
5
|
import { DataIssue } from '../data/index.js';
|
|
6
6
|
import '../core/index.js';
|
|
7
7
|
import '../messages-CAzUPPJM.js';
|
|
8
8
|
import '../codec-BB7p8fJc.js';
|
|
9
|
-
import '../describe-
|
|
9
|
+
import '../describe-cYr_Z5zm.js';
|
|
10
10
|
|
|
11
11
|
declare function eventMessage<T>(type: string, payload: T, opts: EventMessageOptions): EventMessage<T>;
|
|
12
12
|
declare function isEventMessage(value: unknown): value is EventMessage;
|