textmachine/frontend
2026-08-04 02:59:24 +03:00
..
docs Close S2 review findings: pair-agnostic source font via lang, bank kinds match engine vocabulary, composite bank row keys, dynamic-import seams and literal-carrier selectors gated, generality test covers CSS 2026-08-04 02:59:24 +03:00
scripts Build the three-panel shell and ui primitives on react-aria-components, virtualise chapter and bank lists at book scale, close the gate and structural-test tails, enable the spacing token gate 2026-08-04 01:45:17 +03:00
src Close S2 review findings: pair-agnostic source font via lang, bank kinds match engine vocabulary, composite bank row keys, dynamic-import seams and literal-carrier selectors gated, generality test covers CSS 2026-08-04 02:59:24 +03:00
.gitignore Land frontend S1: pinned Vite/React/TS scaffold, five-step check with verified colour gate, no-sudo Playwright shot loop, measured tokens.css, showcase converged with Fleet reference 2026-08-02 15:07:34 +03:00
.npmrc Add self-installing pre-commit gate: frontend commits demand green check, zone-mixing and never-commit files blocked, plus exact version pins and engine-strict npmrc 2026-08-02 19:39:29 +03:00
.prettierignore Land frontend S1: pinned Vite/React/TS scaffold, five-step check with verified colour gate, no-sudo Playwright shot loop, measured tokens.css, showcase converged with Fleet reference 2026-08-02 15:07:34 +03:00
.prettierrc.json Land frontend S1: pinned Vite/React/TS scaffold, five-step check with verified colour gate, no-sudo Playwright shot loop, measured tokens.css, showcase converged with Fleet reference 2026-08-02 15:07:34 +03:00
eslint.config.js Close S2 review findings: pair-agnostic source font via lang, bank kinds match engine vocabulary, composite bank row keys, dynamic-import seams and literal-carrier selectors gated, generality test covers CSS 2026-08-04 02:59:24 +03:00
index.html Land frontend S1: pinned Vite/React/TS scaffold, five-step check with verified colour gate, no-sudo Playwright shot loop, measured tokens.css, showcase converged with Fleet reference 2026-08-02 15:07:34 +03:00
package-lock.json Build the three-panel shell and ui primitives on react-aria-components, virtualise chapter and bank lists at book scale, close the gate and structural-test tails, enable the spacing token gate 2026-08-04 01:45:17 +03:00
package.json Build the three-panel shell and ui primitives on react-aria-components, virtualise chapter and bank lists at book scale, close the gate and structural-test tails, enable the spacing token gate 2026-08-04 01:45:17 +03:00
README.md Build the three-panel shell and ui primitives on react-aria-components, virtualise chapter and bank lists at book scale, close the gate and structural-test tails, enable the spacing token gate 2026-08-04 01:45:17 +03:00
stylelint.config.js Build the three-panel shell and ui primitives on react-aria-components, virtualise chapter and bank lists at book scale, close the gate and structural-test tails, enable the spacing token gate 2026-08-04 01:45:17 +03:00
tsconfig.json Land frontend S1: pinned Vite/React/TS scaffold, five-step check with verified colour gate, no-sudo Playwright shot loop, measured tokens.css, showcase converged with Fleet reference 2026-08-02 15:07:34 +03:00
vite.config.ts Land frontend S1: pinned Vite/React/TS scaffold, five-step check with verified colour gate, no-sudo Playwright shot loop, measured tokens.css, showcase converged with Fleet reference 2026-08-02 15:07:34 +03:00

frontend — веб-интерфейс

Зона записи сессий «Фронт». Пройдены S0 (план), S1 (инструменты, скриншот-цикл, токены, витрина) и S2 (оболочка трёх панелей и слой src/ui/). Продуктовых экранов ещё нет — они на S4S7 (docs/BACKLOG.md, Ф-1); вход в S3 заблокирован отсутствием контракта API v0.

Как запустить

npm install
npm run dev          # http://localhost:5173/showcase
npm run check        # prettier → eslint → stylelint → tsc → vitest
npm run check:full   # + сборка + скриншоты
npm run shot         # снимки в .shots/ — открыть и посмотреть глазами

Маршрутов два, и оба снимаются: /showcase — оболочка на фикстуре одной главы, /scale — она же на настоящем масштабе книги (2284 раздела, 1200 терминов). Новый экран заводится вместе с маршрутом и строкой в scripts/shot.mjs — расхождение двух списков падает тестом.

Для скриншот-цикла нужен Chromium Playwright и локальные библиотеки в .tooling/ (ставятся без sudo, процедура — docs/FRONTEND_PLAN.md §4).

npm install заодно ставит pre-commit хук (scripts/githooks/): коммит с frontend-путями не проходит без зелёного npm run check; смесь frontend/ с чужой зоной и файлы «никогда не коммитить» блокируются для всех (D39.88). Обход — git commit --no-verify.

Что здесь будет

Веб-приложение поверх ../platform/. MVP — не IDE, а дашборд + читалка: библиотека книг, наблюдение за прогоном, подпись банка памяти, сравнение оригинала с переводом, добавление главы. Редактирование перевода прямо в интерфейсе — ПОЗЖЕ (тогда появится редактор текста; в MVP не нужен).

Десктоп — то же самое приложение в окне (Tauri), отдельной логики не имеет. В MVP не делается.

Документы

  • docs/FRONTEND_SESSION_PROMPT.md — промт фронт-сессий: область этапов, референсы с измеренными значениями, экраны, ограничения, порядок работы.
  • docs/STACK_DECISIONS.md — пины версий, ловушки и список того, что достраивается в движке. Источник: многоагентное исследование 02.08.2026.
  • docs/FRONTEND_PLAN.md — план S0: сверенные пины, карта src/, слои каскада, правила поддерживаемости в проверяемой форме, протокол скриншот-цикла, перепроверенные замеры референса и список расхождений витрины.
  • docs/PROGRESS.md — журнал зоны: текущее состояние, решения владельца по продукту, открытые вопросы, хроника сессий.
  • docs/BACKLOG.md — зонный бэклог фронта.
  • references/ — три скриншота-референса (Fleet, Antigravity).

Источник внешнего вида — один

Замеры с references/fleet.png, зафиксированные в tokens.css. Промежуточных дизайн-макетов нет: инструменты проектирования макетов не используются (решение владельца 02.08). Палитра и геометрия сняты с референса пипеткой и лежат в STACK_DECISIONS.md и §1.1 промта — их берут как данность, а не выводят заново.

⚠ JetBrains Fleet закрыт (скачивание прекращено 22.12.2025) — добрать новые измерения неоткуда. Всё, что не замерено (кегли, интерлиньяж, внутренние отступы), подбирается на глаз по скриншоту.