Files
Aislo/B05_Profile/B05_Profile_UI_Profile_SideTool.ts
T
eomsangdonandClaude Opus 5.5 acd30ba32c refactor(B05·B06): 종단도 한 벌 마무리 — 배수유역도 판(createDrainageSide)을 두 보기에 끼움 · 켬끔 단추 · 흙덮기 강제 값 한 칸 · 계획고 초안 키를 등록부(alignment-draft)로
- 두 보기 같은 오른쪽 판 · 같은 켬끔 값(drainage-visible) · 단추는 도구줄 오른쪽(Profile_SideTool)
- B06 배수유역도 노선 평면선 = 최신 노선 캐시(없으면 한 번 읽기)
- 최소 흙덮기 강제 여부를 두 보기가 한 칸(profile-enforce-min-cover)에서 봄 — B06 막기 동작
- 계획고 초안 b05-profile-alignment-draft:{노선} → aislo:draft:alignment-draft:{프로젝트}:{노선}(옛 값 옮겨 받음) · 되돌리기 사진 · [초기화] 쓸기 포함
- 세로 창 고정을 _Profile_Drag 로(design_profile 684줄) · 시험 test_design_profile_single 6건

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
2026-09-29 20:47:40 +09:00

25 lines
1.2 KiB
TypeScript

/* =============================================================================
* B05_Profile_UI_Profile_SideTool.ts
* 종단도 오른쪽 판(배수유역도)을 두 보기에 **같은 모양 · 같은 켬끔 값**으로 끼운다
* (계획서 24-2c · 24-2e). 판 본체는 `_Drainage_Side`(sub7), 켬 · 끔 값은 `drainage-visible`.
* ========================================================================== */
import { readStateRaw, writeStateRaw } from "../A00_Common/b_page_state";
import type { DesignSideBoard, DesignSideFactory } from "../A00_Common/design/design_profile";
import {
createDrainageSide,
createDrainageToggleButton,
type DrainageSideBoard,
} from "./B05_Profile_UI_Drainage_Side";
/** 오른쪽 판 — 켬 · 끔은 두 보기가 같은 값을 쓴다(기본 켬). */
export const drainageSide: DesignSideFactory = (host) =>
createDrainageSide(host, { visible: readStateRaw("drainage-visible") !== "false" });
/** 켬 · 끔 단추 — 누를 때마다 값을 적는다. */
export function drainageSideTool(board: DesignSideBoard): HTMLElement {
const side = board as DrainageSideBoard;
side.onVisibleChange((visible) => writeStateRaw("drainage-visible", String(visible)));
return createDrainageToggleButton(side);
}