- ground-model.ts: read and check schema 1 of the Python ground model.
- ② 지반·지층 card: import the json, show the DTM value beside the excel
value, and apply it only when the user presses the button (tracked as an
override, revertible).
- groundEl becomes an editable, tracked input; the project file keeps the
imported model and checks it on open.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The footing card takes L, W, h1 (default 2000), the blinding margin on each side (100) and thickness (100). The pile is picked
from the 강관 or PHC list by outer diameter and wall; the inner diameter, area and weight are read from the list. Defaults are
the 1단계 constants, so P1 is unchanged. The model reads them (footing width, height, blinding, pile diameter; the footing
length for grouping). 복합 말뚝 and the rule-pending items stay disabled; the footing rebar is not yet tied to these
inputs (1·2단계 후).
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
D is an input on the column card (default 2000 mm). The 3D column, the piles of a cast-in pier and the column rebar follow it;
n_div stays 46. Three checks run on each regenerate and appear in 알림: D below the Level width (2100), D + 2c within the
coping width, and the 주철근 arc spacing ≥ max(1.5·d_b, 40). Spec §5.2 records the rule (approved 2026-10-23).
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The three values are inputs on the coping card, with the P1 values (1000 · 1500 · 2100) when absent, and they are tracked
like the other shape inputs. The geometry and the coping rebar read them from one CopingGeom: the U heights follow the
closed form (h1 − 2c) + h2·min(x_s, x_L0)/x_L0, which reproduces the P1 values. The side rows are assumed to keep their
position relative to the Level underside (명세 확인 필요). P1 results are unchanged; the full suite passes.
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>
- 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>