@commentray/core 0.3.1 → 0.3.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.
Files changed (33) hide show
  1. package/dist/block-scroll-pickers.d.ts +17 -42
  2. package/dist/block-scroll-pickers.d.ts.map +1 -1
  3. package/dist/block-scroll-pickers.js +44 -42
  4. package/dist/block-scroll-pickers.js.map +1 -1
  5. package/dist/buffering-flow-synchronizer-approval-printer.d.ts +8 -2
  6. package/dist/buffering-flow-synchronizer-approval-printer.d.ts.map +1 -1
  7. package/dist/buffering-flow-synchronizer-approval-printer.js +8 -2
  8. package/dist/buffering-flow-synchronizer-approval-printer.js.map +1 -1
  9. package/dist/buffering-flow-synchronizer.d.ts +20 -13
  10. package/dist/buffering-flow-synchronizer.d.ts.map +1 -1
  11. package/dist/buffering-flow-synchronizer.js +16 -14
  12. package/dist/buffering-flow-synchronizer.js.map +1 -1
  13. package/dist/commentray-active-editor-ui-context.d.ts +19 -0
  14. package/dist/commentray-active-editor-ui-context.d.ts.map +1 -0
  15. package/dist/commentray-active-editor-ui-context.js +28 -0
  16. package/dist/commentray-active-editor-ui-context.js.map +1 -0
  17. package/dist/index.d.ts +4 -2
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +2 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/region-marker-naming.d.ts +8 -25
  22. package/dist/region-marker-naming.d.ts.map +1 -1
  23. package/dist/region-marker-naming.js +5 -17
  24. package/dist/region-marker-naming.js.map +1 -1
  25. package/dist/scroll-sync.d.ts +14 -5
  26. package/dist/scroll-sync.d.ts.map +1 -1
  27. package/dist/scroll-sync.js +134 -10
  28. package/dist/scroll-sync.js.map +1 -1
  29. package/dist/source-markers.d.ts +1 -6
  30. package/dist/source-markers.d.ts.map +1 -1
  31. package/dist/source-markers.js +4 -18
  32. package/dist/source-markers.js.map +1 -1
  33. package/package.json +1 -1
@@ -6,34 +6,19 @@ export type BlockScrollLink = {
6
6
  /** 1-based inclusive inner lines between paired region markers (unchanged semantics). */
7
7
  sourceStart: number;
8
8
  sourceEnd: number;
9
- /**
10
- * 1-based half-open viewport span for “which block owns this source line?”. Marker-backed
11
- * blocks use `markerViewportHalfOpen1Based()` in source-markers; `lines:` anchors use
12
- * `[range.start, range.end + 1)`.
13
- */
9
+ /** 1-based half-open span; see block-scroll-pickers commentray. */
14
10
  markerViewportHalfOpen1Based: {
15
11
  lo: number;
16
12
  hiExclusive: number;
17
13
  };
18
14
  };
19
- /**
20
- * Which index block “owns” the source viewport top line (1-based), without hysteresis.
21
- * Same geometry as {@link pickCommentrayLineForSourceScroll}.
22
- */
23
- /**
24
- * The index block whose source viewport span **strictly contains** `topSourceLine1Based`
25
- * (`[lo, hiExclusive)`). When spans overlap, the earliest block by `lo` wins. Returns `null` in
26
- * true inter-block **gaps** (including above the first `lo` only when that line is still below
27
- * `lo` — callers combine with {@link sourceTopLineStrictlyBeforeFirstIndexLine} for “prelude”).
28
- */
15
+ /** Strict `[lo, hi)` contain; `null` in gaps. See commentray for geometry. */
29
16
  export declare function blockStrictlyContainingSourceViewportLine(blocks: BlockScrollLink[], topSourceLine1Based: number): BlockScrollLink | null;
30
- /** True when the viewport top sits **strictly above** every block’s `[lo, hiExclusive)` span. */
17
+ /** Prelude above every span; see commentray. */
31
18
  export declare function sourceTopLineStrictlyBeforeFirstIndexLine(blocks: BlockScrollLink[], topSourceLine1Based: number): boolean;
