2c3d88c81f
feat(CompareBoard): add measureRoleHeight via Pretext line count
Ilia Mashkov2026-06-24 13:49:23 +03:00
0e9288c295
feat(shared): add ensureCanvasFonts canvas-warm helper
Ilia Mashkov2026-06-24 13:49:13 +03:00
dbd48b287d
feat(shared): add getPretextFontString formatter
Ilia Mashkov2026-06-24 13:49:02 +03:00
f29e0b0c7c
feat(Pairing): add nextFocalId cycle math and expose slice API
Ilia Mashkov2026-06-24 13:48:50 +03:00
91bb046339
feat(Pairing): add createPairing id factory
Ilia Mashkov2026-06-24 13:21:30 +03:00
f680fe01ea
feat(Pairing): add comboKey natural-key derivation
Ilia Mashkov2026-06-24 13:21:29 +03:00
d37d01e6d8
feat(Pairing): add Pairing and Role types
Ilia Mashkov2026-06-24 13:21:29 +03:00
c78b8e032e
Merge pull request 'Feature/adaptive crossfade window' (#50) from feature/adaptive-crossfade-window into main
main
ilia2026-06-06 06:05:08 +00:00
11d5ba0e63
refactor(ComparisonView): extract strut-height and settled-text from Line
Ilia Mashkov2026-06-06 08:59:21 +03:00
99e9a1fb2c
docs(Font): record short-line crossfade pop tradeoff on WINDOW_MIN
Ilia Mashkov2026-06-03 16:13:16 +03:00
5084df3914
test(e2e): document single-line ASCII constraint on preview sample
Ilia Mashkov2026-06-03 16:10:31 +03:00
a2ec025a65
test(e2e): assert crossfade window against the sizing rule
Ilia Mashkov2026-06-03 16:07:48 +03:00
8dbea97a33
docs(ComparisonView): note per-line window sizing in Line header
Ilia Mashkov2026-06-03 16:06:35 +03:00
744cdc9d19
refactor(ComparisonView): size crossfade window per line
Ilia Mashkov2026-06-03 16:03:51 +03:00
600b905e01
feat(Font): add windowSizeForLine crossfade-window policy
Ilia Mashkov2026-06-03 16:00:29 +03:00
4ad0fe4cfa
Merge pull request 'Refactor/reacrhitecture to fsd+' (#49) from refactor/reacrhitecture-to-fsd+ into main
ilia2026-06-03 09:55:46 +00:00
eafe89b313
test: change old test to work with new grapheme split mechanism
Ilia Mashkov2026-06-03 12:50:03 +03:00
724b00d3d5
test(layoutStore): silence expected warn in invalid-JSON case
Ilia Mashkov2026-06-03 11:45:13 +03:00
c09ca93f4e
perf(test): stop typographySettings pulling @tanstack for four constants
Ilia Mashkov2026-06-03 10:52:29 +03:00
3dca11fea8
refactor(theme): replace themeManager singleton with lazy getThemeManager
Ilia Mashkov2026-06-01 18:39:17 +03:00
0b675635b3
refactor(filters): replace filter/sort store singletons with lazy accessors
Ilia Mashkov2026-06-01 18:37:18 +03:00
9780ff9358
refactor(filters): mount-scope store bindings and fix effect-update loop
Ilia Mashkov2026-06-01 17:25:26 +03:00
1ad015aed6
refactor(comparison): replace comparisonStore singleton with lazy getComparisonStore
Ilia Mashkov2026-06-01 17:25:05 +03:00
10603d18bf
refactor(font): replace fontCatalogStore singleton with lazy getFontCatalog
Ilia Mashkov2026-06-01 17:24:55 +03:00
39d1ce4c37
refactor(FontSampler): remove $derived, since props are already reactive
Ilia Mashkov2026-06-01 16:49:59 +03:00
fcd61be4fa
refactor(font): inject font-load status as a prop, decoupling UI from the store
Ilia Mashkov2026-06-01 12:06:30 +03:00
28a8e49915
refactor(font): keep @tanstack out of the entity public API barrel
Ilia Mashkov2026-06-01 11:49:53 +03:00
43e8507144
Merge branch 'main' into refactor/reacrhitecture-to-fsd+
Ilia Mashkov2026-06-01 10:43:29 +03:00
67af3d946a
Merge pull request 'chore: introduce font files caching and compressing' (#46) from chore/font-files-caching into main
ilia2026-06-01 07:42:51 +00:00
c6d0270072
chore: introduce font files caching and compressing
Ilia Mashkov2026-06-01 10:37:50 +03:00
a677dc6b0b
Merge branch 'main' into refactor/reacrhitecture-to-fsd+
Ilia Mashkov2026-06-01 10:21:42 +03:00
f7cd6b5081
Merge pull request 'Feature/local fonts' (#45) from feature/local-fonts into main
ilia2026-06-01 07:20:21 +00:00
dda8ef6368
docs(styles): strip decorative comment banners from app.css
Ilia Mashkov2026-06-01 10:11:42 +03:00
d77b51736a
fix(styles): default body font to Inter, drop unloaded Karla
Ilia Mashkov2026-06-01 10:06:18 +03:00
1e16330097
refactor(fonts): drop Google Fonts CDN links, preload self-hosted faces
Ilia Mashkov2026-06-01 10:06:12 +03:00
c41016ac5d
feat(fonts): self-host interface fonts as vendored latin woff2
Ilia Mashkov2026-06-01 10:06:07 +03:00
aa4189f6a8
chore(app): declare *.woff2?url module type for asset imports
Ilia Mashkov2026-06-01 10:05:33 +03:00
17c022470e
refactor(font): expose stores via model segment, not the top barrel
Ilia Mashkov2026-05-31 20:06:33 +03:00
a9f3b990ab
chore: declare sideEffects allowlist for tree-shaking
Ilia Mashkov2026-05-31 20:06:22 +03:00
36673597f7
refactor(breadcrumb): relocate Breadcrumb slice from entities to features
Ilia Mashkov2026-05-31 19:30:56 +03:00