트렌딩 목록으로
TypeScript

pascalorg / editor

3D 건축 프로젝트를 만들고 공유하세요.

15.8K
2.1K
약 2개월 전
GitHub에서 보기

이 프로젝트에 대해

pascalorg 님의 editor 프로젝트는 GitHub에서 15.8K개의 별을 받으며 많은 개발자들의 주목을 받고 있습니다. 특히 TypeScript 환경에서 유용하게 활용될 수 있으며, 최근 오픈소스 커뮤니티에서 활발한 기여와 토론이 이루어지고 있는 트렌딩 레포지토리입니다.

Language Breakdown

TypeScript 100%CSS 0%Shell 0%JavaScript 0%

🇰🇷 한국어 번역 README

캐시 히트

파스칼 에디터

React Three Fiber와 WebGPU로 구축된 3D 건물 에디터입니다.

저장소 구조

이 저장소는 세 가지 주요 패키지를 포함한 Turborepo 모노레포입니다:

역할 분리

패키지책임
@pascal-app/core노드 스키마, 씬 상태(Zustand), 시스템(지오메트리 생성), 공간 쿼리, 이벤트 버스
@pascal-app/viewerReact Three Fiber를 통한 3D 렌더링, 기본 카메라/컨트롤, 후처리
apps/editorUI 컴포넌트, 도구, 커스텀 동작, 에디터 전용 시스템

**뷰어(viewer)**는 합리적인 기본값으로 씬을 렌더링합니다. **에디터(editor)**는 상호작용 도구, 선택 관리, 편집 기능으로 이를 확장합니다.

스토어

각 패키지는 상태 관리를 위해 자체 Zustand 스토어를 가지고 있습니다:

스토어패키지책임
useScene@pascal-app/core씬 데이터: 노드, 루트 ID, 변경된(Dirty) 노드, CRUD 작업. IndexedDB에 영구 저장되며 Zundo를 통한 실행 취소/재실행 지원
useViewer@pascal-app/viewer뷰어 상태: 현재 선택(건물/층/구역 ID), 층 표시 모드(쌓기/분리/단독), 카메라 모드
useEditorapps/editor에디터 상태: 활성 도구, 구조 레이어 가시성, 패널 상태, 에디터 전용 환경 설정

접근 패턴:


핵심 개념

노드(Nodes)

노드는 3D 씬을 설명하는 데이터 원시 요소입니다. 모든 노드는 BaseNode를 확장합니다:

노드 계층 구조:


🌐 본 텍스트는 빠른 이해를 돕기 위한 요약 번역본입니다. 정확한 기술 정보 및 전체 코드는 GitHub 원문에서 확인하실 수 있습니다.

이 정보는 AI가 자동으로 분석한 결과입니다. 정확한 내용은 원문을 확인하세요.

pascalorg/editor GitHub 원문 바로가기 →