@aiquants/virtualscroll 3.7.1 → 3.8.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.
@@ -70,6 +70,21 @@ export type ScrollPaneProps = {
70
70
  enableTrackClick?: boolean;
71
71
  /** Whether arrow buttons control the scroll position. / 矢印ボタンのスクロール操作を許可するかどうか。 */
72
72
  enableArrowButtons?: boolean;
73
+ /**
74
+ * Whether the scrollbar's two arrow buttons are Tab stops (default `true`), forwarded to the
75
+ * pane's ScrollBar. Set it to `false` when the host already provides keyboard scrolling for this
76
+ * pane: the arrows then only add two redundant Tab stops (native scrollbars are never Tab stops
77
+ * either). `false` changes `tabIndex` alone — the arrows stay pointer-operable and named. The
78
+ * default stays `true` because otherwise they are the pane's only scrolling control that Tab
79
+ * reaches. Full contract: `ScrollBarProps["enableArrowButtonTabStops"]`.
80
+ * スクロールバーの矢印ボタン 2 個を Tab の止まり先にするかどうか (既定 `true`)。ペインの ScrollBar へ
81
+ * 転送。ホストがこのペインのキーボードスクロールを既に提供する場合に `false` — 矢印は冗長な Tab の
82
+ * 止まり先を 2 つ足すだけになるため (ネイティブのスクロールバーも Tab の止まり先にならない)。`false` が
83
+ * 変えるのは `tabIndex` だけで、ポインタ操作とアクセシブルネームは維持。
84
+ * 既定が `true` なのは、それ以外ではペインで Tab の届く唯一のスクロール操作部品だから。契約の全文は
85
+ * `ScrollBarProps["enableArrowButtonTabStops"]`。
86
+ */
87
+ enableArrowButtonTabStops?: boolean;
73
88
  /** Whether dragging the content area scrolls the pane. / コンテンツ領域のドラッグでスクロールさせるかどうか。 */
74
89
  enablePointerDrag?: boolean;
75
90
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollPane.d.ts","sourceRoot":"","sources":["../src/ScrollPane.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScrollPane.d.ts","sourceRoot":"","sources":["../src/ScrollPane.tsx"],"names":[],"mappings":"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"}
@@ -5,79 +5,79 @@ import { useFenwickMapTree } from './useFenwickMapTree.cjs';
5
5
  import { VirtualScrollBehaviorOptions, VirtualScrollScrollBarOptions } from './VirtualScroll.cjs';
6
6
  /**
7
7
  * Hard per-track size cap (px) for both axes. Values above this are rejected with a RangeError
8
- * (fail-fast, no silent clamp): the §6 bounding contract `z × (ANCHOR_REBASE_DISTANCE +
9
- * windowSpan) <= 2^24` relies on every track being bounded, and a single oversized track would
10
- * let cell coordinates / the residual transform pierce the measured LayoutUnit wall (2^25).
8
+ * (fail-fast, no silent clamp): the bounding contract `z × (ANCHOR_REBASE_DISTANCE + windowSpan)
9
+ * <= 2^24` (z = ancestor scale, windowSpan <= viewport + (2 × overscan + 2) × MAX_TRACK_SIZE)
10
+ * relies on every track being bounded, and a single oversized track would let cell coordinates /
11
+ * the residual transform pierce the measured LayoutUnit wall (2^25).
11
12
  *
12
13
  * 両軸共通のトラックサイズ上限 (px)。超過は RangeError で fail-fast (暗黙 clamp なし):
13
- * §6 の有界化契約はトラック有界性に立脚し、1 本の過大トラックでセル座標 / 残差 transform が
14
- * 実測の LayoutUnit 壁 (2^25) を踏み抜くため。
14
+ * 有界化契約 `z × (ANCHOR_REBASE_DISTANCE + windowSpan) ≤ 2^24` (z = 祖先スケール、windowSpan ≤
15
+ * viewport + (2 × overscan + 2) × MAX_TRACK_SIZE) はトラック有界性に立脚し、1 本の過大トラックで
16
+ * セル座標 / 残差 transform が実測の LayoutUnit 壁 (2^25) を踏み抜くため。
15
17
  */
16
18
  export declare const MAX_TRACK_SIZE = 262144;
17
19
  /**
18
20
  * Safety cap for cell nodes materialized in one render pass (rendered rows × rendered cols).
19
21
  * Unlike the row-side MAX_RENDERED_ITEMS (a pathological-input guard), the 2D product can be
20
22
  * reached by LEGITIMATE configurations (min zoom on large displays), so truncation is never
21
- * silent — onRenderTruncated fires. Initial value assumes WQHD; §9-3 of the design plan owns
22
- * the final calibration (4K floor ≈ 55,955).
23
+ * silent — onRenderTruncated fires. The value covers a WQHD display at minimum zoom; the same
24
+ * configuration on a 4K display needs about 55,955 cells and is truncated there.
23
25
  *
24
26
  * 1 レンダーで具現化するセルノード数 (描画行 × 描画列) の安全上限。行側 MAX_RENDERED_ITEMS
25
27
  * (病的入力ガード) と違い、2D 積は正当な構成 (大型ディスプレイの最小ズーム) で到達し得るため
26
- * 打切りは無言にしない — onRenderTruncated が発火する。初期値は WQHD 前提で、最終確定は
27
- * 設計計画 §9-3 の所有 (4K の床 ≈ 55,955)。
28
+ * 打切りは無言にしない — onRenderTruncated が発火する。値は WQHD ディスプレイの最小ズームを
29
+ * 賄う大きさで、同じ構成の 4K ディスプレイでは約 55,955 セルが必要となり打ち切られる。
28
30
  */
29
31
  export declare const MAX_RENDERED_CELLS = 32768;
30
32
  /**
31
- * Hard cap for `frozenLeadingCols` (design §8). The frozen band is NOT windowed — every frozen
33
+ * Hard cap for `frozenLeadingCols`. The frozen band is NOT windowed — every frozen
32
34
  * column materializes in every rendered row and is EXEMPT from the MAX_RENDERED_CELLS
33
35
  * truncation (the scroll-band budget is reduced by the frozen count instead) — so the cap is
34
36
  * what bounds the band: worst case 128 x MAX_RENDERED_ITEMS rows, and W_F <= 128 x
35
37
  * MAX_TRACK_SIZE = 2^25 (the measured layout wall; practical W_F <= viewport << 2^24). Real
36
38
  * frozen panes are single-digit; violations fail fast with a RangeError.
37
39
  *
38
- * `frozenLeadingCols` の上限 (設計 §8)。凍結帯は窓化されず全描画行で具現化し、かつ
40
+ * `frozenLeadingCols` の上限。凍結帯は窓化されず全描画行で具現化し、かつ
39
41
  * MAX_RENDERED_CELLS の打切り対象外 (代わりにスクロール帯予算を凍結数ぶん控除) のため、帯を
40
42
  * 有界にするのはこの上限そのもの: 最悪 128 × MAX_RENDERED_ITEMS 行、W_F ≤ 128 × MAX_TRACK_SIZE
41
43
  * = 2^25 (実測壁ちょうど — 実運用は W_F ≤ viewport ≪ 2^24)。違反は fail-fast の RangeError。
42
44
  */
43
45
  export declare const MAX_FROZEN_LEADING_COLS = 128;
44
46
  /**
45
- * Hard cap for `frozenLeadingRows` (frozen-rows design plan §4-1). The frozen-row band is
46
- * grid-owned and OUT of the embedded VirtualScroll (index-shift architecture — plan §2):
47
- * every band row materializes every rendered column and is exempt from MAX_RENDERED_CELLS
47
+ * Hard cap for `frozenLeadingRows`. The frozen-row band is grid-owned and OUT of the embedded
48
+ * VirtualScroll (the grid shifts the scroll rows' indices by the frozen count before handing them
49
+ * over): every band row materializes every rendered column and is exempt from MAX_RENDERED_CELLS
48
50
  * (the budget denominator counts band rows instead), so the cap bounds the band itself.
49
- * `frozenLeadingRows` の上限 (行凍結設計 §4-1)。凍結行帯はグリッド所有で埋め込み
50
- * VirtualScroll の外 (インデックスシフト方式 — 設計 §2)。帯行は描画列を全て具現化し
51
+ * Violations fail fast with a RangeError.
52
+ * `frozenLeadingRows` の上限。凍結行帯はグリッド所有で埋め込み VirtualScroll の外 (スクロール行の
53
+ * インデックスを凍結数ぶんずらしてから渡すインデックスシフト方式)。帯行は描画列を全て具現化し
51
54
  * MAX_RENDERED_CELLS の打切り対象外 (予算分母に帯行数を算入) のため、帯を有界にするのは
52
55
  * この上限そのもの。違反は fail-fast の RangeError。
53
56
  */
54
57
  export declare const MAX_FROZEN_LEADING_ROWS = 128;
55
58
  /**
56
- * Hard cap for `frozenTrailingCols` (v3.5.0 trailing-freeze plan §3). The trailing band is NOT
57
- * windowed — every trailing column materializes in every rendered row and is EXEMPT from the
58
- * MAX_RENDERED_CELLS truncation (the scroll-band budget is reduced by the trailing count
59
- * instead) — so the cap is what bounds the band: worst case 128 x MAX_RENDERED_ITEMS rows, and
60
- * W_T <= 128 x MAX_TRACK_SIZE = 2^25 (the measured layout wall; practical W_T <= viewport <<
61
- * 2^24). Violations fail fast with a RangeError.
59
+ * Hard cap for `frozenTrailingCols`. The trailing band is NOT windowed — every trailing column
60
+ * materializes in every rendered row and is EXEMPT from the MAX_RENDERED_CELLS truncation (the
61
+ * scroll-band budget is reduced by the trailing count instead) — so the cap is what bounds the
62
+ * band: worst case 128 x MAX_RENDERED_ITEMS rows, and W_T <= 128 x MAX_TRACK_SIZE = 2^25 (the
63
+ * measured layout wall; practical W_T <= viewport << 2^24). Violations fail fast with a
64
+ * RangeError.
62
65
  *
63
- * `frozenTrailingCols` の上限 (3.5.0 末尾凍結プラン §3)。末尾帯は窓化されず全描画行で具現化し、
64
- * かつ MAX_RENDERED_CELLS の打切り対象外 (代わりにスクロール帯予算を末尾数ぶん控除) のため、
65
- * 帯を有界にするのはこの上限そのもの: 最悪 128 × MAX_RENDERED_ITEMS 行、W_T ≤ 128 ×
66
- * MAX_TRACK_SIZE = 2^25 (実測壁ちょうど — 実運用は W_T ≤ viewport ≪ 2^24)。違反は fail-fast の
67
- * RangeError。
66
+ * `frozenTrailingCols` の上限。末尾帯は窓化されず全描画行で具現化し、かつ MAX_RENDERED_CELLS の
67
+ * 打切り対象外 (代わりにスクロール帯予算を末尾数ぶん控除) のため、帯を有界にするのはこの上限
68
+ * そのもの: 最悪 128 × MAX_RENDERED_ITEMS 行、W_T ≤ 128 × MAX_TRACK_SIZE = 2^25 (実測壁ちょうど —
69
+ * 実運用は W_T ≤ viewport ≪ 2^24)。違反は fail-fast の RangeError。
68
70
  */
69
71
  export declare const MAX_FROZEN_TRAILING_COLS = 128;
70
72
  /**
71
- * Hard cap for `frozenTrailingRows` (v3.5.0 trailing-freeze plan §3). The trailing-row band is
72
- * grid-owned and OUT of the embedded VirtualScroll (the SECOND out-of-pane band, below the
73
- * pane): every band row materializes every rendered column and is exempt from
74
- * MAX_RENDERED_CELLS (the budget denominator counts band rows instead), so the cap bounds the
75
- * band itself. Violations fail fast with a RangeError.
73
+ * Hard cap for `frozenTrailingRows`. The trailing-row band is grid-owned and OUT of the embedded
74
+ * VirtualScroll (the SECOND out-of-pane band, below the pane): every band row materializes every
75
+ * rendered column and is exempt from MAX_RENDERED_CELLS (the budget denominator counts band rows
76
+ * instead), so the cap bounds the band itself. Violations fail fast with a RangeError.
76
77
  *
77
- * `frozenTrailingRows` の上限 (3.5.0 末尾凍結プラン §3)。末尾行帯はグリッド所有で埋め込み
78
- * VirtualScroll の外 (ペインの**下**の第 2 帯外バンド)。帯行は描画列を全て具現化し
79
- * MAX_RENDERED_CELLS の打切り対象外 (予算分母に帯行数を算入) のため、帯を有界にするのは
80
- * この上限そのもの。違反は fail-fast の RangeError。
78
+ * `frozenTrailingRows` の上限。末尾行帯はグリッド所有で埋め込み VirtualScroll の外 (ペインの**下**の
79
+ * 第 2 帯外バンド)。帯行は描画列を全て具現化し MAX_RENDERED_CELLS の打切り対象外 (予算分母に
80
+ * 帯行数を算入) のため、帯を有界にするのはこの上限そのもの。違反は fail-fast の RangeError。
81
81
  */
82
82
  export declare const MAX_FROZEN_TRAILING_ROWS = 128;
83
83
  /**
@@ -150,10 +150,10 @@ export type VirtualGridBehaviorOptions = VirtualScrollBehaviorOptions & {
150
150
  */
151
151
  resetOnGetColWidthChange?: boolean;
152
152
  /**
153
- * Explicit Fenwick baseValue for the column width tree (design §3.4): skips the stride
153
+ * Explicit Fenwick baseValue for the column width tree: skips the stride
154
154
  * sampling of getColWidth at construction, so unmaterialized columns are estimated at exactly
155
155
  * this width. Integer in [0, MAX_TRACK_SIZE] — RangeError otherwise (fail-fast, no clamp).
156
- * 列幅木の Fenwick baseValue の明示指定 (設計 §3.4): 構築時の getColWidth ストライド
156
+ * 列幅木の Fenwick baseValue の明示指定: 構築時の getColWidth ストライド
157
157
  * サンプリングを省略し、未具現化列をこの幅で見積もる。[0, MAX_TRACK_SIZE] の整数 —
158
158
  * 違反は RangeError (fail-fast、clamp なし)。
159
159
  */
@@ -235,14 +235,14 @@ export type VirtualGridProps<T> = {
235
235
  offsetX: number;
236
236
  };
237
237
  /**
238
- * Number of leading columns frozen at the left edge (design §8; default 0). The frozen band
238
+ * Number of leading columns frozen at the left edge (default 0). The frozen band
239
239
  * lives OUTSIDE the anchor machinery: tree coordinates [0, W_F) render as direct static
240
240
  * lefts (safe — W_F <= viewport << 2^24), the scroll band's window search starts at the
241
241
  * W_F offset, and its residual transform carries the -W_F origin-shift term. Non-negative
242
242
  * integer <= MAX_FROZEN_LEADING_COLS — RangeError otherwise (fail-fast); values beyond the
243
243
  * CURRENT colCount freeze every column (documented dynamic clamp, not a fallback — the
244
244
  * scroll band then reports the EMPTY window start > end and renders no scroll cells).
245
- * 左端に凍結する先頭列数 (設計 §8。既定 0)。凍結帯はアンカー機構の**外**: 木座標 [0, W_F)
245
+ * 左端に凍結する先頭列数 (既定 0)。凍結帯はアンカー機構の**外**: 木座標 [0, W_F)
246
246
  * を静的 left で直接描画 (W_F は上限 128 × 2^18 = 2^25 で有界 — 実運用は viewport ≪ 2^24)、
247
247
  * スクロール帯の窓探索は W_F
248
248
  * オフセット始まり、残差 transform は −W_F の原点シフト項を持つ。0 以上の整数かつ
@@ -251,14 +251,14 @@ export type VirtualGridProps<T> = {
251
251
  */
252
252
  frozenLeadingCols?: number;
253
253
  /**
254
- * Number of leading rows pinned at the top (frozen-rows design plan — default 0). The band
254
+ * Number of leading rows pinned at the top (default 0). The band
255
255
  * is grid-owned and OUT of the embedded VirtualScroll: the scroll rows live in a SHIFTED
256
256
  * index space (itemCount = rowCount − R, getItem = i + R), so vy is the scroll-band
257
257
  * logical position and the vertical bar maps the band naturally. Non-negative integer <=
258
258
  * MAX_FROZEN_LEADING_ROWS — RangeError otherwise (fail-fast); values beyond the CURRENT
259
259
  * rowCount freeze every row (documented dynamic clamp — the scroll rows then report the
260
260
  * canonical EMPTY window start > end and render nothing).
261
- * 上端に凍結する先頭行数 (行凍結設計 — 既定 0)。帯はグリッド所有で埋め込み VirtualScroll
261
+ * 上端に凍結する先頭行数 (既定 0)。帯はグリッド所有で埋め込み VirtualScroll
262
262
  * の外: スクロール行は**シフト済みインデックス空間** (itemCount = rowCount − R、getItem =
263
263
  * i + R) に住み、vy はスクロール帯の論理位置・縦バーは帯を自然に写像する。0 以上の整数
264
264
  * かつ MAX_FROZEN_LEADING_ROWS 以下 — 違反は RangeError (fail-fast)。現在の rowCount を
@@ -267,14 +267,14 @@ export type VirtualGridProps<T> = {
267
267
  */
268
268
  frozenLeadingRows?: number;
269
269
  /**
270
- * Number of trailing columns frozen at the right edge (v3.5.0 trailing-freeze plan §3;
271
- * default 0). Integer in [0, MAX_FROZEN_TRAILING_COLS] — RangeError otherwise (fail-fast).
270
+ * Number of trailing columns frozen at the right edge (default 0). Integer in
271
+ * [0, MAX_FROZEN_TRAILING_COLS] — RangeError otherwise (fail-fast).
272
272
  * Dynamic clamp (documented contract): min(T, colCount − effectiveFrozenCols) — the LEADING
273
273
  * band wins the count space. Trailing cells render in a right-anchored clip outside the
274
274
  * anchor machinery (band-local lefts); `--aqvs-grid-trailing-width` is written iff T > 0.
275
275
  * `scrollToCell` / `initialScrollAnchor` targeting a trailing column are horizontal no-ops
276
276
  * (always visible). T = 0 is structurally identical to the pre-trailing DOM.
277
- * 右端に凍結する末尾列数 (3.5.0 末尾凍結プラン §3。既定 0)。[0, MAX_FROZEN_TRAILING_COLS]
277
+ * 右端に凍結する末尾列数 (既定 0)。[0, MAX_FROZEN_TRAILING_COLS]
278
278
  * の整数 — 違反は RangeError (fail-fast)。動的クランプ (文書化契約): min(T, colCount −
279
279
  * effectiveFrozenCols) — カウント空間は**先頭が勝つ**。末尾セルはアンカー機構の外の
280
280
  * 右アンカークリップに帯ローカル left で描画し、`--aqvs-grid-trailing-width` は T > 0 の
@@ -283,19 +283,19 @@ export type VirtualGridProps<T> = {
283
283
  */
284
284
  frozenTrailingCols?: number;
285
285
  /**
286
- * Number of trailing rows pinned at the bottom (v3.5.0 trailing-freeze plan §3; default 0).
286
+ * Number of trailing rows pinned at the bottom (default 0).
287
287
  * Integer in [0, MAX_FROZEN_TRAILING_ROWS] — RangeError otherwise (fail-fast). Dynamic
288
288
  * clamp (documented contract): min(T, rowCount − effectiveFrozenRows) — leading wins. The
289
289
  * band is grid-owned BELOW the pane; the embedded scroll rows shrink at the TAIL only
290
290
  * (itemCount = rowCount − R − T, getItem = i + R unchanged), so a runtime T change does NOT
291
- * remount the embedded VirtualScroll (ADR-23). `scrollToCell` / `initialScrollAnchor`
291
+ * remount the embedded VirtualScroll. `scrollToCell` / `initialScrollAnchor`
292
292
  * targeting a trailing row are vertical no-ops (always visible). T = 0 is structurally
293
293
  * identical to the pre-trailing DOM.
294
- * 下端に凍結する末尾行数 (3.5.0 末尾凍結プラン §3。既定 0)。[0, MAX_FROZEN_TRAILING_ROWS]
294
+ * 下端に凍結する末尾行数 (既定 0)。[0, MAX_FROZEN_TRAILING_ROWS]
295
295
  * の整数 — 違反は RangeError (fail-fast)。動的クランプ (文書化契約): min(T, rowCount −
296
296
  * effectiveFrozenRows) — 先頭が勝つ。帯はペインの**下**のグリッド所有バンドで、埋め込み
297
297
  * スクロール行は**末尾**だけが伸縮する (itemCount = rowCount − R − T、getItem = i + R
298
- * 不変) — T の実行時変更は埋め込み VirtualScroll を再マウントしない (ADR-23)。
298
+ * 不変) — T の実行時変更は埋め込み VirtualScroll を再マウントしない。
299
299
  * `scrollToCell` / `initialScrollAnchor` の末尾行狙いは縦 no-op (常時可視)。T = 0 は
300
300
  * DOM 構造まで従来と恒等。
301
301
  */
@@ -318,6 +318,19 @@ export type VirtualGridProps<T> = {
318
318
  /** TEST-ONLY seam: overrides MAX_RENDERED_CELLS so the truncation path is gateable without materializing 32k DOM nodes in jsdom. / テスト専用シーム: 打切り経路を jsdom で 32k ノード無しにゲート化するための上限上書き。 */
319
319
  __maxRenderedCells?: number;
320
320
  behaviorOptions?: VirtualGridBehaviorOptions;
321
+ /**
322
+ * Scrollbar options. The bar-local members — `width`, `enableThumbDrag`, `enableTrackClick`,
323
+ * `enableArrowButtons` and `enableArrowButtonTabStops` — reach BOTH bars alike (the embedded
324
+ * vertical bar and the horizontal bar), so no setting ever covers only half of the grid.
325
+ * `tapScrollCircleOptions` configures the grid's single two-axis circle (the per-bar circles are
326
+ * suppressed); the row-axis features `renderThumbOverlay` (fed with visible row indices) and
327
+ * `enableScrollToTopBottomButtons` (the Top / Bottom pills) belong to the embedded VirtualScroll.
328
+ * スクロールバー設定。バー固有のメンバー (`width` / `enableThumbDrag` / `enableTrackClick` /
329
+ * `enableArrowButtons` / `enableArrowButtonTabStops`) は内包の縦バーと横バーの両方へ同じく届き、
330
+ * 設定がグリッドの片側にだけ効くことは無い。`tapScrollCircleOptions` はグリッド唯一の 2 軸サークルの
331
+ * 設定 (バーごとのサークルは抑止)、行軸の機能である `renderThumbOverlay` (可視行インデックスを
332
+ * 受け取る) と `enableScrollToTopBottomButtons` (Top / Bottom ピル) は内包 VirtualScroll の所有。
333
+ */
321
334
  scrollBarOptions?: VirtualScrollScrollBarOptions;
322
335
  liveRegion?: VirtualGridLiveRegionOptions;
323
336
  /**
@@ -370,17 +383,17 @@ export type VirtualGridHandle = {
370
383
  * frozen column is a horizontal no-op that leaves any previously armed column anchor in
371
384
  * place (the visual status quo is preserved; manual horizontal input clears anchors as
372
385
  * usual); targeting a leading/trailing frozen row is a vertical no-op. Band membership is
373
- * judged at CALL time — a T change AFTER arming follows the ADR-23 clamp semantics: a
374
- * pending row anchor whose target row lands inside the trailing band after a T increase
375
- * clamps to the last scroll row. Overlap registration (ADR-19-1): when the leading +
376
- * trailing band extents exceed the viewport, occluded trailing cells cannot be scrolled
377
- * into view — the no-op is exact there too.
386
+ * judged at CALL time — a T change AFTER arming clamps instead of remounting: a pending row
387
+ * anchor whose target row lands inside the trailing band after a T increase clamps to the
388
+ * last scroll row. Overlapping bands: when the leading + trailing band extents exceed the
389
+ * viewport, occluded trailing cells cannot be scrolled into view — the no-op is exact there
390
+ * too.
378
391
  * セル狙いジャンプ。"nearest" は無し。先頭 / 末尾凍結列狙いの横成分は no-op で、既存の
379
392
  * 列アンカーはそのまま残る (視覚的現状維持 — 手動横入力が従来どおり解除する)。先頭 /
380
393
  * 末尾凍結行狙いの縦成分も no-op。帯所属の判定は**呼出し時** — 張った後の T 変更は
381
- * ADR-23 のクランプ意味論 (T 増加で末尾帯入りする行を狙った保留行アンカーは最終
382
- * スクロール行へクランプ) に従う。重複登記 (ADR-19-1): 先頭 + 末尾の帯寸がビューポートを
383
- * 超えるとき、隠れた末尾セルはどのスクロール位置でも可視化できない — no-op はそこでも正確。
394
+ * 再マウントせずクランプする (T 増加で末尾帯入りする行を狙った保留行アンカーは最終
395
+ * スクロール行へクランプ)。帯の重なり: 先頭 + 末尾の帯寸がビューポートを超えるとき、
396
+ * 隠れた末尾セルはどのスクロール位置でも可視化できない — no-op はそこでも正確。
384
397
  */
385
398
  scrollToCell(row: number, col: number, options?: {
386
399
  alignY?: "top" | "bottom" | "center";
@@ -5,79 +5,79 @@ import { useFenwickMapTree } from './useFenwickMapTree.ts';
5
5
  import { VirtualScrollBehaviorOptions, VirtualScrollScrollBarOptions } from './VirtualScroll.tsx';
6
6
  /**
7
7
  * Hard per-track size cap (px) for both axes. Values above this are rejected with a RangeError
8
- * (fail-fast, no silent clamp): the §6 bounding contract `z × (ANCHOR_REBASE_DISTANCE +
9
- * windowSpan) <= 2^24` relies on every track being bounded, and a single oversized track would
10
- * let cell coordinates / the residual transform pierce the measured LayoutUnit wall (2^25).
8
+ * (fail-fast, no silent clamp): the bounding contract `z × (ANCHOR_REBASE_DISTANCE + windowSpan)
9
+ * <= 2^24` (z = ancestor scale, windowSpan <= viewport + (2 × overscan + 2) × MAX_TRACK_SIZE)
10
+ * relies on every track being bounded, and a single oversized track would let cell coordinates /
11
+ * the residual transform pierce the measured LayoutUnit wall (2^25).
11
12
  *
12
13
  * 両軸共通のトラックサイズ上限 (px)。超過は RangeError で fail-fast (暗黙 clamp なし):
13
- * §6 の有界化契約はトラック有界性に立脚し、1 本の過大トラックでセル座標 / 残差 transform が
14
- * 実測の LayoutUnit 壁 (2^25) を踏み抜くため。
14
+ * 有界化契約 `z × (ANCHOR_REBASE_DISTANCE + windowSpan) ≤ 2^24` (z = 祖先スケール、windowSpan ≤
15
+ * viewport + (2 × overscan + 2) × MAX_TRACK_SIZE) はトラック有界性に立脚し、1 本の過大トラックで
16
+ * セル座標 / 残差 transform が実測の LayoutUnit 壁 (2^25) を踏み抜くため。
15
17
  */
16
18
  export declare const MAX_TRACK_SIZE = 262144;
17
19
  /**
18
20
  * Safety cap for cell nodes materialized in one render pass (rendered rows × rendered cols).
19
21
  * Unlike the row-side MAX_RENDERED_ITEMS (a pathological-input guard), the 2D product can be
20
22
  * reached by LEGITIMATE configurations (min zoom on large displays), so truncation is never
21
- * silent — onRenderTruncated fires. Initial value assumes WQHD; §9-3 of the design plan owns
22
- * the final calibration (4K floor ≈ 55,955).
23
+ * silent — onRenderTruncated fires. The value covers a WQHD display at minimum zoom; the same
24
+ * configuration on a 4K display needs about 55,955 cells and is truncated there.
23
25
  *
24
26
  * 1 レンダーで具現化するセルノード数 (描画行 × 描画列) の安全上限。行側 MAX_RENDERED_ITEMS
25
27
  * (病的入力ガード) と違い、2D 積は正当な構成 (大型ディスプレイの最小ズーム) で到達し得るため
26
- * 打切りは無言にしない — onRenderTruncated が発火する。初期値は WQHD 前提で、最終確定は
27
- * 設計計画 §9-3 の所有 (4K の床 ≈ 55,955)。
28
+ * 打切りは無言にしない — onRenderTruncated が発火する。値は WQHD ディスプレイの最小ズームを
29
+ * 賄う大きさで、同じ構成の 4K ディスプレイでは約 55,955 セルが必要となり打ち切られる。
28
30
  */
29
31
  export declare const MAX_RENDERED_CELLS = 32768;
30
32
  /**
31
- * Hard cap for `frozenLeadingCols` (design §8). The frozen band is NOT windowed — every frozen
33
+ * Hard cap for `frozenLeadingCols`. The frozen band is NOT windowed — every frozen
32
34
  * column materializes in every rendered row and is EXEMPT from the MAX_RENDERED_CELLS
33
35
  * truncation (the scroll-band budget is reduced by the frozen count instead) — so the cap is
34
36
  * what bounds the band: worst case 128 x MAX_RENDERED_ITEMS rows, and W_F <= 128 x
35
37
  * MAX_TRACK_SIZE = 2^25 (the measured layout wall; practical W_F <= viewport << 2^24). Real
36
38
  * frozen panes are single-digit; violations fail fast with a RangeError.
37
39
  *
38
- * `frozenLeadingCols` の上限 (設計 §8)。凍結帯は窓化されず全描画行で具現化し、かつ
40
+ * `frozenLeadingCols` の上限。凍結帯は窓化されず全描画行で具現化し、かつ
39
41
  * MAX_RENDERED_CELLS の打切り対象外 (代わりにスクロール帯予算を凍結数ぶん控除) のため、帯を
40
42
  * 有界にするのはこの上限そのもの: 最悪 128 × MAX_RENDERED_ITEMS 行、W_F ≤ 128 × MAX_TRACK_SIZE
41
43
  * = 2^25 (実測壁ちょうど — 実運用は W_F ≤ viewport ≪ 2^24)。違反は fail-fast の RangeError。
42
44
  */
43
45
  export declare const MAX_FROZEN_LEADING_COLS = 128;
44
46
  /**
45
- * Hard cap for `frozenLeadingRows` (frozen-rows design plan §4-1). The frozen-row band is
46
- * grid-owned and OUT of the embedded VirtualScroll (index-shift architecture — plan §2):
47
- * every band row materializes every rendered column and is exempt from MAX_RENDERED_CELLS
47
+ * Hard cap for `frozenLeadingRows`. The frozen-row band is grid-owned and OUT of the embedded
48
+ * VirtualScroll (the grid shifts the scroll rows' indices by the frozen count before handing them
49
+ * over): every band row materializes every rendered column and is exempt from MAX_RENDERED_CELLS
48
50
  * (the budget denominator counts band rows instead), so the cap bounds the band itself.
49
- * `frozenLeadingRows` の上限 (行凍結設計 §4-1)。凍結行帯はグリッド所有で埋め込み
50
- * VirtualScroll の外 (インデックスシフト方式 — 設計 §2)。帯行は描画列を全て具現化し
51
+ * Violations fail fast with a RangeError.
52
+ * `frozenLeadingRows` の上限。凍結行帯はグリッド所有で埋め込み VirtualScroll の外 (スクロール行の
53
+ * インデックスを凍結数ぶんずらしてから渡すインデックスシフト方式)。帯行は描画列を全て具現化し
51
54
  * MAX_RENDERED_CELLS の打切り対象外 (予算分母に帯行数を算入) のため、帯を有界にするのは
52
55
  * この上限そのもの。違反は fail-fast の RangeError。
53
56
  */
54
57
  export declare const MAX_FROZEN_LEADING_ROWS = 128;
55
58
  /**
56
- * Hard cap for `frozenTrailingCols` (v3.5.0 trailing-freeze plan §3). The trailing band is NOT
57
- * windowed — every trailing column materializes in every rendered row and is EXEMPT from the
58
- * MAX_RENDERED_CELLS truncation (the scroll-band budget is reduced by the trailing count
59
- * instead) — so the cap is what bounds the band: worst case 128 x MAX_RENDERED_ITEMS rows, and
60
- * W_T <= 128 x MAX_TRACK_SIZE = 2^25 (the measured layout wall; practical W_T <= viewport <<
61
- * 2^24). Violations fail fast with a RangeError.
59
+ * Hard cap for `frozenTrailingCols`. The trailing band is NOT windowed — every trailing column
60
+ * materializes in every rendered row and is EXEMPT from the MAX_RENDERED_CELLS truncation (the
61
+ * scroll-band budget is reduced by the trailing count instead) — so the cap is what bounds the
62
+ * band: worst case 128 x MAX_RENDERED_ITEMS rows, and W_T <= 128 x MAX_TRACK_SIZE = 2^25 (the
63
+ * measured layout wall; practical W_T <= viewport << 2^24). Violations fail fast with a
64
+ * RangeError.
62
65
  *
63
- * `frozenTrailingCols` の上限 (3.5.0 末尾凍結プラン §3)。末尾帯は窓化されず全描画行で具現化し、
64
- * かつ MAX_RENDERED_CELLS の打切り対象外 (代わりにスクロール帯予算を末尾数ぶん控除) のため、
65
- * 帯を有界にするのはこの上限そのもの: 最悪 128 × MAX_RENDERED_ITEMS 行、W_T ≤ 128 ×
66
- * MAX_TRACK_SIZE = 2^25 (実測壁ちょうど — 実運用は W_T ≤ viewport ≪ 2^24)。違反は fail-fast の
67
- * RangeError。
66
+ * `frozenTrailingCols` の上限。末尾帯は窓化されず全描画行で具現化し、かつ MAX_RENDERED_CELLS の
67
+ * 打切り対象外 (代わりにスクロール帯予算を末尾数ぶん控除) のため、帯を有界にするのはこの上限
68
+ * そのもの: 最悪 128 × MAX_RENDERED_ITEMS 行、W_T ≤ 128 × MAX_TRACK_SIZE = 2^25 (実測壁ちょうど —
69
+ * 実運用は W_T ≤ viewport ≪ 2^24)。違反は fail-fast の RangeError。
68
70
  */
69
71
  export declare const MAX_FROZEN_TRAILING_COLS = 128;
70
72
  /**
71
- * Hard cap for `frozenTrailingRows` (v3.5.0 trailing-freeze plan §3). The trailing-row band is
72
- * grid-owned and OUT of the embedded VirtualScroll (the SECOND out-of-pane band, below the
73
- * pane): every band row materializes every rendered column and is exempt from
74
- * MAX_RENDERED_CELLS (the budget denominator counts band rows instead), so the cap bounds the
75
- * band itself. Violations fail fast with a RangeError.
73
+ * Hard cap for `frozenTrailingRows`. The trailing-row band is grid-owned and OUT of the embedded
74
+ * VirtualScroll (the SECOND out-of-pane band, below the pane): every band row materializes every
75
+ * rendered column and is exempt from MAX_RENDERED_CELLS (the budget denominator counts band rows
76
+ * instead), so the cap bounds the band itself. Violations fail fast with a RangeError.
76
77
  *
77
- * `frozenTrailingRows` の上限 (3.5.0 末尾凍結プラン §3)。末尾行帯はグリッド所有で埋め込み
78
- * VirtualScroll の外 (ペインの**下**の第 2 帯外バンド)。帯行は描画列を全て具現化し
79
- * MAX_RENDERED_CELLS の打切り対象外 (予算分母に帯行数を算入) のため、帯を有界にするのは
80
- * この上限そのもの。違反は fail-fast の RangeError。
78
+ * `frozenTrailingRows` の上限。末尾行帯はグリッド所有で埋め込み VirtualScroll の外 (ペインの**下**の
79
+ * 第 2 帯外バンド)。帯行は描画列を全て具現化し MAX_RENDERED_CELLS の打切り対象外 (予算分母に
80
+ * 帯行数を算入) のため、帯を有界にするのはこの上限そのもの。違反は fail-fast の RangeError。
81
81
  */
82
82
  export declare const MAX_FROZEN_TRAILING_ROWS = 128;
83
83
  /**
@@ -150,10 +150,10 @@ export type VirtualGridBehaviorOptions = VirtualScrollBehaviorOptions & {
150
150
  */
151
151
  resetOnGetColWidthChange?: boolean;
152
152
  /**
153
- * Explicit Fenwick baseValue for the column width tree (design §3.4): skips the stride
153
+ * Explicit Fenwick baseValue for the column width tree: skips the stride
154
154
  * sampling of getColWidth at construction, so unmaterialized columns are estimated at exactly
155
155
  * this width. Integer in [0, MAX_TRACK_SIZE] — RangeError otherwise (fail-fast, no clamp).
156
- * 列幅木の Fenwick baseValue の明示指定 (設計 §3.4): 構築時の getColWidth ストライド
156
+ * 列幅木の Fenwick baseValue の明示指定: 構築時の getColWidth ストライド
157
157
  * サンプリングを省略し、未具現化列をこの幅で見積もる。[0, MAX_TRACK_SIZE] の整数 —
158
158
  * 違反は RangeError (fail-fast、clamp なし)。
159
159
  */
@@ -235,14 +235,14 @@ export type VirtualGridProps<T> = {
235
235
  offsetX: number;
236
236
  };
237
237
  /**
238
- * Number of leading columns frozen at the left edge (design §8; default 0). The frozen band
238
+ * Number of leading columns frozen at the left edge (default 0). The frozen band
239
239
  * lives OUTSIDE the anchor machinery: tree coordinates [0, W_F) render as direct static
240
240
  * lefts (safe — W_F <= viewport << 2^24), the scroll band's window search starts at the
241
241
  * W_F offset, and its residual transform carries the -W_F origin-shift term. Non-negative
242
242
  * integer <= MAX_FROZEN_LEADING_COLS — RangeError otherwise (fail-fast); values beyond the
243
243
  * CURRENT colCount freeze every column (documented dynamic clamp, not a fallback — the
244
244
  * scroll band then reports the EMPTY window start > end and renders no scroll cells).
245
- * 左端に凍結する先頭列数 (設計 §8。既定 0)。凍結帯はアンカー機構の**外**: 木座標 [0, W_F)
245
+ * 左端に凍結する先頭列数 (既定 0)。凍結帯はアンカー機構の**外**: 木座標 [0, W_F)
246
246
  * を静的 left で直接描画 (W_F は上限 128 × 2^18 = 2^25 で有界 — 実運用は viewport ≪ 2^24)、
247
247
  * スクロール帯の窓探索は W_F
248
248
  * オフセット始まり、残差 transform は −W_F の原点シフト項を持つ。0 以上の整数かつ
@@ -251,14 +251,14 @@ export type VirtualGridProps<T> = {
251
251
  */
252
252
  frozenLeadingCols?: number;
253
253
  /**
254
- * Number of leading rows pinned at the top (frozen-rows design plan — default 0). The band
254
+ * Number of leading rows pinned at the top (default 0). The band
255
255
  * is grid-owned and OUT of the embedded VirtualScroll: the scroll rows live in a SHIFTED
256
256
  * index space (itemCount = rowCount − R, getItem = i + R), so vy is the scroll-band
257
257
  * logical position and the vertical bar maps the band naturally. Non-negative integer <=
258
258
  * MAX_FROZEN_LEADING_ROWS — RangeError otherwise (fail-fast); values beyond the CURRENT
259
259
  * rowCount freeze every row (documented dynamic clamp — the scroll rows then report the
260
260
  * canonical EMPTY window start > end and render nothing).
261
- * 上端に凍結する先頭行数 (行凍結設計 — 既定 0)。帯はグリッド所有で埋め込み VirtualScroll
261
+ * 上端に凍結する先頭行数 (既定 0)。帯はグリッド所有で埋め込み VirtualScroll
262
262
  * の外: スクロール行は**シフト済みインデックス空間** (itemCount = rowCount − R、getItem =
263
263
  * i + R) に住み、vy はスクロール帯の論理位置・縦バーは帯を自然に写像する。0 以上の整数
264
264
  * かつ MAX_FROZEN_LEADING_ROWS 以下 — 違反は RangeError (fail-fast)。現在の rowCount を
@@ -267,14 +267,14 @@ export type VirtualGridProps<T> = {
267
267
  */
268
268
  frozenLeadingRows?: number;
269
269
  /**
270
- * Number of trailing columns frozen at the right edge (v3.5.0 trailing-freeze plan §3;
271
- * default 0). Integer in [0, MAX_FROZEN_TRAILING_COLS] — RangeError otherwise (fail-fast).
270
+ * Number of trailing columns frozen at the right edge (default 0). Integer in
271
+ * [0, MAX_FROZEN_TRAILING_COLS] — RangeError otherwise (fail-fast).
272
272
  * Dynamic clamp (documented contract): min(T, colCount − effectiveFrozenCols) — the LEADING
273
273
  * band wins the count space. Trailing cells render in a right-anchored clip outside the
274
274
  * anchor machinery (band-local lefts); `--aqvs-grid-trailing-width` is written iff T > 0.
275
275
  * `scrollToCell` / `initialScrollAnchor` targeting a trailing column are horizontal no-ops
276
276
  * (always visible). T = 0 is structurally identical to the pre-trailing DOM.
277
- * 右端に凍結する末尾列数 (3.5.0 末尾凍結プラン §3。既定 0)。[0, MAX_FROZEN_TRAILING_COLS]
277
+ * 右端に凍結する末尾列数 (既定 0)。[0, MAX_FROZEN_TRAILING_COLS]
278
278
  * の整数 — 違反は RangeError (fail-fast)。動的クランプ (文書化契約): min(T, colCount −
279
279
  * effectiveFrozenCols) — カウント空間は**先頭が勝つ**。末尾セルはアンカー機構の外の
280
280
  * 右アンカークリップに帯ローカル left で描画し、`--aqvs-grid-trailing-width` は T > 0 の
@@ -283,19 +283,19 @@ export type VirtualGridProps<T> = {
283
283
  */
284
284
  frozenTrailingCols?: number;
285
285
  /**
286
- * Number of trailing rows pinned at the bottom (v3.5.0 trailing-freeze plan §3; default 0).
286
+ * Number of trailing rows pinned at the bottom (default 0).
287
287
  * Integer in [0, MAX_FROZEN_TRAILING_ROWS] — RangeError otherwise (fail-fast). Dynamic
288
288
  * clamp (documented contract): min(T, rowCount − effectiveFrozenRows) — leading wins. The
289
289
  * band is grid-owned BELOW the pane; the embedded scroll rows shrink at the TAIL only
290
290
  * (itemCount = rowCount − R − T, getItem = i + R unchanged), so a runtime T change does NOT
291
- * remount the embedded VirtualScroll (ADR-23). `scrollToCell` / `initialScrollAnchor`
291
+ * remount the embedded VirtualScroll. `scrollToCell` / `initialScrollAnchor`
292
292
  * targeting a trailing row are vertical no-ops (always visible). T = 0 is structurally
293
293
  * identical to the pre-trailing DOM.
294
- * 下端に凍結する末尾行数 (3.5.0 末尾凍結プラン §3。既定 0)。[0, MAX_FROZEN_TRAILING_ROWS]
294
+ * 下端に凍結する末尾行数 (既定 0)。[0, MAX_FROZEN_TRAILING_ROWS]
295
295
  * の整数 — 違反は RangeError (fail-fast)。動的クランプ (文書化契約): min(T, rowCount −
296
296
  * effectiveFrozenRows) — 先頭が勝つ。帯はペインの**下**のグリッド所有バンドで、埋め込み
297
297
  * スクロール行は**末尾**だけが伸縮する (itemCount = rowCount − R − T、getItem = i + R
298
- * 不変) — T の実行時変更は埋め込み VirtualScroll を再マウントしない (ADR-23)。
298
+ * 不変) — T の実行時変更は埋め込み VirtualScroll を再マウントしない。
299
299
  * `scrollToCell` / `initialScrollAnchor` の末尾行狙いは縦 no-op (常時可視)。T = 0 は
300
300
  * DOM 構造まで従来と恒等。
301
301
  */
@@ -318,6 +318,19 @@ export type VirtualGridProps<T> = {
318
318
  /** TEST-ONLY seam: overrides MAX_RENDERED_CELLS so the truncation path is gateable without materializing 32k DOM nodes in jsdom. / テスト専用シーム: 打切り経路を jsdom で 32k ノード無しにゲート化するための上限上書き。 */
319
319
  __maxRenderedCells?: number;
320
320
  behaviorOptions?: VirtualGridBehaviorOptions;
321
+ /**
322
+ * Scrollbar options. The bar-local members — `width`, `enableThumbDrag`, `enableTrackClick`,
323
+ * `enableArrowButtons` and `enableArrowButtonTabStops` — reach BOTH bars alike (the embedded
324
+ * vertical bar and the horizontal bar), so no setting ever covers only half of the grid.
325
+ * `tapScrollCircleOptions` configures the grid's single two-axis circle (the per-bar circles are
326
+ * suppressed); the row-axis features `renderThumbOverlay` (fed with visible row indices) and
327
+ * `enableScrollToTopBottomButtons` (the Top / Bottom pills) belong to the embedded VirtualScroll.
328
+ * スクロールバー設定。バー固有のメンバー (`width` / `enableThumbDrag` / `enableTrackClick` /
329
+ * `enableArrowButtons` / `enableArrowButtonTabStops`) は内包の縦バーと横バーの両方へ同じく届き、
330
+ * 設定がグリッドの片側にだけ効くことは無い。`tapScrollCircleOptions` はグリッド唯一の 2 軸サークルの
331
+ * 設定 (バーごとのサークルは抑止)、行軸の機能である `renderThumbOverlay` (可視行インデックスを
332
+ * 受け取る) と `enableScrollToTopBottomButtons` (Top / Bottom ピル) は内包 VirtualScroll の所有。
333
+ */
321
334
  scrollBarOptions?: VirtualScrollScrollBarOptions;
322
335
  liveRegion?: VirtualGridLiveRegionOptions;
323
336
  /**
@@ -370,17 +383,17 @@ export type VirtualGridHandle = {
370
383
  * frozen column is a horizontal no-op that leaves any previously armed column anchor in
371
384
  * place (the visual status quo is preserved; manual horizontal input clears anchors as
372
385
  * usual); targeting a leading/trailing frozen row is a vertical no-op. Band membership is
373
- * judged at CALL time — a T change AFTER arming follows the ADR-23 clamp semantics: a
374
- * pending row anchor whose target row lands inside the trailing band after a T increase
375
- * clamps to the last scroll row. Overlap registration (ADR-19-1): when the leading +
376
- * trailing band extents exceed the viewport, occluded trailing cells cannot be scrolled
377
- * into view — the no-op is exact there too.
386
+ * judged at CALL time — a T change AFTER arming clamps instead of remounting: a pending row
387
+ * anchor whose target row lands inside the trailing band after a T increase clamps to the
388
+ * last scroll row. Overlapping bands: when the leading + trailing band extents exceed the
389
+ * viewport, occluded trailing cells cannot be scrolled into view — the no-op is exact there
390
+ * too.
378
391
  * セル狙いジャンプ。"nearest" は無し。先頭 / 末尾凍結列狙いの横成分は no-op で、既存の
379
392
  * 列アンカーはそのまま残る (視覚的現状維持 — 手動横入力が従来どおり解除する)。先頭 /
380
393
  * 末尾凍結行狙いの縦成分も no-op。帯所属の判定は**呼出し時** — 張った後の T 変更は
381
- * ADR-23 のクランプ意味論 (T 増加で末尾帯入りする行を狙った保留行アンカーは最終
382
- * スクロール行へクランプ) に従う。重複登記 (ADR-19-1): 先頭 + 末尾の帯寸がビューポートを
383
- * 超えるとき、隠れた末尾セルはどのスクロール位置でも可視化できない — no-op はそこでも正確。
394
+ * 再マウントせずクランプする (T 増加で末尾帯入りする行を狙った保留行アンカーは最終
395
+ * スクロール行へクランプ)。帯の重なり: 先頭 + 末尾の帯寸がビューポートを超えるとき、
396
+ * 隠れた末尾セルはどのスクロール位置でも可視化できない — no-op はそこでも正確。
384
397
  */
385
398
  scrollToCell(row: number, col: number, options?: {
386
399
  alignY?: "top" | "bottom" | "center";
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualGrid.d.ts","sourceRoot":"","sources":["../src/VirtualGrid.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VirtualGrid.d.ts","sourceRoot":"","sources":["../src/VirtualGrid.tsx"],"names":[],"mappings":"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"}