pascalorg

pascalorg / editor

#2
12,6161,549+1,391 todayTypeScript

Create and share 3D architectural projects.

💡 Use Cases

这是一个基于现代Web技术栈的3D建筑编辑器框架,适合需要快速开发建筑可视化、室内设计或城市规划类Web应用的项目。

快速搭建3D建筑编辑器

Problem: 开发者需要创建一个交互式的3D建筑编辑工具,但不想从零开始处理复杂的3D渲染、状态管理和几何生成。

Solution: 使用Pascal Editor的完整架构,包括核心节点系统、几何生成系统和React Three Fiber渲染层,快速构建一个功能完整的建筑编辑器。

Example: 房地产公司需要内部工具让设计师快速绘制户型图并生成3D预览,可以直接基于此项目开发,无需自己实现墙体生成、门窗开洞等复杂几何计算。

集成建筑可视化到现有应用

Problem: 现有Web应用需要添加3D建筑可视化功能,但希望保持轻量级且易于与现有状态管理集成。

Solution: 单独使用@pascal-app/viewer包,它提供了完整的3D渲染、相机控制和场景管理,通过Zustand store与主应用状态同步。

Example: 物业管理平台需要在资产详情页展示楼层的3D布局,可以引入viewer组件,通过useViewer store控制楼层显示模式(堆叠/展开/单独显示)。

实现建筑数据的持久化与撤销

Problem: 建筑编辑场景中用户操作频繁,需要可靠的数据持久化和多步撤销/重做功能。

Solution: 利用项目内置的Zustand持久化中间件(IndexedDB)和Zundo时间旅行功能,自动保存场景状态并支持50步历史记录。

Example: 用户在设计办公室布局时,可以随时撤销之前的墙体修改或家具摆放,关闭浏览器后重新打开也能恢复上次编辑的状态。

扩展自定义建筑组件

Problem: 需要为特定行业(如医院、工厂)创建专用的建筑组件和几何生成逻辑。

Solution: 基于项目的节点系统和渲染器架构,开发自定义节点类型和对应的System组件,在渲染循环中处理特定几何生成。

Example: 医院设计工具需要特殊的病房隔断和医疗设备挂载点,可以创建MedicalWallNode并实现对应的MedicalWallSystem来处理消毒材料等特殊几何要求。

📊 Project Info

Language
TypeScript
Stars
12,616
Forks
1,549
Today
+1,391
Ranking
#2
Collection
Overall
Trending Date
April 15, 2026
Last Push
4/15/2026