You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DEVELOPMENT.md
+14-14Lines changed: 14 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,14 +13,14 @@ bun install
13
13
-`bun run check` — typecheck, lint, and dead-code scan (`knip`)
14
14
-`bun test` — small durable invariant suite
15
15
16
-
### Packaging And Release Confidence
16
+
### Packaging And Release
17
17
18
18
-`bun run build:package` — emit `dist/` for the published ESM package
19
19
-`bun run package-smoke-test` — pack the tarball and verify temporary JS + TS consumers
20
20
-`bun run site:build` — build the static demo site into `site/`
21
21
-`bun run generate:bidi-data` — refresh the checked-in simplified Unicode bidi ranges
22
22
23
-
`prepack` also rebuilds `dist/` through plain `tsc`, so keep runtime `.js` specifiers honest in source imports.
23
+
`prepack` also rebuilds `dist/` through plain `tsc`, so source imports need `.js` specifiers that remain valid in the emitted files.
24
24
25
25
### Browser Accuracy And Benchmarking
26
26
@@ -32,15 +32,15 @@ bun install
32
32
-`bun run accuracy-snapshot:firefox`
33
33
-`bun run benchmark-check` — Chrome benchmark snapshot; default is the median of 3 full page runs, use `--runs=1` for a quick local check
34
34
-`bun run benchmark-check:safari`
35
-
-`bun run pre-wrap-check` — compact batched browser oracle for `{ whiteSpace: 'pre-wrap' }`
36
-
-`bun run keep-all-check` — compact batched browser oracle for `{ wordBreak: 'keep-all' }`, including mixed-script no-space canaries
37
-
-`bun run symbol-check` — compact batched Chrome + Safari oracle for no-space symbol runs inside long words
38
-
-`bun run letter-spacing-check` — compact batched Chrome + Safari oracle for `{ letterSpacing }`
39
-
-`bun run letter-spacing-snapshot` — refresh `accuracy/letter-spacing.json` from the Chrome + Safari compact `{ letterSpacing }`oracle
40
-
-`bun run probe-check` — smaller browser probe/diagnostic entrypoint
35
+
-`bun run pre-wrap-check` — small batched browser check for `{ whiteSpace: 'pre-wrap' }`
36
+
-`bun run keep-all-check` — small batched browser check for `{ wordBreak: 'keep-all' }`, including mixed-script text without spaces
37
+
-`bun run symbol-check` — small batched Chrome + Safari check for symbol runs inside long words
38
+
-`bun run letter-spacing-check` — small batched Chrome + Safari check for `{ letterSpacing }`
39
+
-`bun run letter-spacing-snapshot` — refresh `accuracy/letter-spacing.json` from the Chrome + Safari `{ letterSpacing }`check
40
+
-`bun run probe-check` — smaller browser diagnostic
41
41
-`bun run probe-check:safari`
42
42
43
-
Probe output includes a break trace on first-break mismatches. `sN:gM`is a segment/grapheme position; `[ours]` and `[browser]`mark the competing boundaries. For extractor-sensitive Safari cases, cross-check`--method=span` before changing the engine.
43
+
When a probe finds a first-break mismatch, the report includes a short trace. `sN:gM`identifies a segment and grapheme; `[ours]` and `[browser]`identify the competing break positions. Safari `Range` extraction can be wrong around preserved whitespace and URL queries even when the rendered height is correct, so compare`--method=span` before changing the engine.
44
44
45
45
### Corpus Tooling
46
46
@@ -50,7 +50,7 @@ Probe output includes a break trace on first-break mismatches. `sN:gM` is a segm
50
50
-`bun run corpus-sweep:safari` — maintained Safari `step=10` corpus width sweep
51
51
-`bun run corpus-font-matrix` — same corpus under alternate fonts
52
52
-`bun run corpus-font-matrix:safari`
53
-
-`bun run corpus-taxonomy` — classify a mismatch field into steering buckets
53
+
-`bun run corpus-taxonomy` — group corpus mismatches by likely cause
54
54
-`bun run corpus-status` — rebuild `corpora/dashboard.json`
55
55
-`bun run corpus-status:refresh` — refresh Chrome and Safari `step=10` sweeps, then the corpus dashboard
56
56
@@ -67,16 +67,16 @@ Probe output includes a break trace on first-break mismatches. `sN:gM` is a segm
67
67
68
68
## Current Dashboards And Snapshots
69
69
70
-
Use these for the current checked-in picture:
70
+
Use these for the current checked-in results:
71
71
72
72
-[status/dashboard.json](status/dashboard.json) — machine-readable main dashboard
73
73
-[accuracy/chrome.json](accuracy/chrome.json), [accuracy/safari.json](accuracy/safari.json), [accuracy/firefox.json](accuracy/firefox.json) — raw browser accuracy rows
-[accuracy/letter-spacing.json](accuracy/letter-spacing.json) — results from the small Chrome + Safari `{ letterSpacing }`check
75
75
-[benchmarks/chrome.json](benchmarks/chrome.json), [benchmarks/safari.json](benchmarks/safari.json) — raw benchmark snapshots
76
76
-[corpora/dashboard.json](corpora/dashboard.json) — machine-readable corpus dashboard
77
77
-[corpora/chrome-step10.json](corpora/chrome-step10.json), [corpora/safari-step10.json](corpora/safari-step10.json) — checked-in browser `step=10` corpus sweep snapshots
78
78
79
-
[PLATFORM_BUGS.md](PLATFORM_BUGS.md)is the current browser/OS issue and workaround ledger. [RESEARCH.md](RESEARCH.md) keeps durable findings and rejected approaches; it is not a source for current counts or tracker status.
79
+
[PLATFORM_BUGS.md](PLATFORM_BUGS.md)lists current browser and OS issues and their workarounds. [RESEARCH.md](RESEARCH.md) keeps durable findings and rejected approaches; it is not a source for current counts or issue status.
80
80
81
81
## Deep Profiling
82
82
@@ -87,4 +87,4 @@ For one-off performance and memory work, start with `bun start` and an isolated,
87
87
- Use heap sampling for allocation churn.
88
88
- Diff forced-GC heap snapshots for retained memory.
89
89
90
-
Bun/Node microbenchmarks are useful for cheap hypotheses, but browser behavior needs browser evidence.
90
+
Bun/Node microbenchmarks are useful for quick experiments, but browser behavior needs browser measurements.
0 commit comments