49 lines
3.6 KiB
TypeScript
49 lines
3.6 KiB
TypeScript
import type { Meta, StoryObj } from "@storybook/react-vite"
|
||
import { StoryPage, StoryPageHeader, StorySection } from "@/components/story-page"
|
||
import { CenterFrame, SCALE_NOTE, StatusTable } from "./center-shared"
|
||
|
||
// Mirrors the ui-viz docs/governance/center-domain.md §5 registry rows. The values stay in the owner documents.
|
||
const STATUS: [string, string, string, string][] = [
|
||
["Representation Scale (7680×2160 = 1.00 / 3840×2160 = 0.75)", "CONFIRMED_BY_DESIGN", "foundation/center-scale.md §3.5", "CenterRepresentation. 다른 viewport는 PREVIEW_ONLY 1.00"],
|
||
["FACILITY_PRESENTATION_SCALE (Q2b)", "HOLD — OWNER_DECISION_REQUIRED", "visualization/facility.md §14.1", "구현하지 않음. scale 값·preset을 만들지 않음"],
|
||
["INFORMATION_PRESENTATION_SCALE (Q3)", "HOLD — OWNER_DECISION_REQUIRED", "patterns/center-information-presentation.md §5.7", "구현하지 않음"],
|
||
["Title Resolution B 수치 / per-Type palette", "TBD / SCOPED_DESIGN_APPROVAL", "components/center-title.md §6.7 · §8.1", "Reference 그대로"],
|
||
["Information body-kind · padding · multi-line · KD-1/KD-4", "TBD", "patterns/center-information-presentation.md §5.3 · §8", "단일행 말줄임(해결)만 표시"],
|
||
["Information Box badge anchor · §5.2.2 ink-position", "OWNER_DECISION_REQUIRED / Candidate (authored)", "components/center-information-box.md §5.2", "Reference 그대로. 승격 없음"],
|
||
["Facility §12.24 rules (ink basis · LABEL_REGION …)", "OWNER_REVIEW (Q2c)", "visualization/facility.md §12.24", "Reference 동작 표시. 검증 완료로 표현하지 않음"],
|
||
["Facility asset manifest (128 references)", "Confirmed current mapping · stable-ID/alias policy PARTIAL", "visualization/facility-assets.md", "승인 SVG를 바이트 그대로 사용"],
|
||
["Spatial · Title · Information source SVG 65종", "CANONICAL_ASSET_CANDIDATE (64 RECHECK · 1 ADOPTED)", "visualization/spatial-title-information-assets.md", "runtime 미사용 · 규칙 기반 재구성"],
|
||
["Route layer order Shadow → Outline → Primary Stroke", "CONFIRMED", "visualization/composition.md §5.1 · route.md §7.10", "Spatial 노선"],
|
||
["전체 Visualization layer stack · collision algorithm", "Observed Candidate / TBD", "visualization/composition.md §6 · §7.5", "구현하지 않음"],
|
||
["Railway outline width · line join", "TBD", "visualization/route.md §4.1 · §6.4", "Reference 값 표시, 확정 아님"],
|
||
["Spatial §6.2 tile layer · 읍·면·동 radius · §8.1 paint order", "Candidate (authored) · OWNER_REVIEW (R2)", "visualization/spatial-map.md", "Reference 그대로"],
|
||
["Color Candidate application", "TBD", "foundation/center-color.md §6–7", "Reference 그대로"],
|
||
]
|
||
|
||
const meta = { title: "노선도/Overview", id: "center-graphic-overview", parameters: { layout: "fullscreen", controls: { disable: true } } } satisfies Meta
|
||
export default meta
|
||
type Story = StoryObj<typeof meta>
|
||
|
||
// Hidden from the sidebar (verification); the Story ID and direct URL stay. Keeps the scale rule and the status registry.
|
||
export const Overview: Story = {
|
||
tags: ["verification"],
|
||
name: "Overview",
|
||
render: () => (
|
||
<StoryPage>
|
||
<StoryPageHeader title="Overview" />
|
||
<CenterFrame>
|
||
<div className="sb-center-overview">
|
||
<StorySection title="Representation Scale">
|
||
<p className="sb-center-note">{SCALE_NOTE}</p>
|
||
</StorySection>
|
||
<StorySection title="Status">
|
||
<div className="sb-center-scroll">
|
||
<StatusTable rows={STATUS} />
|
||
</div>
|
||
</StorySection>
|
||
</div>
|
||
</CenterFrame>
|
||
</StoryPage>
|
||
),
|
||
}
|