feat(core,view): bent coping stage 2 — mitred coping, stretch-local bearings, blocks and columns
- buildPier builds on buildAxis: each object carries its stretch k and a local s from that stretch's base; coping parts are per stretch with the mitre plane trimming the overlap in the scene (renderer.localClippingEnabled). - Straight P1 output is unchanged (regression tests pass). - Bent coping is supported for 현장타설말뚝 only; footings and piles on a bent axis remain 미실시 until stage 3. Kink outside the coping and columns within the Level half-width of the kink are refused. - W03/W04 use coping coordinates (g). - Tests: constructed 60° bend — world coordinates of bearings, blocks and the column survive the stretch frames; mitre sides; scene mesh count; refusals. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
46709be532
commit
5371932cca
6 files changed
+295
-78
No files matched your search
@@ -92,7 +92,7 @@ describe('bearing and block checks (spec §10 W03, W04)', () => {
|
||||
it('W03 when a bearing centre is closer than half a block width to a step boundary', () => {
|
||||
const m = buildPier(loadP1());
|
||||
const boundary = m.segments[1].s0;
|
||||
const bearings = m.bearings.map((b, k) => (k === 0 ? { ...b, s: boundary + 0.3 } : b));
|
||||
const bearings = m.bearings.map((b, k) => (k === 0 ? { ...b, g: boundary + 0.3 } : b));
|
||||
const issues: Issue[] = [];
|
||||
validatePier(loadP1(), { ...m, bearings }, issues);
|
||||
expect(issues.map((i) => i.code)).toContain('W03');
|
||||
@@ -100,7 +100,7 @@ describe('bearing and block checks (spec §10 W03, W04)', () => {
|
||||
|
||||
it('W04 when a block footprint extends past the coping end', () => {
|
||||
const m = buildPier(loadP1());
|
||||
const blocks = m.blocks.map((b, k) => (k === 0 ? { ...b, s: 0.1 } : b));
|
||||
const blocks = m.blocks.map((b, k) => (k === 0 ? { ...b, g: 0.1 } : b));
|
||||
const issues: Issue[] = [];
|
||||
validatePier(loadP1(), { ...m, blocks }, issues);
|
||||
expect(issues.map((i) => i.code)).toContain('W04');
|
||||
|
||||
Reference in new issue
Block a user