Files
Pier_v1/tests/abut-visibility.test.ts
T
ypshimandClaude Haiku 5.5 929f8eb4a2 feat(plan): 형상계획 ②에서 선택한 교대만 3D와 카드에 표시
- 교대를 고르면 교각 장면·철근을 만들지 않고 선택한 교대만 그림. 교각을 고르면 교대를 숨김 (src/core/abut/visibility.ts)
- ①의 전체 보기와 ③·④는 기존 동작 유지
- 교대 선택 시 ②의 부재 목록·코핑 카드·속성 복사를 숨기고 교대 카드만 표시
- 카메라 맞춤은 보이는 객체만 포함
- 테스트 623건 통과, 타입 검사·빌드 통과. 브라우저 시각 확인은 미실시

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-11-03 15:06:50 +09:00

29 lines
1.1 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import { abutShown, piersShown } from '../src/core/abut/visibility';
describe('형상계획 ②: 선택한 객체만 3D에 그림', () => {
it('a selected abutment hides the piers in ②', () => {
expect(piersShown('plan', 'A1')).toBe(false);
expect(abutShown('plan', 'A1', 'A1')).toBe(true);
expect(abutShown('plan', 'A1', 'A2')).toBe(false);
});
it('a selected pier (no abutment selected) hides every abutment in ②', () => {
expect(piersShown('plan', null)).toBe(true);
expect(abutShown('plan', null, 'A1')).toBe(false);
expect(abutShown('plan', null, 'A2')).toBe(false);
});
it('① keeps the piers and every abutment as before', () => {
expect(piersShown('shape', 'A1')).toBe(true);
expect(piersShown('shape', null)).toBe(true);
expect(abutShown('shape', 'A1', 'A2')).toBe(true);
expect(abutShown('shape', null, 'A1')).toBe(true);
});
it('③ and ④ are not affected by the abutment selection', () => {
expect(piersShown('rebar', 'A1')).toBe(true);
expect(abutShown('rebar', null, 'A1')).toBe(true);
});
});