- 교각 목록의 체크박스·전체 선택·선택 교각 수 막대 제거
- ① 3D: 생성된 교각 전체 (전체 보기), ② 3D: 기준 교각만
- 다시 생성: 변경이 있거나 아직 생성되지 않은 교각만 다시 생성 (변경 교각 다시 생성)
- 속성 복사: 모달 창을 없애고 ① 편집 카드, ② 부재 패널 하단의 인라인 패널로 이동
대상 교각은 패널 안에서만 고름. 지반 위치·지하수위 항목을 복사 항목에 추가
- 일괄 적용 버튼과 ③ 속성 복사 버튼 제거 (복사는 편집 패널에서)
- 활성 교각 체크 기능(shownNames, overrideTargets) 제거
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- 체크 = 활성: 체크된 교각(모델 있는 것)과 기준 교각을 3D에 함께 표시
- ② 형상계획도 활성 교각이 2기 이상이면 같은 좌표계로 배치
- 이름 클릭 = 기준 교각: 코핑·말뚝 수정 카드의 대상
- '활성 교각에 적용': 기준 교각의 변경 항목만 다른 활성 교각에 복사 (확인 후, 다시 생성으로 반영)
- 입력값 표: 활성 교각 행 음영, 기준 교각 굵게
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- 전체 보기 버튼 제거. ① 형상 생성은 항상 전체 보기로 열림
- 다른 단계에서 ①로 돌아오면 전체 보기로 다시 설정
- 교각을 눌러 단일 보기로 바꾼 뒤에는 ①로 다시 들어와야 전체 보기로 돌아감
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- 입력값: 교각마다 한 행(코핑 상면·기초 하단·지반고·말뚝·코핑 폭×길이·받침)
- 행을 누르면 그 교각이 활성이 되고 상세와 수정 대상이 바뀜
- 수정 카드 제목에 대상 교각 이름을 표시
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- 교각 정보: 교각마다 열 하나, 행은 형식·EL·기초·말뚝·두부보·기둥·받침/IP 수·불러오기 여부
- 받침과 IP: 모든 교각을 한 표에 두고 교각 열을 추가, 표는 스크롤
- 교각 이름 클릭으로 미리볼 교각을 고르던 방식은 제거 (전체를 보여 줌)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- 교각별 축 위치(pivot E·N 차이)로 장면을 배치하는 pierOffset과 buildAllPiers 추가
- 지형 격자는 기준 교각(첫 교각) 좌표로 한 번만 그림, 교각별 지반면은 숨김
- 철근은 표시하지 않음 (콘크리트만). ① 형상 생성에서만 동작
- 전체 보기에서 교각을 클릭하면 그 교각을 활성으로 하고 단일 교각 보기로 전환
- 테스트: 위치 오프셋 부호, 피벗을 옮겨도 같은 월드 상자
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The four panels are in one stack on the right of the 3D view, 180 px wide, with the ⓘ origin note opening to its left.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The right stack is gone. 색 기준 and the ⓘ origin note now sit under 시점 in the left stack, so every 3D info panel is on the
left. The stack is 180 px wide; the origin note opens to the right of its button.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
On wide screens the pier name moves to the 교각 목록 (name · type), the band is gone and the 3D view takes the full height.
A left stack holds 부재 표시 and then 시점; a right stack holds 색 기준 and then the ⓘ origin note. The active pier is scrolled
into view when it changes. Below 600 px the title is kept above the model and the stacks sit below it.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The title stays. The view buttons become a menu that shows the current view and closes on a choice, Esc or an outside
click. The origin note is an ⓘ toggle. 부재 표시 and 색 기준 are collapsed by default and show their state in the summary
(e.g. 부재 표시 7/7 ▾, 색 기준: 역할 ▾); their open state is remembered per viewer, with guarded storage access.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The title, view buttons and origin sit in one 44 px band on the model. 부재 표시 is a collapsible panel on the left and
색 기준 (③ only) a collapsible panel on the right, both over the canvas, about 170 px wide, with 44 px touch targets.
Below 600 px the band wraps and the panels fall below the model.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The status line and the backup banner share one row (the banner appears only when a backup exists). Results and notices
show as toasts that close after 4 s; problems stay until closed. The status line keeps only the empty-state hint.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The 철근재료표 moves from ③ to a new stage ④ in the header. It shows the checked piers (or the current one), one table
per pier with 강종 → 직경 → 번호 and subtotals, and a total across piers. The Excel export has one sheet per pier and a
합계 sheet. Print uses A4 landscape without the header and buttons. ③ keeps a summary line and a link to ④.
Spec §5, §6.9 and §7 record the stage (approved 2026-10-23).
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The quantity table sits below the 철근표 for the whole pier. Lines group by grade and nominal diameter, with
subtotals, unit weight 0.00617·d² (kg/m), the total in kg and ton, and a 할증 total. 할증 is an input in 공통 설정,
default 0 as an assumption. Couplers are counted, not weighed. Bars with no length yet (C9, C10, C11, C12, P1, P2) are
listed as missing and kept out of the totals. The table exports to Excel with SheetJS.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Bars drawn through several points are one tube each, with every bend rounded by R·tan(φ/2) at the centre-line radius
(inner factor × d + d/2). The inside-radius factors (D16 and below, D19–D25, D29–D35, D38 and above) are inputs in 공통
설정, with KDS-based defaults 2 / 3 / 4 / 5. The size-class limits sit in one place (SIZE_CLASS), which also fixes
D25 (25.4) being read as the D29–D35 class in hookLength. The helper bendDeduction gives the centre-line deduction for
the length option, which is not yet applied to the 철근표 lengths.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
fyH and fyS become a grade per prefix (D · H · S), chosen from SD300 · SD400 · SD500. The defaults are the P1 values, so
the P1 results do not change. Each bar takes its grade from its 규격 (fyOf). The 철근표 has a 강도 column. Older files
that stored fyH / fyS are read into the grade map. Only fck is still an assumed value (I02). Approved 2026-10-23.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The colour basis control sits in the 교각 3D 뷰 title row between the 시점 buttons and the origin note.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The colour basis control and legend sit below the 3D canvas and show only on ③, so they belong to the model window.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Role colours stay the default (spec §6.7). A control on ③ switches to diameter (nominal size, H and S of one size
share a colour, Okabe–Ito palette) or member (받침블럭 · 코핑 · 기둥 · 확대기초). The legend lists only the items
the model has. Highlighting and the state colours are unchanged. Approved 2026-10-23.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The model sits at the top of the centre column and the table or member card
below it, between the pier list on the left and the results on the right, as in
the ① screen and the 시안.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The 3D viewer (views, canvas, part toggles) moves into a slot at the top of ②
and ③ while those screens are shown, and back to ① otherwise. Moving the
element keeps the WebGL context; the viewer is measured after its screen is
visible.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The ③ screen had no pier list. The left column now has the 교각 목록 with
checkboxes and a 배근 status (계산됨 / 오류), the 선택 n기 line with 속성 복사…,
then 부재 · 배근 타입. The checks are shared with ① and ②.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- 철근표 columns as in the 시안: 구분 · 번호 · 규격 · 간격 · 실간격 · 위치 · 방향 ·
형상 · 길이 · 개수 · 근거 · 비고. Metadata per bar from the rebar documents.
- 근거 badges: 입력 / 기본값 / 계산 / 가정 (the 가정 badge is italic amber).
- 번호 click highlights that row.
- 알림: [보기] opens the member tab; I02 [입력] focuses the fck input.
- Member tabs show the warning count.
- 공통 설정 moved to the right column (알림 → 검토 필요 → 공통 설정), as in the 시안.
- The 시안's "fck를 입력해야 생성" blocker is not used: the defaults are assumed
values (I02), as decided on 2026-10-22.
- Not in this step: the drawings and the 정면·단면 연동 (시안 도면 뷰어).
- Not verified in a browser.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- Material {fck, fyH, fyS}, defaults 27 / 400 / 500 as assumed values (I02).
The rebar calculations take the material: the C7/C8 splice, the P2 development
length, the P3 lap, and the B2 split use it instead of fixed numbers.
- ③ screen: 공통 설정 inputs with a note that the defaults are assumed (I02).
- Project file stores the material as an optional field; older files open with
the defaults.
- Tests: fck 27 → 35 shortens the laps by √(27/35); the C7 piece follows fck;
a non-default fy drops I02; the file round trip.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- Footing (확대기초철근 (1).md): grid counts from W and L, layer heights,
B1–B4 and B5–B8 counts and lengths (B2 13646, B6 11396), B10-1/B10-2,
B11 (60) and B12 (47) with their lengths. B9 is not computed yet.
- rebarSummary: one 철근표 per pier from the model (bearing, coping, column,
footing), with alerts: RB-F08 (B2 needs a splice, Q-B6), RB-F09 (B9 not
computed).
- ③ screen v1: stage nav button, member tabs (받침블럭 · 코핑 · 기둥 · 확대기초),
rebar table with 번호 · 규격 · 개수 · 길이 · 비고, alert list, and the open
questions (Q-B5, Q-B6, Q-C9). Drawings and the 강조 연동 are not in v1.
- Tests: footing values from the document; P1 summary totals; warnings.
- Not verified in a browser.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- A 열 is one row across the footing width; each has its own count along the
length. Default floor((L − 1400) / 2250) + 1 per 열, as in spec §4.6.
- Counts are validated: one per 열, whole numbers 2–30. Spacing below the
2250 mm minimum is shown as a warning, not refused (the plan's 6본 → 5@1800
example).
- PierInput gains an optional pileRows; absent means the defaults, so existing
files and the P1 results are unchanged.
- Change tracking compares arrays by value; 열별 본수 can be reverted and
copied (copy item off by default).
- The footing card has −/+ per 열 with spacing, total, and the display string.
- Tests: defaults 4열 × 5본 = 20 and the 1단계 text; 6본 → 5@1800; limits;
model-level 21 piles.
- Not verified in a browser.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- C5: each member's options come from one table. Only the defaults (the 1단계
model) are selectable. The others show as disabled chips with 규칙 미정 (Q6).
The member summary is built from the defaults.
- C6: 전체 선택 acts only on visible, buildable piers; it reads 선택 해제 only
when all of those are checked. A check survives a change of the type filter.
The pier list scrolls past 300 px, for 20 piers.
- Tests: defaults are the only choices; unknown options refused; the 20-pier
mixed list with two failed piers; filter and check persistence.
- Not verified in a browser.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- ① and ② are switched from the stage nav. ② shows the pier list with change
counts, the five members (교량받침, 코핑, 기둥, 확대기초·말뚝, 지반·지층) with
a change count each, a member card, and a change list with per-item revert.
- The member card shows 기본 and 선택 summaries separately. Only members with
existing inputs get fields (코핑 폭·길이, 말뚝 길이); the others show values
and a note that their inputs come in a later step. Unselected members' inputs
are not shown.
- The field rows are shared between ① and ②.
- Added a global [hidden] rule so hidden screens stay hidden.
- Not verified in a browser.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- 속성 복사… opens the four-step dialog: source (current inputs), items,
targets (same-type filter on by default), and a preview with changed values
and skipped items per target. Apply changes only the visible, ticked targets.
- Items that the model does not have yet (기둥, 받침, 배근, 기초 형상) are shown
as 예정 and disabled. Coping length and pile length are off by default.
- Option: regenerate the targets right after applying (default on); otherwise
they show as 재생성 필요 through the normal change tracking.
- Not verified in a browser.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- Header follows the mockup: dark bar, project line, stage chips (② shows the
pending change count), save status, 저장 / 엑셀 불러오기 / 프로젝트 열기 and
the primary 선택 교각 다시 생성 · 변경 n button.
- Left column: pier list with header row, 선택 n기 bulk bar, 입력값 and the
2단계 input card. The bottom input panel is gone.
- First save opens 시안 ⑤ (project name, bridge, client, author, 좌표계, memo);
later Ctrl+S / 저장 write the same file, as the spec's B5 requires.
- Project info (client, author, 좌표계, memo) is kept in the project file.
- Style layer uses the mockup's tokens (#18212B header, #1F5FA8 primary,
#D5DBE2 borders, #E3EDF8 selected row, JetBrains Mono for numbers).
- Not reflected: ② and ③ screens (not built yet), and the mockup's static
front preview (the app draws the model in 3D). Not verified in a browser.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- Three values per pier: defaults (as imported), input (generated), draft
(current cards). Overrides = draft vs defaults; pending = draft vs input.
- Editable now: 코핑 폭, 코핑 길이, 말뚝 길이. Changing a card does not touch the
3D view until 다시 생성; the header and the card show 변경 n.
- Revert puts a field back to its imported default.
- Project files store defaults and draft (optional; v1 files still open).
- Tests: 코핑 폭 3100 → 3300 gives one override and one pending change;
regenerating clears pending but keeps the override; revert; file round trip.
- Not verified in a browser (no debuggable Chrome in this session).
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- 저장 (Ctrl+S) downloads <교량명>_교각설계.pzr.json; 프로젝트 열기 reads it
back and regenerates every pier without the source workbook.
- Save status in the header: 저장 전 / 변경 있음 · 미저장 / 저장됨. The
snapshot excludes the history so a save is not counted as a change.
- Auto-backup to IndexedDB 0.8 s after changes while unsaved; on start a banner
offers recovery or discard. Storage failures are reported, not fatal.
- beforeunload warns while there are unsaved changes.
- B1 (default-vs-changed tracking) is not added yet: inputs are not editable
until the 2단계 input cards exist.
- Not verified in a browser (no debuggable Chrome in this session).
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- buildTemplateWorkbook: 교각 · IP · 받침 sheets with the headers the parser
reads; value cells left empty so no blank-name rows raise E05
- dialog button 입력 템플릿 다운로드 (.xlsx)
- tests: sheet order, parser recognition, write-and-read round trip
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- main screen follows 시안 ①: header steps, pier list with type filter and
multi-select, viewer with 아이소/정면/측면/평면, part toggles in mockup order,
input panel and result sections
- import moved to a modal dialog following 시안 ④: project name (required),
file drop and pick, per-sheet recognition with selectable piers, preview of
pier and bearing tables, glossary of Excel column names
- Esc closes the dialog and focus stays inside it (native dialog)
- 44px touch targets and 2px focus rings; colours from the mockup tokens
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- parseWorkbook returns a report per sheet (table counts, issues, ok)
- sheets with E-level issues cannot be selected (spec section 2.3)
- pier input carries its source sheet name
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
- three.js scene in the pier frame (pivot at first column centre)
- coping as extruded elevation outline; columns, footings, piles, blinding, bearing blocks and pads
- four view presets, per-part visibility toggles
- workbook load (sample or file), result table, issue list and undetermined defaults
- frame orientation test and bounding-box test
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>