Files
C.E.L_Slide_test2/Front
kyeongmin a79bd8bc43 feat(IMP-11): D-2 — frame min_height_px hint (backend → UI)
Step 9 v4_all_judgments[] now exposes per-candidate min_height_px from
catalog frame_contracts.visual_hints.min_height_px (None when contract
unregistered). SlideCanvas pendingLayout zones render a red ring + 'min H
Npx' badge when zone height falls below the active frame's threshold.
Visual hint only; resize clamp (minSize=0.05) unchanged.

5 axes (single commit per Stage 5 plan):
- u1 backend: src/phase_z2_pipeline.py — Step 9 builder adds min_height_px
  via single get_contract(c.template_id) lookup; reuses _contract for
  catalog_registered (no double-lookup).
- u2 type: Front/client/src/types/designAgent.ts — FrameCandidate gains
  optional minHeightPx?: number.
- u3 mapper: Front/client/src/services/designAgentApi.ts — maps snake-case
  min_height_px → camelCase minHeightPx on v4_all_judgments path;
  v4_candidates fallback remains undefined (graceful).
- u4 active-frame lookup: Front/client/src/components/SlideCanvas.tsx —
  activeFrameId = overrideFrameId ?? defaultFrameId; activeCandidate via
  region.frame_candidates.find.
- u5 hint render: Front/client/src/components/SlideCanvas.tsx —
  zoneHeightPx = height * SLIDE_H (logical px, no double-apply); compare
  against activeCandidate.minHeightPx in pendingLayout mode only; red
  border + badge when below.

Tests: 5/5 pass in tests/test_phase_z2_step9_v4_all_judgments_min_height.py
(source-string + catalog-shape guards + None propagation, registered and
unregistered template_ids).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 22:29:17 +09:00
..

Design Agent Frontend

React + Vite + TypeScript frontend.

위치

  • Front/ — 이 폴더
  • 원본 작업 위치 = D:\ad-hoc\kei\design_agent_front\design-agent\ (로컬 dev)

실행

cd Front/
pnpm install
pnpm dev

http://localhost:3000 에서 확인. DESIGN_AGENT_ROOT env 로 backend 경로 지정 가능.

구조

Front/
├── client/                React frontend (Vite root)
│   └── src/
│       ├── pages/
│       ├── components/
│       ├── services/
│       └── ...
├── server/                production express
├── vite.config.ts         dev plugin + backend 연결
└── ...

Backend 연결 (vite.config.ts)

Vite dev plugin 이 다음 endpoint 등록 :

Endpoint 동작
POST /api/run MDX + overrides → backend pipeline spawn → run_id 반환
GET /api/sample-mdx?mdx=... sample MDX serve
GET /frame-preview/{n} frame thumbnail
GET /data/runs/{run_id}/{path} pipeline 산출물 serve