@react-x11/components 0.2.1 → 0.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tree/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tree/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-x11/components",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "Components for react-x11 that do not belong in the core package",
5
5
  "keywords": [
6
6
  "react",
@@ -68,8 +68,14 @@ export class RowHeights {
68
68
  private rows: readonly Keyed[] = [];
69
69
  /** Fenwick tree over the heights, 1-based. */
70
70
  private tree: number[] = [0];
71
- /** What an unmeasured row is assumed to be. */
71
+ /** What an unmeasured row is assumed to be, effectively: the caller's
72
+ * `base`, until `adapt` has seen enough real rows to know better. */
72
73
  private estimate = 1;
74
+ /** The estimate the caller declared. A caller changing it is a caller
75
+ * changing their mind, and it wins back over adaptation. */
76
+ private base = 1;
77
+ /** Running sum of the measured map's values, so `adapt` is O(1). */
78
+ private sum = 0;
73
79
  /** Largest power of two <= n, for the O(log n) descent in `indexAt`. */
74
80
  private power = 0;
75
81
  /** Set when a measurement could not be applied in place, so the next
@@ -77,7 +83,8 @@ export class RowHeights {
77
83
  private dirty = false;
78
84
 
79
85
  constructor(estimate: number) {
80
- this.estimate = Math.max(1, estimate);
86
+ this.base = Math.max(1, estimate);
87
+ this.estimate = this.base;
81
88
  }
82
89
 
83
90
  private heightOf(index: number): number {
@@ -95,11 +102,23 @@ export class RowHeights {
95
102
  */
96
103
  sync(rows: readonly Keyed[], estimate: number): void {
97
104
  const next = Math.max(1, estimate);
98
- if (!this.dirty && this.rows === rows && next === this.estimate) return;
99
- this.dirty = false;
105
+ if (next !== this.base) {
106
+ // The caller changed their declared estimate: that wins back over
107
+ // whatever `adapt` had learnt — it is the same caller telling us the
108
+ // rows changed character.
109
+ this.base = next;
110
+ this.estimate = next;
111
+ this.dirty = true;
112
+ }
113
+ if (!this.dirty && this.rows === rows) return;
100
114
  this.rows = rows;
101
- this.estimate = next;
102
- const n = rows.length;
115
+ this.rebuild();
116
+ }
117
+
118
+ /** Rebuild the tree from the measured map and the current estimate. */
119
+ private rebuild(): void {
120
+ this.dirty = false;
121
+ const n = this.rows.length;
103
122
  // Build in O(n): write each height at its own slot, then push every slot
104
123
  // into its parent. The textbook loop of point-updates is O(n log n) and
105
124
  // arrives at the same tree.
@@ -123,6 +142,7 @@ export class RowHeights {
123
142
  const before = this.measured.get(id);
124
143
  if (before === height) return false;
125
144
  this.measured.set(id, height);
145
+ this.sum += height - (before ?? 0);
126
146
  if (this.rows[index]?.id !== id) {
127
147
  // The caller's index is stale — the rows moved under a measurement
128
148
  // that was already in flight. Applying a delta at the wrong slot would
@@ -206,6 +226,34 @@ export class RowHeights {
206
226
  return count;
207
227
  }
208
228
 
229
+ /**
230
+ * Let the estimate learn from the rows that have been measured.
231
+ *
232
+ * The fixed guess is why a measured list converges slowly: every row not
233
+ * yet seen is assumed `estimate`, the scrollbar believes the sum, and each
234
+ * newly measured row moves everything. Once enough rows have real numbers,
235
+ * their mean is a far better guess for the rest — one O(n) rebuild brings
236
+ * every unmeasured offset close to where measuring will find it, so the
237
+ * corrections that follow are small.
238
+ *
239
+ * Returns whether anything changed. **Every offset of every unmeasured row
240
+ * moves when it does** — the caller owns keeping what is on screen still,
241
+ * the same anchor arithmetic a measurement pass does. Deliberately not
242
+ * called from `measure`: the caller decides when a wholesale move is safe
243
+ * to make, which is while nothing is scrolling.
244
+ */
245
+ adapt(): boolean {
246
+ const n = this.measured.size;
247
+ if (n < 8) return false; // too few rows to say anything about the rest
248
+ const mean = Math.round(this.sum / n);
249
+ // ±1 is noise — the mean drifts by that much as single rows arrive, and
250
+ // a rebuild per drift would run at the measure rate for no visible gain.
251
+ if (Math.abs(mean - this.estimate) <= 1) return false;
252
+ this.estimate = Math.max(1, mean);
253
+ this.rebuild();
254
+ return true;
255
+ }
256
+
209
257
  /**
210
258
  * Forget every measurement, keeping the row list.
211
259
  *
@@ -217,6 +265,9 @@ export class RowHeights {
217
265
  */
218
266
  reset(): void {
219
267
  this.measured.clear();
268
+ this.sum = 0;
269
+ // adaptation came from the measurements just forgotten
270
+ this.estimate = this.base;
220
271
  this.dirty = true;
221
272
  }
222
273
  }
@@ -38,7 +38,7 @@
38
38
  // the offset differs (a slice to rebuild, a header to shift), but it is the
39
39
  // other half of the same fix and both components run it on the same tick.
40
40
 
41
- import { useCallback, useEffect, useRef } from 'react';
41
+ import { useCallback, useEffect, useMemo, useRef } from 'react';
42
42
  import type { DrawnNode, ScrollableNode } from 'react-x11';
43
43
 
44
44
  import type { RowHeights, RowKey } from './heights.js';
@@ -74,6 +74,17 @@ export interface RevealSources {
74
74
  export interface Reveal {
75
75
  /** Owe a scroll to this row, and try to pay it now. */
76
76
  to(id: RowKey): void;
77
+ /**
78
+ * The content above the viewport just changed size by `px` — measurements
79
+ * came in — and the offset must absorb the difference or what is on screen
80
+ * jumps. A debt rather than a one-shot for the same reason a reveal is:
81
+ * the pane clamps against the content height of the *last* layout, so a
82
+ * nudge made just after rows above grew taller lands short — near the
83
+ * bottom of the list, all of it lands short — and the remainder must be
84
+ * re-tried once the layout that admits the growth has run. Retried by
85
+ * `retry`, dropped by `heard`: a user mid-scroll keeps the pane.
86
+ */
87
+ nudge(px: number): void;
77
88
  /**
78
89
  * Try again: after a layout, or when the content changed size.
79
90
  *
@@ -130,6 +141,9 @@ export function useReveal(sources: RevealSources): Reveal {
130
141
  const stuck = useRef<{ y: number; content: number } | null>(null);
131
142
  const look = useRef<LayoutTick>(null);
132
143
  useEffect(() => () => cancelAfterLayout(look.current), []);
144
+ /** Pixels the pane still owes the content that grew or shrank above the
145
+ * viewport — the unpaid remainder of `nudge`. */
146
+ const owedShift = useRef(0);
133
147
 
134
148
  const scrollTo = useCallback((y: number): void => {
135
149
  const box = src.current.box.current;
@@ -145,10 +159,41 @@ export function useReveal(sources: RevealSources): Reveal {
145
159
  box.scrollTo({ y: to });
146
160
  }, []);
147
161
 
162
+ /** Pay as much of the owed shift as the pane will take right now. What it
163
+ * refuses — a clamp still measuring the last layout's content — stays
164
+ * owed, and the `retry` after the next layout tries again. */
165
+ const payShift = useCallback((): void => {
166
+ const box = src.current.box.current;
167
+ const want = owedShift.current;
168
+ if (!box || want === 0) return;
169
+ const was = box.scrollY;
170
+ scrollTo(was + want);
171
+ owedShift.current = want - (box.scrollY - was);
172
+ }, [scrollTo]);
173
+
174
+ const nudge = useCallback(
175
+ (px: number): void => {
176
+ // Either the reveal owns the pane or the anchor does. While a row is
177
+ // owed — or settled and still being confirmed — the reveal re-places
178
+ // it against the heights as they settle, so preserving the anchor
179
+ // would fight it: a remainder paid out after the reveal has already
180
+ // put its row where it belongs scrolls straight past it.
181
+ if (owed.current !== null || settled.current !== null) return;
182
+ if (px === 0) return;
183
+ owedShift.current += px;
184
+ payShift();
185
+ },
186
+ [payShift],
187
+ );
188
+
148
189
  const retry = useCallback(
149
190
  (provisional?: boolean): void => {
150
191
  const { box: boxRef, rows: rowsRef, nodes, heights } = src.current;
151
192
  const box = boxRef.current;
193
+ // The shift first: the reveal below judges placement from the offset,
194
+ // and an offset still owing the content above it is the wrong one to
195
+ // judge anything from.
196
+ payShift();
152
197
  // The heights just moved, so what the last reveal settled on was settled
153
198
  // against numbers that have changed: owe it again until it can be
154
199
  // confirmed at the new ones.
@@ -254,7 +299,7 @@ export function useReveal(sources: RevealSources): Reveal {
254
299
  retryRef.current?.();
255
300
  });
256
301
  },
257
- [scrollTo],
302
+ [scrollTo, payShift],
258
303
  );
259
304
 
260
305
  /** `retry` referring to itself through a ref, so the queued look calls the
@@ -269,6 +314,8 @@ export function useReveal(sources: RevealSources): Reveal {
269
314
  owed.current = id;
270
315
  settled.current = null;
271
316
  stuck.current = null;
317
+ // the reveal owns the pane now — see `nudge`
318
+ owedShift.current = 0;
272
319
  retry();
273
320
  },
274
321
  [retry],
@@ -280,9 +327,18 @@ export function useReveal(sources: RevealSources): Reveal {
280
327
  if (scrollY !== asked.current) {
281
328
  owed.current = null;
282
329
  settled.current = null;
330
+ owedShift.current = 0;
283
331
  }
284
332
  asked.current = null;
285
333
  }, []);
286
334
 
287
- return { to, retry, scrollTo, heard };
335
+ // One stable object, not a fresh literal per render: callbacks built on
336
+ // this handle (`revealAt`, and the row handlers behind it) keep their
337
+ // identity, which is what lets a memoized row bail out of a scroll
338
+ // render. A literal here made every row re-render on every notch — the
339
+ // exact cost the memo exists to remove — with nothing anywhere naming it.
340
+ return useMemo(
341
+ () => ({ to, retry, scrollTo, nudge, heard }),
342
+ [to, retry, scrollTo, nudge, heard],
343
+ );
288
344
  }
@@ -42,3 +42,16 @@ export function cancelAfterLayout(tick: LayoutTick): void {
42
42
  if (tick.immediate) g.clearImmediate?.(tick.id);
43
43
  else g.clearTimeout?.(tick.id);
44
44
  }
45
+
46
+ export type DelayTick = { id: unknown } | null;
47
+
48
+ /** Run `fn` after `ms` — the idle clock prefetch paces itself on. Typed here
49
+ * for the same reason `afterLayout` is: `src/` compiles with `types: []`,
50
+ * and a bare `setTimeout` would demand `@types/node`. */
51
+ export function later(fn: () => void, ms: number): DelayTick {
52
+ return g.setTimeout ? { id: g.setTimeout(fn, ms) } : null;
53
+ }
54
+
55
+ export function cancelLater(tick: DelayTick): void {
56
+ if (tick) g.clearTimeout?.(tick.id);
57
+ }