refactor(B06): 카드 설계 줄 · 아래 띠 단추를 부품으로 — 분할 고르기 · 켜기 칩 · 단추 · 아이콘 단추 (PLAN 553-2)
- 측구 · 측구형식 · 경사 방향 묶음 = 부품 분할 고르기 20 · 토사 · 측구 · 단경사 켜고 끄기 = 켜기 칩 20 · [상세] = 단추(고스트) 20 - ⋯ 넘침 펼침 = 아이콘 단추(선) 22 꼴(펼침 = aria-pressed) · 암 경계 ▲▼↺ · 암 절토 ↺ = 아이콘 단추 22 - 지운 자체 CSS — b06-design__btn(--active) · 펼침 보라 채움 · rockb 단추 꼴 · 사이 금 · 글 0.72rem → --text-caption - 부품 아이콘 단추의 display 가 hidden 을 덮어 선 칸 숨김 단추는 페이지에 숨김 한 줄 - 카드 높이 7 px 줄음(설계 줄 단추 24 → 20 · 지반 칩 24 → 20) · 그림 색 전후 같음(34 장면 × 102~120 선) - 시험 헬퍼 둘 — helper_318 = 단추 줄 시험이 진짜 부품 파일을 흉내 노드로 실음 · helper_472 = 켜기 칩 글을 안쪽 span 에서 읽음 - Line_Cell · CutSlope 는 흉내 DOM 시험(370-3 등)이 @ui 를 안 풀어 부품 클래스 · data-size 계약으로 붙임 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -445,11 +445,16 @@ const out = {};
|
||||
|
||||
// ── 3. 단추 줄(318-1) — 빈자리 누름 = 카드 고름 · 조작 누름 = 안 넘김 ───────────
|
||||
{
|
||||
// 단추 줄 = 부품 단추 · 분할 · 켜기(553-2) — 진짜 부품 파일을 흉내 노드로 돌림
|
||||
const UI = (name) => path.join(ROOT, "ui_template", `${name}.ts`);
|
||||
const parts = ["ui_template_button", "ui_template_segment", "ui_template_toggle"];
|
||||
const loadUi = makeLoader([...parts, "ui_template_elements_base"].map(UI));
|
||||
const load = makeLoader([B06("B06_Section_UI_Cross_Design")], {
|
||||
"@ui/ui_template_locale": {
|
||||
currentLanguageIndex: 0,
|
||||
ui_locales: new Proxy({}, { get: (_t, key) => [String(key)] }),
|
||||
},
|
||||
...Object.fromEntries(parts.map((name) => [`@ui/${name}`, loadUi(UI(name))])),
|
||||
});
|
||||
const { buildDesignControls } = load(B06("B06_Section_UI_Cross_Design"));
|
||||
const { bar } = buildDesignControls(
|
||||
|
||||
@@ -155,10 +155,13 @@ const walk = (node) => {
|
||||
walk(groundSegment);
|
||||
walk(bar);
|
||||
const press = (pick) => buttons.find(pick)?.listeners.click?.forEach((fn) => fn({}));
|
||||
// 부품 켜기 칩(553-2) — 글은 안쪽 span 에 · 자식 글을 이어 읽음
|
||||
const text = (node) =>
|
||||
typeof node === "string"
|
||||
? node
|
||||
: (node?.textContent ?? "") + (node?.children ?? []).map(text).join("");
|
||||
out.soilPressed = buttons[0]?.getAttribute("aria-pressed");
|
||||
press(
|
||||
(b) => b.textContent === "측구" || b.textContent === "측구 없음" || /측구/.test(b.textContent),
|
||||
);
|
||||
press((b) => /측구/.test(text(b)));
|
||||
out.ditchChange = sent.at(-1) ?? null;
|
||||
// 새 카드 · 토사 단추 — 지반만(측구형식은 이미 일반이라 안 실림)
|
||||
buttons.length = 0;
|
||||
|
||||
Reference in New Issue
Block a user