Import S-CANVAS source + iter=1~7 lint cleanup
S-CANVAS (Saman Corp.) — DXF + DEM + AI 기반 3D 조감도 생성 엔진. ~24k LOC Python (scanvas_maker.py 7072 LOC GUI + 구조물 파서/빌더 다수). 이 커밋은 7-iter cleanup이 적용된 상태로 import: - F821 8 + B023 6: 비동기 lambda + except/loop 변수 캡처 NameError (Py3.13에서 reproduce 확인된 진짜 버그) - RUF012 4 + RUF013 1: ClassVar / implicit Optional 명시화 - F811/B905/B904/F401/F841/W293/F541/UP/SIM/RUF/PLR 700+ cleanup/modernization 신규 파일: - ruff.toml: target=py313, Korean unicode/저자 스타일/도메인 복잡도 무력화 - requirements-py313.txt: pyproj>=3.7, scipy>=1.14, numpy>=2.0.2 (Py3.13 wheel) - .gitignore: gcp-key.json, 캐시, 백업, 생성 이미지 제외 검증: ruff 0 errors, py_compile 0 errors, import 33/33 OK on Py3.13.13. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
168
structure_types/structure_v1.yaml
Normal file
168
structure_types/structure_v1.yaml
Normal file
@@ -0,0 +1,168 @@
|
||||
version: "v1"
|
||||
description: "S-CANVAS 구조물 유형 레지스트리 - 댐/도로/단지/하천 범용"
|
||||
|
||||
types:
|
||||
terrain:
|
||||
name_ko: "지형 (등고선)"
|
||||
render_mode: "tin"
|
||||
color: "#8B7355"
|
||||
description: "Z값이 있는 등고선/지형 데이터 → TIN 생성에 사용"
|
||||
z_source: "entity"
|
||||
|
||||
excavation:
|
||||
name_ko: "굴착"
|
||||
render_mode: "surface_overlay"
|
||||
color: "#D4A373"
|
||||
z_offset: -2.0
|
||||
opacity: 0.7
|
||||
description: "굴착 계획 영역 (폐합 폴리라인 → 지형 아래 면)"
|
||||
|
||||
embankment:
|
||||
name_ko: "성토/제체"
|
||||
render_mode: "surface_overlay"
|
||||
color: "#A0522D"
|
||||
z_offset: 3.0
|
||||
opacity: 0.7
|
||||
description: "성토/댐 제체 영역 (폐합 → 지형 위 면)"
|
||||
|
||||
road:
|
||||
name_ko: "도로/공사용도로"
|
||||
render_mode: "path_extrude"
|
||||
color: "#3D3D3D"
|
||||
width: 6.0
|
||||
z_offset: -0.3
|
||||
slope_ratio: 1.5
|
||||
description: "도로 중심선 → 지형을 깎아 평탄화 + 양쪽 굴착사면 생성 (1:1.5)"
|
||||
|
||||
cofferdam_upstream:
|
||||
name_ko: "상류 가물막이"
|
||||
render_mode: "wall_extrude"
|
||||
color: "#6C757D"
|
||||
height: 8.0
|
||||
thickness: 2.0
|
||||
description: "유수전환 상류 가물막이 (폐합/선형 → 벽체)"
|
||||
|
||||
cofferdam_downstream:
|
||||
name_ko: "하류 가물막이"
|
||||
render_mode: "wall_extrude"
|
||||
color: "#8D9CA6"
|
||||
height: 6.0
|
||||
thickness: 2.0
|
||||
description: "유수전환 하류 가물막이"
|
||||
|
||||
diversion:
|
||||
name_ko: "유수전환 수로"
|
||||
render_mode: "path_extrude"
|
||||
color: "#4A90D9"
|
||||
width: 8.0
|
||||
z_offset: -3.0
|
||||
description: "유수전환 터널/수로 중심선"
|
||||
|
||||
spillway:
|
||||
name_ko: "여수로 (수로)"
|
||||
render_mode: "path_extrude"
|
||||
color: "#2E86C1"
|
||||
width: 12.0
|
||||
z_offset: -1.0
|
||||
description: "여수로 수로 중심선 (수문 아님 — 수문은 spillway_gate)"
|
||||
|
||||
spillway_gate:
|
||||
name_ko: "수문 (여수로 게이트)"
|
||||
render_mode: "box_extrude"
|
||||
color: "#34495E"
|
||||
height: 8.0
|
||||
description: "여수로 수문 — 평면도에서는 위치만 잡고 상세도면으로 3D 빌드"
|
||||
|
||||
intake_tower:
|
||||
name_ko: "취수탑"
|
||||
render_mode: "box_extrude"
|
||||
color: "#566573"
|
||||
height: 25.0
|
||||
description: "취수탑 — 평면도에서는 위치만 잡고 상세도면으로 3D 빌드"
|
||||
|
||||
valve_chamber:
|
||||
name_ko: "제수변실/밸브실"
|
||||
render_mode: "box_extrude"
|
||||
color: "#707B7C"
|
||||
height: 3.5
|
||||
description: "제수변실/밸브실 — 평면도에서는 위치만 잡고 상세도면으로 3D 빌드"
|
||||
|
||||
building:
|
||||
name_ko: "건축물/가설건물"
|
||||
render_mode: "box_extrude"
|
||||
color: "#BDC3C7"
|
||||
height: 5.0
|
||||
description: "건축물 평면 (폐합 → 박스 extrude)"
|
||||
|
||||
temp_facility:
|
||||
name_ko: "가설부지/야적장"
|
||||
render_mode: "surface_overlay"
|
||||
color: "#E8DACC"
|
||||
z_offset: 0.5
|
||||
opacity: 0.6
|
||||
description: "임시 시설 부지 영역"
|
||||
|
||||
bridge:
|
||||
name_ko: "교량"
|
||||
render_mode: "elevated_path"
|
||||
color: "#95A5A6"
|
||||
width: 10.0
|
||||
height: 8.0
|
||||
description: "교량 (선형 → 공중 경로)"
|
||||
|
||||
tunnel:
|
||||
name_ko: "터널"
|
||||
render_mode: "path_extrude"
|
||||
color: "#555555"
|
||||
width: 10.0
|
||||
z_offset: -15.0
|
||||
description: "터널 (선형 → 지하 경로)"
|
||||
|
||||
retaining_wall:
|
||||
name_ko: "옹벽"
|
||||
render_mode: "wall_extrude"
|
||||
color: "#7F8C8D"
|
||||
height: 4.0
|
||||
thickness: 0.5
|
||||
description: "옹벽 (선형 → 수직 벽체)"
|
||||
|
||||
revetment:
|
||||
name_ko: "호안"
|
||||
render_mode: "surface_overlay"
|
||||
color: "#B8B8B0"
|
||||
z_offset: 0.0
|
||||
opacity: 0.5
|
||||
description: "하천 호안 영역"
|
||||
|
||||
pipeline:
|
||||
name_ko: "관로"
|
||||
render_mode: "tube_path"
|
||||
color: "#1ABC9C"
|
||||
diameter: 1.5
|
||||
z_offset: -2.0
|
||||
description: "관로/파이프라인 중심선"
|
||||
|
||||
boundary:
|
||||
name_ko: "경계선 (참고용)"
|
||||
render_mode: "line_only"
|
||||
color: "#E74C3C"
|
||||
line_width: 2.0
|
||||
description: "부지 경계, 사업 범위 등 참고 표시선"
|
||||
|
||||
ignore:
|
||||
name_ko: "무시 (사용 안 함)"
|
||||
render_mode: "none"
|
||||
color: "#CCCCCC"
|
||||
description: "이 레이어의 요소는 무시"
|
||||
|
||||
# 렌더 모드 설명
|
||||
render_modes:
|
||||
tin: "Z값 있는 점 → TIN 표면 생성"
|
||||
surface_overlay: "폐합 폴리라인 → TIN 위에 면 오버레이"
|
||||
path_extrude: "선형 → 폭/오프셋으로 도로/수로 면 생성"
|
||||
wall_extrude: "선형/폐합 → 수직 벽체 생성"
|
||||
box_extrude: "폐합 → 일정 높이 박스 생성"
|
||||
elevated_path: "선형 → 공중 경로 (교량)"
|
||||
tube_path: "선형 → 원형 단면 튜브"
|
||||
line_only: "선만 표시 (3D 면 없음)"
|
||||
none: "렌더링 안 함"
|
||||
Reference in New Issue
Block a user