d81af0a77b0d562ced019c55a549736351ac27ba
P0 Performance Optimizations: - Add debounced search (300ms) to reduce re-renders during typing - Implement single-pass filter function for O(n) complexity - Add TanStack Query cancellation before new requests P1 Code Quality Optimizations: - Add runtime type guards for filter validation - Implement two derived values (filteredFonts + sortedFilteredFonts) - Remove all 'as any[]' casts from filter bridge - Add fast-path for default sorting (skip unnecessary operations) New Utilities: - debounce utility with 4 tests (all pass) - filterUtils with 15 tests (all pass) - typeGuards with 20 tests (all pass) - Total: 39 new tests Modified Files: - unifiedFontStore.svelte.ts: Add debouncing, use filter/sort utilities - filterBridge.svelte.ts: Type-safe validation with type guards - unifiedFontStore.test.ts: Fix pre-existing bugs (missing async, duplicate imports) Code Quality: - 0 linting warnings/errors (oxlint) - FSD compliant architecture (entity lib layer) - Backward compatible store API
sv
Everything you need to build a Svelte project, powered by sv.
Creating a project
If you're seeing this, you've probably already done this step. Congrats!
# create a new project in the current directory
npx sv create
# create a new project in my-app
npx sv create my-app
Developing
Once you've created a project and installed dependencies with npm install (or pnpm install or yarn), start a development server:
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
Building
To create a production version of your app:
npm run build
You can preview the production build with npm run preview.
To deploy your app, you may need to install an adapter for your target environment.
Description
A modern font exploration and comparison tool for browsing fonts from different sources with real-time visual comparisons
https://glyphdiff.com
Languages
TypeScript
63.5%
Svelte
35.1%
CSS
1.2%
HTML
0.1%