Commit Graph

  • c78b8e032e Merge pull request 'Feature/adaptive crossfade window' (#50) from feature/adaptive-crossfade-window into main main ilia 2026-06-06 06:05:08 +00:00
  • 11d5ba0e63 refactor(ComparisonView): extract strut-height and settled-text from Line Ilia Mashkov 2026-06-06 08:59:21 +03:00
  • 99e9a1fb2c docs(Font): record short-line crossfade pop tradeoff on WINDOW_MIN Ilia Mashkov 2026-06-03 16:13:16 +03:00
  • 5084df3914 test(e2e): document single-line ASCII constraint on preview sample Ilia Mashkov 2026-06-03 16:10:31 +03:00
  • a2ec025a65 test(e2e): assert crossfade window against the sizing rule Ilia Mashkov 2026-06-03 16:07:48 +03:00
  • 8dbea97a33 docs(ComparisonView): note per-line window sizing in Line header Ilia Mashkov 2026-06-03 16:06:35 +03:00
  • 744cdc9d19 refactor(ComparisonView): size crossfade window per line Ilia Mashkov 2026-06-03 16:03:51 +03:00
  • 600b905e01 feat(Font): add windowSizeForLine crossfade-window policy Ilia Mashkov 2026-06-03 16:00:29 +03:00
  • 4ad0fe4cfa Merge pull request 'Refactor/reacrhitecture to fsd+' (#49) from refactor/reacrhitecture-to-fsd+ into main ilia 2026-06-03 09:55:46 +00:00
  • eafe89b313 test: change old test to work with new grapheme split mechanism Ilia Mashkov 2026-06-03 12:50:03 +03:00
  • 724b00d3d5 test(layoutStore): silence expected warn in invalid-JSON case Ilia Mashkov 2026-06-03 11:45:13 +03:00
  • c09ca93f4e perf(test): stop typographySettings pulling @tanstack for four constants Ilia Mashkov 2026-06-03 10:52:29 +03:00
  • 99ab7e9e08 refactor(shared/ui): stop deep-importing sibling config/types (C-3) Ilia Mashkov 2026-06-03 10:36:15 +03:00
  • ec488cf1ce docs(ComparisonView): document the injected store fields Ilia Mashkov 2026-06-03 10:26:00 +03:00
  • fe07c60dd4 refactor: adopt createSingleton across the remaining stores Ilia Mashkov 2026-06-03 10:22:41 +03:00
  • 0aae710e35 fix: dispose persistent-store effects; close comparisonStore effect leak Ilia Mashkov 2026-06-03 10:16:47 +03:00
  • ded9606c30 fix(shared): give createPersistentStore a destroy() to dispose its effect.root Ilia Mashkov 2026-06-03 10:00:21 +03:00
  • f0736f4d35 feat(shared): add createSingleton lazy-singleton accessor helper Ilia Mashkov 2026-06-03 09:39:51 +03:00
  • 5eb458eabb refactor(ComparisonView): import typography store via root barrel Ilia Mashkov 2026-06-03 08:57:04 +03:00
  • a428eac309 docs: remove decorative separator comments Ilia Mashkov 2026-06-03 08:45:36 +03:00
  • 09869aed00 refactor(entities/Font): relocate FontSampler from DisplayFont, invert typography Ilia Mashkov 2026-06-03 08:34:49 +03:00
  • 028853aff5 chore: drop stale bindings.svelte.ts from sideEffects allowlist Ilia Mashkov 2026-06-02 23:34:08 +03:00
  • 1c6427c586 chore: drop vestigial $lib alias Ilia Mashkov 2026-06-02 23:17:27 +03:00
  • 60e115309c refactor(shared/api): lazify queryClient to remove eager-construction footgun Ilia Mashkov 2026-06-02 23:13:03 +03:00
  • b390efdabe refactor(entities/Font): named public API and expose stores via root barrel Ilia Mashkov 2026-06-02 23:02:30 +03:00
  • 771bda745c refactor: replace export* barrels with explicit named exports Ilia Mashkov 2026-06-02 23:02:18 +03:00
  • c6c8497906 fix: break import cycles Ilia Mashkov 2026-06-02 23:02:07 +03:00
  • f3a10e38df refactor: clear remaining lint errors (comma operator, bind:this ref) Ilia Mashkov 2026-06-02 23:01:59 +03:00
  • 9788f07dec refactor: remove unused vars and dead code Ilia Mashkov 2026-06-02 23:01:48 +03:00
  • deefb51b57 chore(lint): repair oxlint config and enforce FSD boundaries Ilia Mashkov 2026-06-02 23:01:04 +03:00
  • 431fb41a7f chore: merged with main, conflict resolved Ilia Mashkov 2026-06-02 21:52:33 +03:00
  • db6384110e Merge pull request 'Feature/popover' (#48) from feature/popover into main ilia 2026-06-02 18:47:17 +00:00
  • cbd95350bb fix(popover): stop animating left/top so first open doesn't slide from corner Ilia Mashkov 2026-06-02 21:38:48 +03:00
  • a8a985ee6a chore: remove bits-ui dependency Ilia Mashkov 2026-06-02 17:08:58 +03:00
  • be073286dc refactor(typography-menu): use native Popover instead of bits-ui Ilia Mashkov 2026-06-02 16:28:05 +03:00
  • 7798c4bbdf refactor(combo-control): use native Popover instead of bits-ui Ilia Mashkov 2026-06-02 16:21:32 +03:00
  • 3ae22ad515 docs(popover): add storybook stories Ilia Mashkov 2026-06-02 16:16:28 +03:00
  • ffa897ee54 test(popover): cover open/close state and aria wiring Ilia Mashkov 2026-06-02 16:13:40 +03:00
  • 93c52dd132 fix(popover): gate visibility until positioned, tighten types Ilia Mashkov 2026-06-02 16:12:11 +03:00
  • 9e0c8f740b feat(popover): native Popover API component with anchored positioning Ilia Mashkov 2026-06-02 16:06:20 +03:00
  • b1b5177e02 test: add jsdom Popover API shim Ilia Mashkov 2026-06-02 16:03:54 +03:00
  • ef9cd33e48 feat(popover): add pure anchored-positioning math Ilia Mashkov 2026-06-02 15:59:58 +03:00
  • f3c76df2c5 Merge pull request 'Feature/slider' (#47) from feature/slider into main ilia 2026-06-02 12:10:42 +00:00
  • ae2d0e3c2f fix(slider): focus thumb on pointerdown for keyboard parity Ilia Mashkov 2026-06-02 11:14:10 +03:00
  • 3f5151efa0 docs(slider): update story copy for native implementation Ilia Mashkov 2026-06-02 11:08:58 +03:00
  • 19d9b07c55 test(slider): centralize jsdom pointer shims and add vertical drag test Ilia Mashkov 2026-06-02 11:08:07 +03:00
  • 1209358d40 test(slider): cover keyboard and pointer interaction Ilia Mashkov 2026-06-02 11:02:52 +03:00
  • d7decd7a00 fix(slider): normalize value, reactive trackEl, aria-valuetext Ilia Mashkov 2026-06-02 11:01:08 +03:00
  • 9d6220d2ec feat(slider): reimplement natively without bits-ui Ilia Mashkov 2026-06-02 10:54:54 +03:00
  • 4756682863 feat(slider): add pure value/position math helpers Ilia Mashkov 2026-06-02 10:50:46 +03:00
  • 7ddf232e3a refactor(sample-list): replace layoutManager singleton with lazy accessor Ilia Mashkov 2026-06-02 09:09:20 +03:00
  • b3bc40b76c refactor(font): replace fontLifecycleManager singleton with lazy accessor Ilia Mashkov 2026-06-01 18:49:47 +03:00
  • 839460726e refactor(breadcrumb): replace scrollBreadcrumbsStore singleton with lazy accessor Ilia Mashkov 2026-06-01 18:46:10 +03:00
  • 6877807aaf refactor(typography): lazy getTypographySettingsStore + fix effect leak Ilia Mashkov 2026-06-01 18:44:17 +03:00
  • 3dca11fea8 refactor(theme): replace themeManager singleton with lazy getThemeManager Ilia Mashkov 2026-06-01 18:39:17 +03:00
  • 0b675635b3 refactor(filters): replace filter/sort store singletons with lazy accessors Ilia Mashkov 2026-06-01 18:37:18 +03:00
  • 9780ff9358 refactor(filters): mount-scope store bindings and fix effect-update loop Ilia Mashkov 2026-06-01 17:25:26 +03:00
  • 1ad015aed6 refactor(comparison): replace comparisonStore singleton with lazy getComparisonStore Ilia Mashkov 2026-06-01 17:25:05 +03:00
  • 10603d18bf refactor(font): replace fontCatalogStore singleton with lazy getFontCatalog Ilia Mashkov 2026-06-01 17:24:55 +03:00
  • 39d1ce4c37 refactor(FontSampler): remove $derived, since props are already reactive Ilia Mashkov 2026-06-01 16:49:59 +03:00
  • fcd61be4fa refactor(font): inject font-load status as a prop, decoupling UI from the store Ilia Mashkov 2026-06-01 12:06:30 +03:00
  • 28a8e49915 refactor(font): keep @tanstack out of the entity public API barrel Ilia Mashkov 2026-06-01 11:49:53 +03:00
  • 43e8507144 Merge branch 'main' into refactor/reacrhitecture-to-fsd+ Ilia Mashkov 2026-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 ilia 2026-06-01 07:42:51 +00:00
  • c6d0270072 chore: introduce font files caching and compressing Ilia Mashkov 2026-06-01 10:37:50 +03:00
  • a677dc6b0b Merge branch 'main' into refactor/reacrhitecture-to-fsd+ Ilia Mashkov 2026-06-01 10:21:42 +03:00
  • f7cd6b5081 Merge pull request 'Feature/local fonts' (#45) from feature/local-fonts into main ilia 2026-06-01 07:20:21 +00:00
  • dda8ef6368 docs(styles): strip decorative comment banners from app.css Ilia Mashkov 2026-06-01 10:11:42 +03:00
  • d77b51736a fix(styles): default body font to Inter, drop unloaded Karla Ilia Mashkov 2026-06-01 10:06:18 +03:00
  • 1e16330097 refactor(fonts): drop Google Fonts CDN links, preload self-hosted faces Ilia Mashkov 2026-06-01 10:06:12 +03:00
  • c41016ac5d feat(fonts): self-host interface fonts as vendored latin woff2 Ilia Mashkov 2026-06-01 10:06:07 +03:00
  • aa4189f6a8 chore(app): declare *.woff2?url module type for asset imports Ilia Mashkov 2026-06-01 10:05:33 +03:00
  • 17c022470e refactor(font): expose stores via model segment, not the top barrel Ilia Mashkov 2026-05-31 20:06:33 +03:00
  • a9f3b990ab chore: declare sideEffects allowlist for tree-shaking Ilia Mashkov 2026-05-31 20:06:22 +03:00
  • 36673597f7 refactor(breadcrumb): relocate Breadcrumb slice from entities to features Ilia Mashkov 2026-05-31 19:30:56 +03:00
  • 42bcc915c7 chore(lint): enable import/no-cycle Ilia Mashkov 2026-05-31 19:16:44 +03:00
  • c72b51b1c7 refactor(shared): keep BaseQueryStore out of the lib barrels Ilia Mashkov 2026-05-31 19:16:44 +03:00
  • 6888f67f14 test(Font): make queryClient mock factory self-contained Ilia Mashkov 2026-05-31 17:51:34 +03:00
  • a651d3d16f refactor(font): absorb FetchFontsByIds store into Font entity Ilia Mashkov 2026-05-31 17:49:59 +03:00
  • 4d8dcf52e0 refactor: move BaseQueryStore into separate directory, adjust exports/imports Ilia Mashkov 2026-05-31 17:33:06 +03:00
  • 907145c655 refactor(shared): drop createTypographyControl from shared/lib Ilia Mashkov 2026-05-31 17:08:55 +03:00
  • e49148008b refactor(Font): remove typography-control config, keep render defaults Ilia Mashkov 2026-05-31 17:08:48 +03:00
  • c613d4cf88 refactor(AdjustTypography): consume typography-control module from its new home Ilia Mashkov 2026-05-31 17:04:51 +03:00
  • 7834c7cbf2 refactor(AdjustTypography): add typography-control module (factory, types, constants) Ilia Mashkov 2026-05-31 16:52:37 +03:00
  • 4640d6e521 test(shared): test ComboControl against NumericControl mock, not the factory Ilia Mashkov 2026-05-31 16:50:55 +03:00
  • 8adf5cd7b3 refactor(shared): ComboControl owns its NumericControl + ControlLabels contract Ilia Mashkov 2026-05-31 16:45:04 +03:00
  • b8edeff86f refactor(font): move test fixtures into a dedicated testing segment Ilia Mashkov 2026-05-31 14:08:25 +03:00
  • 7d66b0bc92 refactor(font): extract glyph-comparison logic into a domain segment Ilia Mashkov 2026-05-31 14:08:09 +03:00
  • ecdb2f1b7f refactor(shared): remove deprecated TextLayoutEngine and its re-exports Ilia Mashkov 2026-05-31 13:36:39 +03:00
  • 6a07b89773 refactor(font): remove CharacterComparisonEngine, superseded by DualFontLayout Ilia Mashkov 2026-05-31 13:36:39 +03:00
  • 02aa27dc48 refactor(comparison): drop no-op displayChar mapping Ilia Mashkov 2026-05-31 13:25:33 +03:00
  • 4652857512 fix(comparison): lay out lines to the content box, not a padding guess Ilia Mashkov 2026-05-31 13:25:13 +03:00
  • d5f0814efc fix(comparison): stabilize line rendering, cut per-tick re-renders Ilia Mashkov 2026-05-31 13:24:14 +03:00
  • 6153769317 refactor(comparison): switch to 3-section render model via DualFontLayout Ilia Mashkov 2026-05-30 22:29:43 +03:00
  • 3e568685b3 refactor(font): drop unnecessary PretextInternals shim, use pretext type directly Ilia Mashkov 2026-05-30 22:27:44 +03:00
  • 581ffb5887 refactor(font): re-export dualFontLayout from Font entity public API Ilia Mashkov 2026-05-30 22:13:26 +03:00
  • 2ece4c5559 test(font): port DualFontLayout tests, drop per-char-state cases Ilia Mashkov 2026-05-30 22:12:29 +03:00
  • 1fa099bef5 refactor(font): port engine to DualFontLayout with typed pretext internals Ilia Mashkov 2026-05-30 22:12:00 +03:00
  • 50238e12c3 refactor(findSplitIndex): remove one for cycle Ilia Mashkov 2026-05-30 22:10:17 +03:00
  • f13dfe1caf chore: add jsdoc comment Ilia Mashkov 2026-05-30 22:06:47 +03:00