feat(E03): 목록 판정 면 칸을 별 뒤로 · 짧은 배지 (PLAN 567-1)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-27 20:50:52 +09:00
co-authored by Claude Sonnet 5.5
parent 79d33601f2
commit a931b6988f
2 changed files with 10 additions and 7 deletions
+8 -7
View File
@@ -1,7 +1,8 @@
/* =============================================================================
* E03_StabSection_UI_List.ts
* E03 좌측 측점 목록(PLAN 532-3) — 측점 · 깎기/쌓기 · 조건별 최소 안전율 · 판정(아이콘 + 글) ·
* 대표 단면 별(자동 = 채움 · 사용자 켬/끔 = 밑줄 · 누르면 바꿈). 정렬 · 거름은 logic `listRows`.
* 대표 단면 별(자동 = 채움 · 사용자 켬/끔 = 밑줄 · 누르면 바꿈) · 판정 면(원호 · 비원호 + 면 확인 · 모형 끝 면 —
* 567-1 · 좁아서 맨 끝 칸). 정렬 · 거름은 logic `listRows`.
* ========================================================================== */
import { createBadge, type BadgeTone } from "@ui/ui_template_badge";
@@ -52,8 +53,8 @@ export function buildList(
{ label: t("E03_Col_Role") },
...draw.conditions.map((c) => ({ label: t(`E03_Cond_${c}` as LocaleKey), num: true })),
{ label: t("E03_Verdict") },
{ label: t("E03_Col_Basis"), title: t("E03_Basis_Hint") },
{ label: t("E03_Col_Rep"), title: t("E03_Rep_Hint") },
{ label: t("E03_Col_Basis"), title: t("E03_Basis_Hint") },
];
const cells = rows.map((row) => {
const v = verdictOf(row, draw.condition);
@@ -96,8 +97,8 @@ export function buildList(
row.sides.length ? roleText(row, { cut: t("E03_CutShort"), fill: t("E03_FillShort") }) : "-",
...draw.conditions.map((c) => fmt(row.min[c])),
verdict,
basisBadges(row, draw.condition),
star,
basisBadges(row, draw.condition),
];
});
const list = e03Table(columns, cells, "station-list");
@@ -133,14 +134,14 @@ export function basisBadges(row: StationRow, condition: Condition): HTMLElement
box.append(kind);
}
if (b.surfaceCheck) {
const flag = createBadge(t("E03_SurfaceCheck"), "warning", { size: 18 });
flag.title = t("E03_SurfaceCheck_Hint");
const flag = createBadge(t("E03_SurfaceCheck_Short"), "warning", { size: 18 });
flag.title = `${t("E03_SurfaceCheck")} — ${t("E03_SurfaceCheck_Hint")}`;
flag.dataset.role = "basis-check";
box.append(flag);
}
if (b.edge) {
const flag = createBadge(t("E03_EdgeSurface"), "warning", { size: 18 });
flag.title = t("E03_EdgeSurface_Hint");
const flag = createBadge(t("E03_EdgeSurface_Short"), "warning", { size: 18 });
flag.title = `${t("E03_EdgeSurface")} — ${t("E03_EdgeSurface_Hint")}`;
flag.dataset.role = "basis-edge";
box.append(flag);
}
+2
View File
@@ -70,6 +70,8 @@ export const ui_locales_e03 = {
"판정 면이 모형 끝에 닿음 — 탐색 한계를 넓혀 다시 해석",
"Governing surface touches the model edge — widen the search reach and re-run",
],
E03_SurfaceCheck_Short: ["확인", "Check"],
E03_EdgeSurface_Short: ["끝", "Edge"],
E03_Reach: ["탐색 한계", "Search reach"],
E03_Reach_model_end: ["모형 끝", "Model edge"],
E03_Reach_2h: ["비탈 끝 + 2H", "Slope end + 2H"],