fix(B06): 횡단 세월교 · BOX 본체 클릭 = 좌측 본체 상자 고름 · 강조(PLAN 66-1)
- 세월교 바닥판 · 관 판정면 추가 → 「세월교」 상자 강조 · 스크롤 · 그림 바닥판 · 관 붉게 - BOX 구체 가운데 1/3 = 본체 · 양쪽 = 그 끝(유입 · 유출 상자 그대로) - 고름 값에 body 추가(FordPick · BoxPick) · 조정창은 본체에서 안 뜸 - B05 넘김 키 body 도 같은 길 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
* ========================================================================== */
|
||||
|
||||
import type { BoxSideAdjust, BoxSideRole } from "./B06_Section_UI_Cross_Box_Geom";
|
||||
import type { BoxPick } from "./B06_Section_UI_Cross_Box";
|
||||
import {
|
||||
bindArrowKeys,
|
||||
bindDragHandle,
|
||||
@@ -41,7 +42,8 @@ export interface BoxPanelDeps {
|
||||
export interface BoxPanelHandle {
|
||||
root: HTMLElement;
|
||||
/** null이면 숨긴다. 값이 오면 그 측 기준으로 다시 그린다. */
|
||||
show: (role: BoxSideRole | null) => void;
|
||||
/** 본체는 창 없이 좌측 「본체」 상자만(66-1). */
|
||||
show: (role: BoxPick | null) => void;
|
||||
}
|
||||
|
||||
/** 한 걸음(m) — 사용자 지정 0.1m. */
|
||||
@@ -133,15 +135,16 @@ export function buildBoxPanel(deps: BoxPanelDeps, opts?: { dock?: boolean }): Bo
|
||||
return {
|
||||
root,
|
||||
show(role) {
|
||||
current = role;
|
||||
root.classList.toggle("is-hidden", role === null);
|
||||
current = role === "body" ? null : role;
|
||||
root.classList.toggle("is-hidden", current === null);
|
||||
// 좌측 [횡단 조정]에 어느 칸을 세울지 알린다 — 날개벽(유입)/(유출) 칸이다
|
||||
// (세월교와 같은 규약, 2026-08-30 사용자).
|
||||
root.dataset.side = role === null ? "" : (deps.wingRoleFor?.(role) ?? "");
|
||||
root.dataset.side =
|
||||
role === null || role === "body" ? (role ?? "") : (deps.wingRoleFor?.(role) ?? "");
|
||||
root.dataset.panelTitle = role === null ? "" : "BOX암거";
|
||||
arrows.detach();
|
||||
drag.detach();
|
||||
if (role !== null) {
|
||||
if (current !== null) {
|
||||
arrows.attach();
|
||||
drag.attach();
|
||||
}
|
||||
@@ -163,6 +166,6 @@ export interface BoxControl {
|
||||
role: "inlet" | "outlet",
|
||||
patch: Partial<{ installed: boolean; height_m: number; length_m: number; angle_deg: number }>,
|
||||
) => void;
|
||||
selectedFor: (chainageM: number) => BoxSideRole | null;
|
||||
select: (chainageM: number, role: BoxSideRole | null) => void;
|
||||
selectedFor: (chainageM: number) => BoxPick | null;
|
||||
select: (chainageM: number, role: BoxPick | null) => void;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user