This website requires JavaScript.
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
f4edb67acb
test(font): window centering, clamping, and key stability
Ilia Mashkov
2026-05-30 21:50:34 +03:00
ccf51c645e
feat(font): compute split index and 3-region slice
Ilia Mashkov
2026-05-30 21:50:02 +03:00
efbc464b14
test(font): computeLineRenderModel handles empty line
Ilia Mashkov
2026-05-30 21:49:25 +03:00
c5092a488b
refactor(font): scaffold dualFontLayout module with shared types
Ilia Mashkov
2026-05-30 21:48:56 +03:00
ddadac8686
reafactor: move CharacterComparisonEngine into Font entity
Ilia Mashkov
2026-05-30 18:48:53 +03:00
f6911fbcca
feature: add sv-router, page structure and redirect to home from any other page
Ilia Mashkov
2026-05-30 18:31:56 +03:00
eb5a8d1e5b
Merge pull request 'Fixes/request deduplication' (#44 ) from fixes/request-deduplication into main
ilia
2026-05-28 19:54:57 +00:00
e698dc6e07
docs: remove GIT_WORKFLOW.md
Ilia Mashkov
2026-05-28 22:29:02 +03:00
5d72bb7a4c
refactor(fontCatalogStore): single source of truth for query params
Ilia Mashkov
2026-05-28 21:38:17 +03:00
7f20f36d0a
fix(api): mark schema-validation errors as non-retryable
Ilia Mashkov
2026-05-28 21:37:23 +03:00
c90a258f6c
feat(font-list): show empty state when search yields no fonts
Ilia Mashkov
2026-05-28 21:36:23 +03:00
dec83c93d0
Merge pull request 'Feature/playwright' (#43 ) from feature/playwright into main
ilia
2026-05-28 13:31:16 +00:00
b9560336d5
ci/cd: remove artifact, add build to e2e step
Ilia Mashkov
2026-05-28 16:18:25 +03:00
18f1d109ab
fix: add single root level
Ilia Mashkov
2026-05-28 16:11:07 +03:00
24f084ae77
test: add e2e suite for core comparison flows
Ilia Mashkov
2026-05-28 15:52:40 +03:00
b9e21a66d3
fix(comparisonStore): preserve stored selection on cold load
Ilia Mashkov
2026-05-28 14:58:18 +03:00
7a9422b574
test: add aria attributes to tested components
Ilia Mashkov
2026-05-28 14:05:14 +03:00
f79b24272c
ci/cd: add e2e tests with playwright into gitea actions workflow
Ilia Mashkov
2026-05-28 13:20:25 +03:00
a9229342e6
test: base playwrignt setup for firefox and chrome
Ilia Mashkov
2026-05-28 12:55:10 +03:00
05cab5f892
fix(cicd): fix yarn version, surface the real failure, bust cache
Ilia Mashkov
2026-05-25 14:11:23 +03:00
0518c84230
fix: add .dockerignore to prevent glibc yarn cache leaking into musl build
Ilia Mashkov
2026-05-25 13:57:35 +03:00
5afb9c5d5d
Merge pull request 'Chore/architecture refactoring' (#42 ) from chore/architecture-refactoring into main
ilia
2026-05-25 08:43:06 +00:00
4126275c4d
refactor(SliderArea): extract grid overlay into bg-grid utilities
Ilia Mashkov
2026-05-25 11:09:26 +03:00
ffc28f78f5
refactor(SliderArea): bump the padding to avoid overlap with TypographyMenu
Ilia Mashkov
2026-05-25 11:08:04 +03:00
80241aa352
refactor(SliderArea): remove $derived className
Ilia Mashkov
2026-05-25 11:07:20 +03:00
37886f3aa7
refactor(TypographyMenu): use separators in one style
Ilia Mashkov
2026-05-25 11:01:11 +03:00
410a7cd37e
feat(SliderArea): keyboard accessibility for the comparison slider
Ilia Mashkov
2026-05-25 10:57:54 +03:00
b5fec3a1ba
fix(SliderArea): inset paper with padding instead of scale for even gaps
Ilia Mashkov
2026-05-25 10:57:23 +03:00
8eee815e9a
refactor(styles): improve light-mode contrast across surfaces and muted text
Ilia Mashkov
2026-05-25 10:56:51 +03:00
5b7ec03973
refactor: sweep call sites onto design-system utilities + bug fixes
Ilia Mashkov
2026-05-25 10:20:40 +03:00
15bb961ccc
refactor(Button): add block-list-row layout variant + adopt design-system tokens
Ilia Mashkov
2026-05-25 10:19:56 +03:00
4e7f76ecb1
feat(styles): add shadow + motion tokens, surface utilities, mode-switching color vars
Ilia Mashkov
2026-05-25 10:19:45 +03:00
06b6274e66
refactor: extract magic constants — wave 5 (single-site thresholds)
Ilia Mashkov
2026-05-24 22:07:44 +03:00
0c59262a59
refactor: extract magic constants — wave 4 (UX timings + physics)
Ilia Mashkov
2026-05-24 21:13:46 +03:00
2bb43797f0
refactor: extract magic constants — wave 3 (font lifecycle)
Ilia Mashkov
2026-05-24 21:13:38 +03:00
ccef3cf7bb
refactor: extract magic constants — wave 2 (TanStack Query defaults)
Ilia Mashkov
2026-05-24 20:33:46 +03:00
e3b489f173
refactor: extract magic constants — wave 1 (UX, API, storage)
Ilia Mashkov
2026-05-24 20:30:26 +03:00
f92577608a
refactor(Font): use pretext layout() directly in row size resolver
Ilia Mashkov
2026-05-24 20:12:48 +03:00
728380498b
refactor(Font): rename fontStore and appliedFontsManager
Ilia Mashkov
2026-05-24 20:00:43 +03:00
07d044f4d6
refactor: extract BatchFontStore into new FetchFontsByIds feature
Ilia Mashkov
2026-05-24 19:41:40 +03:00
df59dfda02
refactor(features): rename SetupFont to AdjustTypography + reorganize
Ilia Mashkov
2026-05-24 18:27:10 +03:00
ca382fd43d
refactor(features): rename GetFonts to FilterAndSortFonts
Ilia Mashkov
2026-05-24 18:16:16 +03:00
e0d39d861f
refactor(GetFonts): rename filters/filterManager to available/appliedFilterStore
Ilia Mashkov
2026-05-24 18:08:05 +03:00
b6494a8cb5
test(GetFonts): cover filters and sortStore + nest each in its own dir
Ilia Mashkov
2026-05-24 17:49:26 +03:00
cc218934f4
fix(ComparisonView): update batchFontStore import path in test
Ilia Mashkov
2026-05-24 16:05:59 +03:00
3a327e2d92
refactor(GetFonts): tighten mapManagerToParams + add coverage
Ilia Mashkov
2026-05-24 15:45:07 +03:00
30621c33df
refactor(GetFonts): consolidate model/state into model/store
Ilia Mashkov
2026-05-24 15:33:26 +03:00
cb8f6ffc97
refactor(GetFonts): unify filterManager factory + singleton under model/state
Ilia Mashkov
2026-05-24 15:23:25 +03:00
33d3429060
refactor(GetFonts): consolidate filtersStore wiring into bindings
Ilia Mashkov
2026-05-24 15:08:54 +03:00
e60309af78
refactor(GetFonts): centralize filterManager/sortStore → fontStore bridge
Ilia Mashkov
2026-05-24 15:05:28 +03:00
1573950605
chore(Font): move batchFontStore to separate directory
Ilia Mashkov
2026-05-24 13:54:15 +03:00
773ab55f5c
Merge pull request 'Fix/mobile comparison view' (#41 ) from fix/mobile-comparison-view into main
ilia
2026-05-23 18:21:47 +00:00
67e02e4e75
feat: tag every build with the immutable commit SHA
Ilia Mashkov
2026-05-23 21:20:37 +03:00
5ca7a433ff
fix: use dvh units to prevent ComparisonView from being covered with address bar on mobile
Ilia Mashkov
2026-05-23 21:19:51 +03:00
3b6ea99d09
Merge pull request 'Fix/text morphing position' (#40 ) from fix/text-morphing-position into main
ilia
2026-05-23 17:43:07 +00:00
f762a09c23
fix(SliderArea): temporarily replace pretext measurements with canvas
Ilia Mashkov
2026-05-23 20:07:39 +03:00
95ae72719e
chore: move getPretextFontString into separate directory
Ilia Mashkov
2026-05-23 20:03:13 +03:00
f3c4e72b86
Merge pull request 'Fixes/minor tweaks' (#39 ) from fixes/minor-tweaks into main
ilia
2026-05-23 14:11:58 +00:00
f41c4aab9c
feat: move class prop to wrapper
Ilia Mashkov
2026-05-23 17:00:29 +03:00
d1eb83fa90
fix: wire the search to the store
Ilia Mashkov
2026-05-23 16:59:59 +03:00
c01fc79a3e
fix: add scrollMargin property since the IntersectionObserver has it
Ilia Mashkov
2026-05-05 17:04:23 +03:00
6bfa7ca777
chore: add .css files declaration
Ilia Mashkov
2026-05-05 17:03:43 +03:00
0d4356b8f1
chore: remove @ts-expect-error since scheduler was added in new TS release
Ilia Mashkov
2026-05-05 17:03:18 +03:00
c18574d4c3
fix: remove deprecated tsconfig property
Ilia Mashkov
2026-05-05 17:02:25 +03:00
1c9a7f9fe1
chore: add .vscode to .gitignore
Ilia Mashkov
2026-05-05 16:49:56 +03:00
fae6694479
chore(dprint): update markup_fmt plugin version, fix @render indentation and add couple of new rules
Ilia Mashkov
2026-05-05 16:49:27 +03:00
a105c94176
chore: upgrade svelte-language-server to 0.18.0
Ilia Mashkov
2026-05-05 15:21:32 +03:00
77c2b27f8b
chore: update remaining outdated packages (@chenglou/pretext 0.0.6, svelte-check 4.4.8)
Ilia Mashkov
2026-05-05 15:19:39 +03:00
1ce0d6c66f
chore: upgrade tooling and ecosystem (jsdom 29, playwright 1.59.1, storybook 10.3.6)
Ilia Mashkov
2026-05-05 14:19:56 +03:00
6c20a68e19
chore: upgrade core build tooling (vite 8, svelte plugin 7, typescript 6)
Ilia Mashkov
2026-05-05 14:15:59 +03:00
3894912a22
feat(FontList): add a small gap for elements of ComparisonView sidebar font list
Ilia Mashkov
2026-05-05 12:05:19 +03:00
e8d3727c6a
feat: upgrade lucide icons to 1.14
Ilia Mashkov
2026-05-05 10:10:11 +03:00
5fbf090b24
fix(Footer): minor layout change
Ilia Mashkov
2026-05-05 10:06:30 +03:00
a94e1f8b65
Merge pull request 'feat(shared): add cn utility for tailwind-aware class merging' (#38 ) from feature/minor-improvements into main
ilia
2026-04-23 12:11:02 +00:00
f8ba2d7eb0
chore(Footer): move components to separate directories
Ilia Mashkov
2026-04-23 13:16:19 +03:00
3594033bcb
feat(FooterLink): move FooterLink to the Footer widget layer, delete the one in shared/ui
Ilia Mashkov
2026-04-23 13:07:16 +03:00
2ae24912f7
feat(Footer): tweak the footer position
Ilia Mashkov
2026-04-23 13:06:17 +03:00
877719f106
feat(Link): create reusable Link ui component
Ilia Mashkov
2026-04-23 13:05:22 +03:00
4eafb96d35
feat(ComparisonView): replace window resize listener with ResiseObserver on the container to catch the container size change on sidebar open/close
Ilia Mashkov
2026-04-23 12:45:13 +03:00
652dfa5c90
feat: brand colored text selection
Ilia Mashkov
2026-04-23 10:08:44 +03:00
54087b7b2a
feat: replace clsx with cn util
Ilia Mashkov
2026-04-23 09:48:32 +03:00
cffebf05e3
feat(SliderArea): tweak the styles
Ilia Mashkov
2026-04-23 09:42:59 +03:00
ada484e2e0
feat(FooterLink): tweak the styles
Ilia Mashkov
2026-04-23 09:42:33 +03:00
dbcc1caeb0
feat(Footer): change the footer styles and layout to avoid overlapping with the TypographyMenu
Ilia Mashkov
2026-04-23 09:41:31 +03:00