Commit Graph

  • 5b81be6614 Merge pull request 'feature/pretext' (#34) from feature/pretext into main main ilia 2026-04-14 07:12:41 +00:00
  • a74abbb0b3 feat: wire createFontRowSizeResolver into SampleList for pretext-backed row heights Ilia Mashkov 2026-04-13 13:23:03 +03:00
  • 20accb9c93 feat: implement createFontRowSizeResolver with canvas-measured heights and reactive status check Ilia Mashkov 2026-04-13 08:54:19 +03:00
  • 46b9db1db3 feat: export ItemSizeResolver type and document reactive estimateSize contract Ilia Mashkov 2026-04-12 19:43:44 +03:00
  • 4b017a83bb fix: add missing JSDoc, return types, and as-any comments to layout engines Ilia Mashkov 2026-04-12 09:51:36 +03:00
  • 49822f8af7 feat: install pretext library Ilia Mashkov 2026-04-12 09:08:01 +03:00
  • 338ca9b4fd feat: export TextLayoutEngine and CharacterComparisonEngine from shared helpers index Ilia Mashkov 2026-04-11 16:44:49 +03:00
  • 99f662e2d5 fix: iterate pre-computed chars array in Line.svelte to fix unicode grapheme splitting bug Ilia Mashkov 2026-04-11 16:26:41 +03:00
  • 5977e0a0dc fix: correct advances null-check in CharacterComparisonEngine and remove unused TextLayoutEngine dep Ilia Mashkov 2026-04-11 16:14:28 +03:00
  • 2b0d8470e5 test: fix CharacterComparisonEngine tests — correct env directive, canvas mock, and full spec coverage Ilia Mashkov 2026-04-11 16:14:24 +03:00
  • 351ee9fd52 docs: add inline documentation to TextLayoutEngine Ilia Mashkov 2026-04-11 16:10:01 +03:00
  • a526a51af8 test: fix TextLayoutEngine tests — correct jsdom directive placement and canvas mock setup Ilia Mashkov 2026-04-11 15:48:52 +03:00
  • fcde78abad test: add canvas mock helper for pretext-based engine tests Ilia Mashkov 2026-04-11 15:48:47 +03:00
  • 26737f2f11 Merge pull request 'chore/purge-unused' (#33) from chore/purge-unused into main ilia 2026-04-10 14:31:27 +00:00
  • d9fa2bc501 refactor: consolidate font domain and model types into font.ts Ilia Mashkov 2026-04-10 17:29:15 +03:00
  • 5f38996665 chore: purge legacy font provider types and normalization logic Ilia Mashkov 2026-04-10 16:05:57 +03:00
  • d70fc9f918 Merge pull request 'feat/font-store-merge' (#32) from feat/font-store-merge into main ilia 2026-04-10 05:13:39 +00:00
  • 14dbd374ec refactor: replace unifiedFontStore with fontStore in comparisonStore tests Ilia Mashkov 2026-04-10 08:06:51 +03:00
  • dc6e15492a test: mock fontStore and update FontStore type signatures Ilia Mashkov 2026-04-09 19:40:31 +03:00
  • 45eac0c396 refactor: delete BaseFontStore and UnifiedFontStore — FontStore is the single implementation Ilia Mashkov 2026-04-08 10:07:36 +03:00
  • ed7d31bf5c refactor: migrate all callers from unifiedFontStore to fontStore Ilia Mashkov 2026-04-08 10:00:30 +03:00
  • 468d2e7f8c feat(FontStore): export through entity barrel files Ilia Mashkov 2026-04-08 09:55:40 +03:00
  • 2a761b9d47 feat(FontStore): implement lifecycle, param management, async methods, shortcuts, pagination, category getters, singleton — all tests green Ilia Mashkov 2026-04-08 09:54:27 +03:00
  • a9e4633b64 feat(FontStore): implement fetchPage with error wrapping Ilia Mashkov 2026-04-08 09:50:16 +03:00
  • 778988977f feat(FontStore): implement state getters, pagination, buildQueryKey, buildOptions Ilia Mashkov 2026-04-08 09:47:25 +03:00
  • 9a9ff95bf3 test(FontStore): write full TDD spec and empty shell (InfiniteQueryObserver) Ilia Mashkov 2026-04-08 09:43:29 +03:00
  • 7517678e87 chore: add .worktrees to .gitignore for isolated development Ilia Mashkov 2026-04-08 09:37:47 +03:00
  • 4281d94d66 Merge pull request 'refactor/code-splitting' (#31) from refactor/code-splitting into main ilia 2026-04-08 06:34:19 +00:00
  • 752e38adf9 test: full test coverage of baseFontStore and unifiedFontStore Ilia Mashkov 2026-04-08 09:33:04 +03:00
  • 9c538069e4 test(UnifiedFontStore): add isEmpty and destroy tests Ilia Mashkov 2026-04-06 12:26:08 +03:00
  • 71fed58af9 test(UnifiedFontStore): add category getter tests Ilia Mashkov 2026-04-06 12:24:23 +03:00
  • fee3355a65 test(UnifiedFontStore): add filter change reset tests Ilia Mashkov 2026-04-06 12:19:49 +03:00
  • 2ff7f1a13d test(UnifiedFontStore): add filter setter tests Ilia Mashkov 2026-04-06 11:35:56 +03:00
  • 6bf1b1ea87 test(UnifiedFontStore): add pagination navigation tests Ilia Mashkov 2026-04-06 11:34:53 +03:00
  • 3ef012eb43 test(UnifiedFontStore): add pagination state tests Ilia Mashkov 2026-04-06 11:34:03 +03:00
  • 5df60b236c test(UnifiedFontStore): cover fetchFn typed error paths and error getter Ilia Mashkov 2026-04-05 14:59:17 +03:00
  • df3c694909 feat(UnifiedFontStore): throw FontNetworkError and FontResponseError in fetchFn Ilia Mashkov 2026-04-05 14:06:32 +03:00
  • a1a1fcf39d feat(BaseFontStore): expose error getter Ilia Mashkov 2026-04-05 11:03:00 +03:00
  • b40e651be4 refactor(Font/model): move baseFontStore and unifiedFontStore to subdirectories, rename errors/index to errors/errors Ilia Mashkov 2026-04-05 11:02:42 +03:00
  • 9427f4e50f feat(Font): re-export FontNetworkError and FontResponseError from entity barrel Ilia Mashkov 2026-04-05 09:33:58 +03:00
  • ed9791c176 feat(Font/lib): add FontNetworkError and FontResponseError Ilia Mashkov 2026-04-05 09:04:47 +03:00
  • c6dabafd93 chore(appliedFontsStore): move FontBufferCache, FontEvicionPolicy and FontLoadQueue to appliedFontsStore/utils Ilia Mashkov 2026-04-05 08:24:11 +03:00
  • e88cca9289 test(FontBufferCache): change mock fetcher type Ilia Mashkov 2026-04-04 16:43:54 +03:00
  • d4cf6764b4 test(appliedFontsStore): rewrite tests with describe grouping and full coverage Ilia Mashkov 2026-04-04 10:38:20 +03:00
  • 5a065ae5a1 refactor: extract #fetchChunk, replace Promise.allSettled with self-describing results Ilia Mashkov 2026-04-04 09:58:41 +03:00
  • 20110168f2 refactor: extract #processFont and #scheduleProcessing from touch and #processQueue Ilia Mashkov 2026-04-04 09:52:45 +03:00
  • f88729cc77 fix: guard AbortError from retry counting; eviction policy removes stale keys Ilia Mashkov 2026-04-04 09:40:21 +03:00
  • d21de1bf78 chore(appliedFontsStore): use created collaborators classes Ilia Mashkov 2026-04-03 16:09:10 +03:00
  • bc4ab58644 fix(buildQueryString): change the way the searchParams built Ilia Mashkov 2026-04-03 16:08:15 +03:00
  • 37e0c29788 refactor: loadFont throws FontParseError instead of re-throwing raw error Ilia Mashkov 2026-04-03 15:42:08 +03:00
  • 46ce0f7aab feat: extract FontBufferCache with injectable fetcher Ilia Mashkov 2026-04-03 15:24:14 +03:00
  • 128f341399 feat: extract FontEvictionPolicy with TTL and pin/unpin Ilia Mashkov 2026-04-03 15:06:01 +03:00
  • 64b97794a6 feat: extract FontLoadQueue with retry tracking Ilia Mashkov 2026-04-03 15:01:36 +03:00
  • d6eb02bb28 feat: add FontFetchError and FontParseError typed errors Ilia Mashkov 2026-04-03 14:44:06 +03:00
  • a711e4e12a chore(appliedFontsStore): move generateFontKey into separate function and cover it with tests Ilia Mashkov 2026-04-03 12:50:50 +03:00
  • 05e4c082ed feat(appliedFontsStore): move font loading logic into loadFont function and cover it with tests Ilia Mashkov 2026-04-03 12:26:23 +03:00
  • b602b5022b chore(appliedFontsStore): move the FontLoadRequestConfig type and other types from appliedFontsStore into types directory Ilia Mashkov 2026-04-03 12:25:38 +03:00
  • 5249d88df7 feat(appliedFontsStore): create separate yieldToMainThread function with proper tests Ilia Mashkov 2026-04-03 11:05:29 +03:00
  • e553cf1f10 feat(appliedFontsStore): create separate getEffectiveConcurrency function with proper tests Ilia Mashkov 2026-04-03 11:03:48 +03:00
  • 0fdded79d7 test: change globals to true to use vitest tools without importing them Ilia Mashkov 2026-04-03 11:02:17 +03:00
  • 8dbfde882f Merge pull request 'fix(appliedFontsStore): solve ttl based fonts purge by adding cache for on-screen fonts' (#30) from fix/ttl-based-purge into main ilia 2026-04-03 06:38:00 +00:00
  • a6c8b50cea fix(appliedFontsStore): solve ttl based fonts purge by adding cache for on-screen fonts Ilia Mashkov 2026-04-03 09:35:16 +03:00
  • 11c4750d0e chore: update gitignore Ilia Mashkov 2026-03-04 16:53:53 +03:00
  • 03917cf947 Merge pull request 'chore: change hex colors to tailwind bariables' (#29) from chore/color-variables into main ilia 2026-03-04 13:52:53 +00:00
  • 9b90080c57 chore: change hex colors to tailwind bariables Ilia Mashkov 2026-03-04 16:51:49 +03:00
  • 9c6ff3859a Merge pull request 'feature/project-redesign' (#28) from feature/project-redesign into main ilia 2026-03-02 19:46:38 +00:00
  • 6f65aa207e fix: stories errors Ilia Mashkov 2026-03-02 22:45:29 +03:00
  • 87bba388dc chore(app): update config, dependencies, storybook, and app shell Ilia Mashkov 2026-03-02 22:21:19 +03:00
  • 55e2efc222 refactor(features, widgets): update ThemeManager, FontSampler, FontSearch, and SampleList Ilia Mashkov 2026-03-02 22:20:48 +03:00
  • 0fa3437661 refactor(SetupFont): reorganize TypographyMenu and add control tests Ilia Mashkov 2026-03-02 22:20:29 +03:00
  • efe1b4f9df refactor(GetFonts): restructure filter API and add sort store Ilia Mashkov 2026-03-02 22:19:59 +03:00
  • 0dd08874bc refactor(ui): update shared components and add ControlGroup, SidebarContainer Ilia Mashkov 2026-03-02 22:19:35 +03:00
  • 13818d5844 refactor(shared): update utilities, API layer, and types Ilia Mashkov 2026-03-02 22:19:13 +03:00
  • ac73fd5044 refactor(helpers): modernize reactive helpers and add tests Ilia Mashkov 2026-03-02 22:18:59 +03:00
  • 594af924c7 refactor(Breadcrumb): simplify entity structure and add tests Ilia Mashkov 2026-03-02 22:18:41 +03:00
  • af4137f47f refactor(Font): consolidate API layer and update type structure Ilia Mashkov 2026-03-02 22:18:21 +03:00
  • ba186d00a1 feat(ComparisonView): add redesigned font comparison widget Ilia Mashkov 2026-03-02 22:18:05 +03:00
  • 6cd325ce38 chore(ComparisonSlider): remove widget in favor of ComparisonView Ilia Mashkov 2026-03-02 22:17:46 +03:00
  • 0c3dcc243a chore(ui): remove obsolete UI components Ilia Mashkov 2026-03-02 22:16:48 +03:00
  • e7225a6009 chore(shadcn): remove deprecated shadcn-svelte components Ilia Mashkov 2026-03-02 22:16:18 +03:00
  • 0d38a2dc9b fix(filters): remove unused import Ilia Mashkov 2026-03-02 15:06:43 +03:00
  • ba20d6d264 fix(filters): use proxy fetch function Ilia Mashkov 2026-03-02 15:06:06 +03:00
  • 6d06f9f877 fix(filters): remove hardcoded fallback Ilia Mashkov 2026-03-02 14:53:54 +03:00
  • db7ffd3246 feat(filters): support multiple values Ilia Mashkov 2026-03-02 14:12:55 +03:00
  • 37a528f0aa feat(filters): add dynamic filters store Ilia Mashkov 2026-03-02 14:12:47 +03:00
  • 85b14cd89b feat(SampleListSection): add LayoutSwitch to the header Ilia Mashkov 2026-02-27 19:08:34 +03:00
  • 8fbd6f5935 feat(SampleList): remove unused code Ilia Mashkov 2026-02-27 19:07:53 +03:00
  • 80a9802c42 fix(VirtualList): don't render top spacer if topPad is bellow 0 Ilia Mashkov 2026-02-27 19:07:13 +03:00
  • fe5940adbf chore: add exports Ilia Mashkov 2026-02-27 18:44:07 +03:00
  • f7fe71f8e3 feat(Badge): rewrite Badge component to new design Ilia Mashkov 2026-02-27 18:43:56 +03:00
  • db518a6469 feat(Divider): adjust colors Ilia Mashkov 2026-02-27 18:42:54 +03:00
  • 5946f66e69 chore(FontSamler): rewrite component to use existed shared ui label wrappers Ilia Mashkov 2026-02-27 18:42:20 +03:00
  • 2046394906 chore: add exports Ilia Mashkov 2026-02-27 18:41:20 +03:00
  • 887ca6e5e1 feat(LayoutSwitch): create a ui component to switch SampleList layout Ilia Mashkov 2026-02-27 18:40:46 +03:00
  • c86b5f5db8 feat(LayoutManager): create layout manager with persistent store support to manage SampleList items layout Ilia Mashkov 2026-02-27 18:40:08 +03:00
  • f0aa89097e feat(TypographyMenu): rewrite from hidden class to if based rendering Ilia Mashkov 2026-02-27 18:39:09 +03:00
  • 80feda41a3 feat(createResponsiveManager): rewrote ifs to switch case Ilia Mashkov 2026-02-27 18:35:40 +03:00
  • 3a813b019b chore: rename Ilia Mashkov 2026-02-27 13:00:58 +03:00
  • fb6cd495d3 feat(VirtualList): add different layout support Ilia Mashkov 2026-02-27 13:00:03 +03:00
  • 44bbac4695 feat(Section) add headerContent snippet Ilia Mashkov 2026-02-27 12:50:16 +03:00