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
| Dark mode | Light/dark theme toggle with `localStorage` persistence | :heavy_check_mark:
31
31
| File import (TXT, DOCX, PDF, EPUB) | Import files via advanced mode toggle — parsed client-side, files never leave the browser | :heavy_check_mark:
32
32
| Bionic EPUB export | Export a bionic-formatted `.epub` file with `<b>` fixation points applied to all HTML chapters | :heavy_check_mark:
33
+
| [57× Unicode speedup][perf-commit] | Hoist `toUnicodeVariant` constants to module scope — data structures built once at load time instead of once per word | :heavy_check_mark:
33
34
| Show characters | Display Characters after textarea | backlog
Unicode mode (`toUnicodeVariant`) was originally rebuilding all data structures on every call. [Hoisting constants to module scope][perf-commit] reduced the per-call overhead to zero, yielding a **57× throughput improvement** on a 500-word document (86 ops/s → 4,915 ops/s).
49
+
50
+
| Mode | 500-word document |
51
+
|---|---|
52
+
| CSS mode (default) |~15,700 ops/s |
53
+
| Unicode mode (after fix) |~4,900 ops/s |
54
+
55
+
Run the benchmark yourself: `npm run bench`
56
+
43
57
## PDF functionality
44
58

0 commit comments