From 7d66b0bc920d7447aa5445a1e70f40a75856e667 Mon Sep 17 00:00:00 2001 From: Ilia Mashkov Date: Sun, 31 May 2026 14:08:09 +0300 Subject: [PATCH] refactor(font): extract glyph-comparison logic into a domain segment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move DualFontLayout and computeLineRenderModel from lib/ to a new domain/ segment. This is the pure glyph-comparison algorithm — no framework, no UI, no shared/model dependencies — so it belongs in domain per the FSD+ ui -> model -> domain interior rule, shielded from UI-kit and API churn. Public API is unchanged: the slice index re-exports domain/, so $entities/Font consumers (ComparisonView SliderArea, Line) are unaffected. --- .../DualFontLayout/DualFontLayout.test.ts | 0 .../dualFontLayout => domain}/DualFontLayout/DualFontLayout.ts | 0 .../computeLineRenderModel/computeLineRenderModel.test.ts | 0 .../computeLineRenderModel/computeLineRenderModel.ts | 0 src/entities/Font/{lib/dualFontLayout => domain}/index.ts | 0 src/entities/Font/index.ts | 1 + src/entities/Font/lib/index.ts | 2 -- 7 files changed, 1 insertion(+), 2 deletions(-) rename src/entities/Font/{lib/dualFontLayout => domain}/DualFontLayout/DualFontLayout.test.ts (100%) rename src/entities/Font/{lib/dualFontLayout => domain}/DualFontLayout/DualFontLayout.ts (100%) rename src/entities/Font/{lib/dualFontLayout => domain}/computeLineRenderModel/computeLineRenderModel.test.ts (100%) rename src/entities/Font/{lib/dualFontLayout => domain}/computeLineRenderModel/computeLineRenderModel.ts (100%) rename src/entities/Font/{lib/dualFontLayout => domain}/index.ts (100%) diff --git a/src/entities/Font/lib/dualFontLayout/DualFontLayout/DualFontLayout.test.ts b/src/entities/Font/domain/DualFontLayout/DualFontLayout.test.ts similarity index 100% rename from src/entities/Font/lib/dualFontLayout/DualFontLayout/DualFontLayout.test.ts rename to src/entities/Font/domain/DualFontLayout/DualFontLayout.test.ts diff --git a/src/entities/Font/lib/dualFontLayout/DualFontLayout/DualFontLayout.ts b/src/entities/Font/domain/DualFontLayout/DualFontLayout.ts similarity index 100% rename from src/entities/Font/lib/dualFontLayout/DualFontLayout/DualFontLayout.ts rename to src/entities/Font/domain/DualFontLayout/DualFontLayout.ts diff --git a/src/entities/Font/lib/dualFontLayout/computeLineRenderModel/computeLineRenderModel.test.ts b/src/entities/Font/domain/computeLineRenderModel/computeLineRenderModel.test.ts similarity index 100% rename from src/entities/Font/lib/dualFontLayout/computeLineRenderModel/computeLineRenderModel.test.ts rename to src/entities/Font/domain/computeLineRenderModel/computeLineRenderModel.test.ts diff --git a/src/entities/Font/lib/dualFontLayout/computeLineRenderModel/computeLineRenderModel.ts b/src/entities/Font/domain/computeLineRenderModel/computeLineRenderModel.ts similarity index 100% rename from src/entities/Font/lib/dualFontLayout/computeLineRenderModel/computeLineRenderModel.ts rename to src/entities/Font/domain/computeLineRenderModel/computeLineRenderModel.ts diff --git a/src/entities/Font/lib/dualFontLayout/index.ts b/src/entities/Font/domain/index.ts similarity index 100% rename from src/entities/Font/lib/dualFontLayout/index.ts rename to src/entities/Font/domain/index.ts diff --git a/src/entities/Font/index.ts b/src/entities/Font/index.ts index b441d65..fe5ee35 100644 --- a/src/entities/Font/index.ts +++ b/src/entities/Font/index.ts @@ -1,4 +1,5 @@ export * from './api'; +export * from './domain'; export * from './lib'; export * from './model'; export * from './ui'; diff --git a/src/entities/Font/lib/index.ts b/src/entities/Font/lib/index.ts index 017b86e..161c396 100644 --- a/src/entities/Font/lib/index.ts +++ b/src/entities/Font/lib/index.ts @@ -1,5 +1,3 @@ -export * from './dualFontLayout'; - export { getFontUrl } from './getFontUrl/getFontUrl'; // Mock data helpers for Storybook and testing