32
- /**
33
- * True when the doc viewport probe sits strictly **between** two block marker lines in companion
34
- * order (interstitial prose / blanks), not on a marker line and not before the first marker.
35
- */
19
+ /** True when probe sits strictly between two `commentray:block` lines (interstitial prose). */
36
20
  export declare function commentrayProbeInStrictInterMarkerGap(blocks: BlockScrollLink[], topCommentrayLine0Based: number): boolean;
21
+ /** Naive source viewport pick (inside span / gap / prelude); see commentray. */
37
22
  export declare function pickBlockScrollLinkForSourceViewportTop(blocks: BlockScrollLink[], topSourceLine1Based: number): BlockScrollLink | null;
38
23
  /** Mutable lock for {@link pickBlockScrollLinkForSourceViewportWithHysteresis} / commentray twin. */
39
24
  export type BlockScrollStickyState = {
@@ -43,33 +28,23 @@ export type BlockScrollStickyState = {
43
28
  export declare const DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES = 2;
44
29
  /** Default: require this many **commentray markdown** lines into the naive winner before leaving the lock. */
45
30
  export declare const DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES = 4;
46
- /**
47
- * Schmitt-style block pick for **source→commentray** sync: keeps the active block until the
48
- * viewport top has moved clearly into another block’s territory, so probe noise at span edges
49
- * does not flip the partner between unrelated regions.
50
- */
31
+ /** Source→commentray hysteresis; see commentray. */
51
32
  export declare function pickBlockScrollLinkForSourceViewportWithHysteresis(blocks: BlockScrollLink[], topSourceLine1Based: number, state: BlockScrollStickyState, hysteresisSourceLines?: number): BlockScrollLink | null;
52
- /**
53
- * Choose which commentray line (0-based) to reveal so the commentary matches
54
- * the top of the source viewport. Uses each link’s `markerViewportHalfOpen1Based`:
55
- * if the top line falls in `[lo, hiExclusive)`, that block wins; in gaps, the block with the
56
- * greatest `lo` still at or above the top line; if the viewport is above every `lo`, the first
57
- * block by `lo`.
58
- */
33
+ /** Maps source viewport top → commentray line (naive pick); see commentray. */
59
34
  export declare function pickCommentrayLineForSourceScroll(blocks: BlockScrollLink[], topSourceLine1Based: number): number | null;
60
35
  /**
61
- * Schmitt twin for **commentray→source**: same idea in markdown line (0-based) space.
36
+ * Source viewport → companion markdown line for **dual-pane** hosts (VS Code, rendered preview):
37
+ * when the source probe sits **strictly inside** a block’s indexed viewport span, map linearly from
38
+ * `sourceStart`…`sourceEnd` onto markdown lines **after** that block’s `<!-- commentray:block` line
39
+ * up to (but not including) the next block marker (or end of file). Otherwise (prelude, gaps, after
40
+ * the last span) call `gapFallback()` — typically a proportional mirror, matching
41
+ * `docs/spec/dual-pane-scroll-sync.md` source-gap behaviour.
62
42
  */
43
+ export declare function pickCommentrayLineForSourceDualPane(blocks: BlockScrollLink[], topSourceLine1Based: number, commentrayMdLineCount: number, gapFallback: () => number): number;
44
+ /** Commentray→source hysteresis twin; see commentray. */
63
45
  export declare function pickBlockScrollLinkForCommentrayViewportWithHysteresis(blocks: BlockScrollLink[], topCommentrayLine0Based: number, state: BlockScrollStickyState, hysteresisMdLines?: number): BlockScrollLink | null;
64
- /**
65
- * The block whose companion marker is at or above `topCommentrayLine0Based`
66
- * (same rule as {@link pickSourceLine0ForCommentrayScroll}).
67
- */
46
+ /** Naive pick: last block whose marker line ≤ viewport top (0-based MD lines). */
68
47
  export declare function pickBlockScrollLinkForCommentrayScroll(blocks: BlockScrollLink[], topCommentrayLine0Based: number): BlockScrollLink | null;
69
- /**
70
- * Choose a 0-based source line to reveal from the top of the commentray
71
- * viewport: the block whose marker is at or above that line wins; reveal the
72
- * first line of its viewport span (`lo` − 1).
73
- */
48
+ /** Commentray viewport top → 0-based source line (`lo - 1` of winning block). */
74
49
  export declare function pickSourceLine0ForCommentrayScroll(blocks: BlockScrollLink[], topCommentrayLine0Based: number): number | null;
75
50
  //# sourceMappingURL=block-scroll-pickers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"block-scroll-pickers.d.ts","sourceRoot":"","sources":["../src/block-scroll-pickers.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,MAAM,MAAM,eAAe,GAAG;IAC5B,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,4BAA4B,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACnE,CAAC;AAEF;;;GAGG;AACH;;;;;GAKG;AACH,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,GAC1B,eAAe,GAAG,IAAI,CAUxB;AAED,iGAAiG;AACjG,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAOT;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,eAAe,EAAE,EACzB,uBAAuB,EAAE,MAAM,GAC9B,OAAO,CAqBT;AAED,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,GAC1B,eAAe,GAAG,IAAI,CAyBxB;AAED,qGAAqG;AACrG,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,yGAAyG;AACzG,eAAO,MAAM,wCAAwC,IAAI,CAAC;AAE1D,8GAA8G;AAC9G,eAAO,MAAM,4CAA4C,IAAI,CAAC;AAoC9D;;;;GAIG;AACH,wBAAgB,kDAAkD,CAChE,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,EAC3B,KAAK,EAAE,sBAAsB,EAC7B,qBAAqB,GAAE,MAAiD,GACvE,eAAe,GAAG,IAAI,CA6BxB;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,GAC1B,MAAM,GAAG,IAAI,CAGf;AAED;;GAEG;AACH,wBAAgB,sDAAsD,CACpE,MAAM,EAAE,eAAe,EAAE,EACzB,uBAAuB,EAAE,MAAM,EAC/B,KAAK,EAAE,sBAAsB,EAC7B,iBAAiB,GAAE,MAAqD,GACvE,eAAe,GAAG,IAAI,CA2BxB;AAED;;;GAGG;AACH,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,eAAe,EAAE,EACzB,uBAAuB,EAAE,MAAM,GAC9B,eAAe,GAAG,IAAI,CAUxB;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,eAAe,EAAE,EACzB,uBAAuB,EAAE,MAAM,GAC9B,MAAM,GAAG,IAAI,CAGf"}
1
+ {"version":3,"file":"block-scroll-pickers.d.ts","sourceRoot":"","sources":["../src/block-scroll-pickers.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,MAAM,MAAM,eAAe,GAAG;IAC5B,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,4BAA4B,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACnE,CAAC;AAEF,8EAA8E;AAC9E,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,GAC1B,eAAe,GAAG,IAAI,CAUxB;AAED,gDAAgD;AAChD,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAOT;AAED,+FAA+F;AAC/F,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,eAAe,EAAE,EACzB,uBAAuB,EAAE,MAAM,GAC9B,OAAO,CAqBT;AAED,gFAAgF;AAChF,wBAAgB,uCAAuC,CACrD,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,GAC1B,eAAe,GAAG,IAAI,CAyBxB;AAED,qGAAqG;AACrG,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,yGAAyG;AACzG,eAAO,MAAM,wCAAwC,IAAI,CAAC;AAE1D,8GAA8G;AAC9G,eAAO,MAAM,4CAA4C,IAAI,CAAC;AAgC9D,oDAAoD;AACpD,wBAAgB,kDAAkD,CAChE,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,EAC3B,KAAK,EAAE,sBAAsB,EAC7B,qBAAqB,GAAE,MAAiD,GACvE,eAAe,GAAG,IAAI,CA6BxB;AAED,+EAA+E;AAC/E,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,GAC1B,MAAM,GAAG,IAAI,CAGf;AAED;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,eAAe,EAAE,EACzB,mBAAmB,EAAE,MAAM,EAC3B,qBAAqB,EAAE,MAAM,EAC7B,WAAW,EAAE,MAAM,MAAM,GACxB,MAAM,CAcR;AA0BD,yDAAyD;AACzD,wBAAgB,sDAAsD,CACpE,MAAM,EAAE,eAAe,EAAE,EACzB,uBAAuB,EAAE,MAAM,EAC/B,KAAK,EAAE,sBAAsB,EAC7B,iBAAiB,GAAE,MAAqD,GACvE,eAAe,GAAG,IAAI,CA2BxB;AAED,kFAAkF;AAClF,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,eAAe,EAAE,EACzB,uBAAuB,EAAE,MAAM,GAC9B,eAAe,GAAG,IAAI,CAUxB;AAED,iFAAiF;AACjF,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,eAAe,EAAE,EACzB,uBAAuB,EAAE,MAAM,GAC9B,MAAM,GAAG,IAAI,CAGf"}
@@ -1,13 +1,4 @@
1
- /**
2
- * Which index block “owns” the source viewport top line (1-based), without hysteresis.
3
- * Same geometry as {@link pickCommentrayLineForSourceScroll}.
4
- */
5
- /**
6
- * The index block whose source viewport span **strictly contains** `topSourceLine1Based`
7
- * (`[lo, hiExclusive)`). When spans overlap, the earliest block by `lo` wins. Returns `null` in
8
- * true inter-block **gaps** (including above the first `lo` only when that line is still below
9
- * `lo` — callers combine with {@link sourceTopLineStrictlyBeforeFirstIndexLine} for “prelude”).
10
- */
1
+ /** Strict `[lo, hi)` contain; `null` in gaps. See commentray for geometry. */
11
2
  export function blockStrictlyContainingSourceViewportLine(blocks, topSourceLine1Based) {
12
3
  if (blocks.length === 0)
13
4
  return null;
@@ -19,7 +10,7 @@ export function blockStrictlyContainingSourceViewportLine(blocks, topSourceLine1
19
10
  }
20
11
  return null;
21
12
  }
22
- /** True when the viewport top sits **strictly above** every block’s `[lo, hiExclusive)` span. */
13
+ /** Prelude above every span; see commentray. */
23
14
  export function sourceTopLineStrictlyBeforeFirstIndexLine(blocks, topSourceLine1Based) {
24
15
  if (blocks.length === 0)
25
16
  return false;
@@ -29,10 +20,7 @@ export function sourceTopLineStrictlyBeforeFirstIndexLine(blocks, topSourceLine1
29
20
  }
30
21
  return topSourceLine1Based < minLo;
31
22
  }
32
- /**
33
- * True when the doc viewport probe sits strictly **between** two block marker lines in companion
34
- * order (interstitial prose / blanks), not on a marker line and not before the first marker.
35
- */
23
+ /** True when probe sits strictly between two `commentray:block` lines (interstitial prose). */
36
24
  export function commentrayProbeInStrictInterMarkerGap(blocks, topCommentrayLine0Based) {
37
25
  if (blocks.length === 0)
38
26
  return false;
@@ -57,6 +45,7 @@ export function commentrayProbeInStrictInterMarkerGap(blocks, topCommentrayLine0
57
45
  }
58
46
  return false;
59
47
  }
48
+ /** Naive source viewport pick (inside span / gap / prelude); see commentray. */
60
49
  export function pickBlockScrollLinkForSourceViewportTop(blocks, topSourceLine1Based) {
61
50
  if (blocks.length === 0)
62
51
  return null;
@@ -86,11 +75,7 @@ export function pickBlockScrollLinkForSourceViewportTop(blocks, topSourceLine1Ba
86
75
  export const DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES = 2;
87
76
  /** Default: require this many **commentray markdown** lines into the naive winner before leaving the lock. */
88
77
  export const DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES = 4;
89
- /**
90
- * Shared prelude for Schmitt-style hysteresis after the caller’s naive pick: clear lock when there
91
- * is no naive block; bootstrap or refresh `lockedId` on first hit / same block / stale lock;
92
- * otherwise hand off naive + locked for span- or line-based separation math.
93
- */
78
+ /** Hysteresis lock resolution; diagram in commentray. */
94
79
  function resolveStickyHysteresisLock(naive, blocks, state) {
95
80
  if (!naive) {
96
81
  state.lockedId = null;
@@ -110,11 +95,7 @@ function resolveStickyHysteresisLock(naive, blocks, state) {
110
95
  }
111
96
  return { outcome: "hysteresis", naive, locked };
112
97
  }
113
- /**
114
- * Schmitt-style block pick for **source→commentray** sync: keeps the active block until the
115
- * viewport top has moved clearly into another block’s territory, so probe noise at span edges
116
- * does not flip the partner between unrelated regions.
117
- */
98
+ /** Source→commentray hysteresis; see commentray. */
118
99
  export function pickBlockScrollLinkForSourceViewportWithHysteresis(blocks, topSourceLine1Based, state, hysteresisSourceLines = DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES) {
119
100
  const HYST = Math.max(1, Math.floor(hysteresisSourceLines));
120
101
  const naive = pickBlockScrollLinkForSourceViewportTop(blocks, topSourceLine1Based);
@@ -147,20 +128,48 @@ export function pickBlockScrollLinkForSourceViewportWithHysteresis(blocks, topSo
147
128
  }
148
129
  return locked;
149
130
  }
150
- /**
151
- * Choose which commentray line (0-based) to reveal so the commentary matches
152
- * the top of the source viewport. Uses each link’s `markerViewportHalfOpen1Based`:
153
- * if the top line falls in `[lo, hiExclusive)`, that block wins; in gaps, the block with the
154
- * greatest `lo` still at or above the top line; if the viewport is above every `lo`, the first
155
- * block by `lo`.
156
- */
131
+ /** Maps source viewport top → commentray line (naive pick); see commentray. */
157
132
  export function pickCommentrayLineForSourceScroll(blocks, topSourceLine1Based) {
158
133
  const b = pickBlockScrollLinkForSourceViewportTop(blocks, topSourceLine1Based);
159
134
  return b ? b.commentrayLine : null;
160
135
  }
161
136
  /**
162
- * Schmitt twin for **commentray→source**: same idea in markdown line (0-based) space.
137
+ * Source viewport → companion markdown line for **dual-pane** hosts (VS Code, rendered preview):
138
+ * when the source probe sits **strictly inside** a block’s indexed viewport span, map linearly from
139
+ * `sourceStart`…`sourceEnd` onto markdown lines **after** that block’s `<!-- commentray:block` line
140
+ * up to (but not including) the next block marker (or end of file). Otherwise (prelude, gaps, after
141
+ * the last span) call `gapFallback()` — typically a proportional mirror, matching
142
+ * `docs/spec/dual-pane-scroll-sync.md` source-gap behaviour.
163
143
  */
144
+ export function pickCommentrayLineForSourceDualPane(blocks, topSourceLine1Based, commentrayMdLineCount, gapFallback) {
145
+ if (blocks.length === 0) {
146
+ return gapFallback();
147
+ }
148
+ const inside = blockStrictlyContainingSourceViewportLine(blocks, topSourceLine1Based);
149
+ if (inside === null) {
150
+ return gapFallback();
151
+ }
152
+ return commentrayBodyLineWithinBlockFromSourceTop(blocks, inside, topSourceLine1Based, commentrayMdLineCount);
153
+ }
154
+ function commentrayBodyLineWithinBlockFromSourceTop(blocks, block, topSourceLine1Based, commentrayMdLineCount) {
155
+ const sorted = [...blocks].sort((a, b) => a.commentrayLine - b.commentrayLine);
156
+ const idx = sorted.findIndex((b) => b.id === block.id);
157
+ const next = idx >= 0 ? sorted[idx + 1] : undefined;
158
+ const mdCeilExclusive = next !== undefined ? next.commentrayLine : commentrayMdLineCount;
159
+ const mdBodyFirst = block.commentrayLine + 1;
160
+ const mdBodyLastInclusive = mdCeilExclusive - 1;
161
+ if (mdBodyLastInclusive < mdBodyFirst) {
162
+ return block.commentrayLine;
163
+ }
164
+ const srcLo = block.sourceStart;
165
+ const srcHi = block.sourceEnd;
166
+ const clamped = Math.min(Math.max(topSourceLine1Based, srcLo), srcHi);
167
+ const denom = Math.max(1, srcHi - srcLo);
168
+ const t = srcHi === srcLo ? 0 : (clamped - srcLo) / denom;
169
+ const mdLine = Math.round(mdBodyFirst + t * (mdBodyLastInclusive - mdBodyFirst));
170
+ return Math.min(mdBodyLastInclusive, Math.max(mdBodyFirst, mdLine));
171
+ }
172
+ /** Commentray→source hysteresis twin; see commentray. */
164
173
  export function pickBlockScrollLinkForCommentrayViewportWithHysteresis(blocks, topCommentrayLine0Based, state, hysteresisMdLines = DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES) {
165
174
  const HYST = Math.max(1, Math.floor(hysteresisMdLines));
166
175
  const naive = pickBlockScrollLinkForCommentrayScroll(blocks, topCommentrayLine0Based);
@@ -191,10 +200,7 @@ export function pickBlockScrollLinkForCommentrayViewportWithHysteresis(blocks, t
191
200
  }
192
201
  return locked;
193
202
  }
194
- /**
195
- * The block whose companion marker is at or above `topCommentrayLine0Based`
196
- * (same rule as {@link pickSourceLine0ForCommentrayScroll}).
197
- */
203
+ /** Naive pick: last block whose marker line ≤ viewport top (0-based MD lines). */
198
204
  export function pickBlockScrollLinkForCommentrayScroll(blocks, topCommentrayLine0Based) {
199
205
  if (blocks.length === 0)
200
206
  return null;
@@ -209,11 +215,7 @@ export function pickBlockScrollLinkForCommentrayScroll(blocks, topCommentrayLine
209
215
  }
210
216
  return best;
211
217
  }
212
- /**
213
- * Choose a 0-based source line to reveal from the top of the commentray
214
- * viewport: the block whose marker is at or above that line wins; reveal the
215
- * first line of its viewport span (`lo` − 1).
216
- */
218
+ /** Commentray viewport top → 0-based source line (`lo - 1` of winning block). */
217
219
  export function pickSourceLine0ForCommentrayScroll(blocks, topCommentrayLine0Based) {
218
220
  const link = pickBlockScrollLinkForCommentrayScroll(blocks, topCommentrayLine0Based);
219
221
  return link ? link.markerViewportHalfOpen1Based.lo - 1 : null;
@@ -1 +1 @@
1
- {"version":3,"file":"block-scroll-pickers.js","sourceRoot":"","sources":["../src/block-scroll-pickers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block-scroll-pickers.js","sourceRoot":"","sources":["../src/block-scroll-pickers.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,13 @@
1
1
  import type { HeightAdjustable } from "./height-adjustable.js";
2
2
  /**
3
- * Fixed two-column approval matrix (ASCII). `HeightAdjustable.syncRegionContinuationRows` controls
4
- * whether each `R{N}XX` continuation row prints as `XXXX` (`body`) or padded spaces (`stagger`).
3
+ * Renders synchronized {@link HeightAdjustable} flows as a fixed-width **two-column ASCII grid** for
4
+ * golden / approval tests. This layer owns grid tokens (`XXXX`, `BBBB`, `R{N}XX`), human-only blank
5
+ * seams, and stagger-collapse rules — not the core synchronizer (see
6
+ * `.commentray/source/packages/core/src/buffering-flow-synchronizer.ts/main.md` vs
7
+ * `.commentray/source/packages/core/src/buffering-flow-synchronizer-approval-printer.ts/main.md`).
8
+ *
9
+ * `HeightAdjustable.syncRegionContinuationRows` controls whether each sync-region continuation row
10
+ * prints as `XXXX` (`body`) or padded spaces (`stagger`).
5
11
  *
6
12
  * Between each pair of `HeightAdjustable` items the printer inserts **one** full-width blank row
7
13
  * (`approvalHumanBreakFullRow`): it is **not** scroll slack — only so a human can see where one block
@@ -1 +1 @@
1
- {"version":3,"file":"buffering-flow-synchronizer-approval-printer.d.ts","sourceRoot":"","sources":["../src/buffering-flow-synchronizer-approval-printer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAA8B,MAAM,wBAAwB,CAAC;AAE3F;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAC1C,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAC3C,eAAO,MAAM,wBAAwB,QAAa,CAAC;AAKnD,eAAO,MAAM,qBAAqB,QACsC,CAAC;AAEzE,uHAAuH;AACvH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBAGpC,CAAC;AAEF,wBAAgB,gCAAgC,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB,CAazF;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B,CAAC;AAcF,oHAAoH;AACpH,eAAO,MAAM,gCAAgC,QACS,CAAC;AA64BvD,wBAAgB,yBAAyB,CACvC,GAAG,GAAE,kBAA2C,GAC/C,MAAM,CAER;AAED,+HAA+H;AAC/H,eAAO,MAAM,wBAAwB,QAAoD,CAAC;AAyG1F,gIAAgI;AAChI,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,mBAAmB,EAC5B,MAAM,GAAE,kBAA2C,GAClD,MAAM,EAAE,CAiCV;AAaD,mEAAmE;AACnE,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,MAAM,GAAE,kBAA2C,GAClD,MAAM,CAcR"}
1
+ {"version":3,"file":"buffering-flow-synchronizer-approval-printer.d.ts","sourceRoot":"","sources":["../src/buffering-flow-synchronizer-approval-printer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAA8B,MAAM,wBAAwB,CAAC;AAE3F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAC1C,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAC3C,eAAO,MAAM,wBAAwB,QAAa,CAAC;AAKnD,eAAO,MAAM,qBAAqB,QACsC,CAAC;AAEzE,uHAAuH;AACvH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBAGpC,CAAC;AAEF,wBAAgB,gCAAgC,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB,CAazF;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B,CAAC;AAcF,oHAAoH;AACpH,eAAO,MAAM,gCAAgC,QACS,CAAC;AA64BvD,wBAAgB,yBAAyB,CACvC,GAAG,GAAE,kBAA2C,GAC/C,MAAM,CAER;AAED,+HAA+H;AAC/H,eAAO,MAAM,wBAAwB,QAAoD,CAAC;AAyG1F,gIAAgI;AAChI,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,mBAAmB,EAC5B,MAAM,GAAE,kBAA2C,GAClD,MAAM,EAAE,CAiCV;AAaD,mEAAmE;AACnE,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,MAAM,GAAE,kBAA2C,GAClD,MAAM,CAcR"}
@@ -1,6 +1,12 @@
1
1
  /**
2
- * Fixed two-column approval matrix (ASCII). `HeightAdjustable.syncRegionContinuationRows` controls
3
- * whether each `R{N}XX` continuation row prints as `XXXX` (`body`) or padded spaces (`stagger`).
2
+ * Renders synchronized {@link HeightAdjustable} flows as a fixed-width **two-column ASCII grid** for
3
+ * golden / approval tests. This layer owns grid tokens (`XXXX`, `BBBB`, `R{N}XX`), human-only blank
4
+ * seams, and stagger-collapse rules — not the core synchronizer (see
5
+ * `.commentray/source/packages/core/src/buffering-flow-synchronizer.ts/main.md` vs
6
+ * `.commentray/source/packages/core/src/buffering-flow-synchronizer-approval-printer.ts/main.md`).
7
+ *
8
+ * `HeightAdjustable.syncRegionContinuationRows` controls whether each sync-region continuation row
9
+ * prints as `XXXX` (`body`) or padded spaces (`stagger`).
4
10
  *
5
11
  * Between each pair of `HeightAdjustable` items the printer inserts **one** full-width blank row
6
12
  * (`approvalHumanBreakFullRow`): it is **not** scroll slack — only so a human can see where one block
@@ -1 +1 @@
1
- {"version":3,"file":"buffering-flow-synchronizer-approval-printer.js","sourceRoot":"","sources":["../src/buffering-flow-synchronizer-approval-printer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buffering-flow-synchronizer-approval-printer.js","sourceRoot":"","sources":["../src/buffering-flow-synchronizer-approval-printer.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,29 @@
1
1
  import type { HeightAdjustable } from "./height-adjustable.js";
2
2
  export type { HeightAdjustable } from "./height-adjustable.js";
3
3
  /**
4
- * Synthetic item appended (on **both** columns, paired) when total-height tail slack must not sit on
5
- * a synced `R{N}XX` block. The shorter side’s tail entry carries the `bufferBelow`; the other side’s
6
- * carries zero same array length for consumers that zip by index (e.g. stretch rows).
4
+ * Sentinel `id` for a zero-height segment appended in **lockstep on both columns** when tail slack
5
+ * needed to equalize column totals must **not** be stored as `bufferBelow` on a sync-region item.
6
+ * The shorter column’s placeholder carries the slack in `bufferBelow`; the paired copy carries zero,
7
+ * keeping left and right arrays the same length for index-aligned consumers (for example stretch rows).
7
8
  */
8
9
  export declare const NON_SYNC_TAIL_SLACK_ITEM_ID = "__NON_SYNC_TAIL_SLACK__";
9
10
  /**
10
- * Pairs two vertical **flows** (e.g. code vs commentary columns). Items whose `id` matches `R{N}XX`
11
- * are **synced regions**; every other id stays **local** (no cross-column start alignment or shared
12
- * region height — unsynced `XXXX` blocks are never treated as paired regions). Pipeline (see
13
- * `.commentray.toml`, `commentray:start id=toml-buffering-flow-sync`): (1) `bufferBelow` on the shorter
14
- * side per shared id so region heights match; (2) align first content rows by **preferring** to lower
15
- * `bufferAbove` on the later-starting `R{N}XX`, then raising the other side if needed; (3) equalize
16
- * column totals with tail slack only on non-synced blocks or paired {@link NON_SYNC_TAIL_SLACK_ITEM_ID}
17
- * slots (`BBBB` in approval grids). Shifting `bufferBelow` between paired `R{N}XX` copies would break
18
- * per-column scroll totals and force stacked tail `BBBB` rows, so that step is not applied (see
19
- * `.commentray.toml` `toml-buffering-flow-sync`).
11
+ * Two parallel vertical **flows** of {@link HeightAdjustable}: each entry is one segment with
12
+ * intrinsic `height` and optional `bufferAbove` / `bufferBelow` slack in abstract row units.
13
+ *
14
+ * **Paired sync regions:** Items whose `id` passes {@link isSyncRegionId} and share the same id in
15
+ * both columns behave as one logical region: heights are equalized and first content rows are aligned.
16
+ * **Local segments:** All other ids are column-local no cross-column pairing, shared region height,
17
+ * or coordinated start alignment.
18
+ *
19
+ * **Pipeline** (see `.commentray/source/packages/core/src/buffering-flow-synchronizer.ts/main.md`):
20
+ * (1) Per shared sync-region id, add `bufferBelow` on the shorter copy so both sides span the same
21
+ * region height; (2) align the row index of each region’s first content line, preferring to lower
22
+ * `bufferAbove` on the later-starting side before raising slack on the earlier side; (3) pad the
23
+ * shorter column’s tail so totals match, using `bufferBelow` on the last item when it is not a
24
+ * sync region, else paired {@link NON_SYNC_TAIL_SLACK_ITEM_ID} entries. **Non-step:** `bufferBelow`
25
+ * from (1) is never redistributed between the two copies of a paired region — that would change each
26
+ * column’s scroll total.
20
27
  */
21
28
  export interface SynchronizedHeightAdjustables {
22
29
  left: HeightAdjustable[];
@@ -1 +1 @@
1
- {"version":3,"file":"buffering-flow-synchronizer.d.ts","sourceRoot":"","sources":["../src/buffering-flow-synchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AAErE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AA8LD,qBAAa,yBAAyB;IACpC,WAAW,CACT,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAChC,6BAA6B;CAiBjC"}
1
+ {"version":3,"file":"buffering-flow-synchronizer.d.ts","sourceRoot":"","sources":["../src/buffering-flow-synchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AAErE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AA+LD,qBAAa,yBAAyB;IACpC,WAAW,CACT,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAChC,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAChC,6BAA6B;CAiBjC"}