pascalorg/editor
Create and share 3D architectural projects.
Use Cases
{"scenarios":[{"title":"快速搭建3D建筑编辑器","problem":"开发者需要创建一个交互式的3D建筑编辑工具,但不想从零开始处理复杂的3D渲染、状态管理和几何生成。","solution":"使用Pascal Editor的完整架构,包括核心节点系统、几何生成系统和React Three Fiber渲染层,快速构建一个功能完整的建筑编辑器。","example":"房地产公司需要内部工具让设计师快速绘制户型图并生成3D预览,可以直接基于此项目开发,无需自己实现墙体生成、门窗开洞等复杂几何计算。"},{"title":"集成建筑可视化到现有应用","problem":"现有Web应用需要添加3D建筑可视化功能,但希望保持轻量级且易于与现有状态管理集成。","solution":"单独使用@pascal-app/viewer包,它提供了完整的3D渲染、相机控制和场景管理,通过Zustand store与主应用状态同步。","example":"物业管理平台需要在资产详情页展示楼层的3D布局,可以引入viewer组件,通过useViewer store控制楼层显示模式(堆叠/展开/单独显示)。"},{"title":"实现建筑数据的持久化与撤销","problem":"建筑编辑场景中用户操作频繁,需要可靠的数据持久化和多步撤销/重做功能。","solution":"利用项目内置的Zustand持久化中间件(IndexedDB)和Zundo时间旅行功能,自动保存场景状态并支持50步历史记录。","example":"用户在设计办公室布局时,可以随时撤销之前的墙体修改或家具摆放,关闭浏览器后重新打开也能恢复上次编辑的状态。"},{"title":"扩展自定义建筑组件","problem":"需要为特定行业(如医院、工厂)创建专用的建筑组件和几何生成逻辑。","solution":"基于项目的节点系统和渲染器架构,开发自定义节点类型和对应的System组件,在渲染循环中处理特定几何生成。","example":"医院设计工具需要特殊的病房隔断和医疗设备挂载点,可以创建MedicalWallNode并实现对应的MedicalWallSystem来处理消毒材料等特殊几何要求。"}],"summary":"这是一个基于现代Web技术栈的3D建筑编辑器框架,适合需要快速开发建筑可视化、室内设计或城市规划类Web应用的项目。"}