Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
54b6035
追加家具相关功能
chou-kyoku Jun 3, 2026
e01148d
bug 修正
chou-kyoku Jun 3, 2026
8767649
外壳以及AI弹窗追加
wangdezihao-gaojunfeng Jun 3, 2026
bf20652
feat(dxf-import): toolbar entry point + needsReview badge
lily2019711 May 29, 2026
f5fec29
init
lily2019711 Jun 2, 2026
550d71e
fix 坐标问题
lily2019711 Jun 2, 2026
a60299a
UI 优化
lily2019711 Jun 2, 2026
a609a00
部分家具解析
lily2019711 Jun 2, 2026
373f144
英文化
lily2019711 Jun 3, 2026
c1b71af
fix(importers): stricter TS compat — non-null assert on LINE.start/en…
lily2019711 Jun 3, 2026
79f864d
fix(importers): non-null assert on DxfRawLine.start/end in geometry p…
lily2019711 Jun 3, 2026
07878c5
合并1.0
wangdezihao-gaojunfeng Jun 3, 2026
488bb99
feat:统一英文改造
wangdezihao-gaojunfeng Jun 4, 2026
802e5b2
feat:AI悬浮窗改为侧边栏
wangdezihao-gaojunfeng Jun 4, 2026
ae2c062
调整导入dxf默认选项
lily2019711 Jun 4, 2026
677617a
feat:弹窗形式修改
wangdezihao-gaojunfeng Jun 4, 2026
b281276
feat:远程访问配置
wangdezihao-gaojunfeng Jun 5, 2026
3fa6c9c
feat(exporter): DXF export improvements — wall breaks, furniture foot…
lily2019711 Jun 5, 2026
71f6a32
fix(exporter): correct DXF Y-axis mirror — negate Y and swap arc angl…
lily2019711 Jun 5, 2026
8b55c78
feat:配置手册与ai跳转路径修改
wangdezihao-gaojunfeng Jun 5, 2026
b50f378
Merge branch 'develop' of https://github.com/lytech2020/pascalorg-edi…
wangdezihao-gaojunfeng Jun 5, 2026
9e2db55
fix(exporter): make DXF output AutoCAD-compatible (AC1015 format)
lily2019711 Jun 5, 2026
1aaa634
fix(import/export): DXF import/export improvements
lily2019711 Jun 5, 2026
37af24e
fix(exporter): eliminate eHandleInUse — unify to single handle counter
lily2019711 Jun 5, 2026
dc8bffa
feat:材质功能代理修复
wangdezihao-gaojunfeng Jun 5, 2026
706deab
fix walkthrough
lily2019711 Jun 8, 2026
d1aa4c9
Merge branch 'develop' of github.com:lytech2020/pascalorg-editor into…
lily2019711 Jun 8, 2026
61b0c6d
fix dxf export
lily2019711 Jun 8, 2026
11b551f
feat:新增修改防抖追加
wangdezihao-gaojunfeng Jun 9, 2026
5fef266
fxi dxf export door style
lily2019711 Jun 9, 2026
b233a29
fix dxf export door open
lily2019711 Jun 9, 2026
59aa1a6
Merge branch 'develop' of github.com:lytech2020/pascalorg-editor into…
lily2019711 Jun 9, 2026
6ac52e3
feat:默认紫色渲染模式
wangdezihao-gaojunfeng Jun 9, 2026
af601db
隐藏dxf预览图文字提示
lily2019711 Jun 9, 2026
bb6eb2f
Merge branch 'develop' of github.com:lytech2020/pascalorg-editor into…
lily2019711 Jun 9, 2026
c8e0708
feat:读取本地图片和视频
wangdezihao-gaojunfeng Jun 9, 2026
4efa8b2
feat:代理资源开放
wangdezihao-gaojunfeng Jun 10, 2026
d71e027
feat:数据库连接修复
wangdezihao-gaojunfeng Jun 10, 2026
2bc0e1c
关闭防碰撞调整网格宽度
chou-kyoku Jun 10, 2026
0f259a8
feat:侧边栏样式修改,全景和360功能优化,截图依赖追加
wangdezihao-gaojunfeng Jun 10, 2026
84ea7b8
feat: 默认场景大小放大,场景居中功能追加
wangdezihao-gaojunfeng Jun 10, 2026
1f2cb20
feat:SqlLite连接稳定性修复
wangdezihao-gaojunfeng Jun 11, 2026
0d71a89
feat: 设置面板追加布局 Z 轴镜像功能
chou-kyoku Jun 11, 2026
cc629aa
Merge remote-tracking branch 'upstream/main' into 0.9.1merge
wangdezihao-gaojunfeng Jun 11, 2026
a6bd076
chore: 清空开发环境自定义 catalog 条目
chou-kyoku Jun 12, 2026
5234011
清空开发环境自定义 catalog 条目
chou-kyoku Jun 15, 2026
c81b5c3
feat:静态示例资源删除,数据处理脚本上传
wangdezihao-gaojunfeng Jun 15, 2026
491b3ed
feat:静态360图片路由方式改造
wangdezihao-gaojunfeng Jun 17, 2026
06b4f15
feat:MCP服务器接口模式改动(适应Dify大模型API模式调用)
wangdezihao-gaojunfeng Jun 22, 2026
ca4cc31
feat:样式规则上传
wangdezihao-gaojunfeng Jun 22, 2026
e66e1fc
feat:样式代码上传
wangdezihao-gaojunfeng Jun 22, 2026
3508de2
feat:字体样式整体修改
wangdezihao-gaojunfeng Jun 22, 2026
9e512b1
feat:显示模型贴图功能开关追加
wangdezihao-gaojunfeng Jun 23, 2026
91a6577
Merge origin/0.9.1merge into develop
wangdezihao-gaojunfeng Jun 23, 2026
9997ebc
feat: 添加场景 IFC/BIM 导出
chou-kyoku Jun 23, 2026
a49d306
fix: 修复 IFC 地板导出几何与来源逻辑
chou-kyoku Jun 23, 2026
7506778
chore: 移除 IFC 导出单元测试
chou-kyoku Jun 23, 2026
9605a7a
feat: export real furniture mesh geometry in IFC BIM output.
chou-kyoku Jun 23, 2026
def8fac
Save current work: restart project and AI/MCP integration updates
zhangtianqides Jul 1, 2026
97447b1
Add evaluation harness and unit tests for scene validation
zhangtianqides Jul 2, 2026
0627aa2
优化测试集,人工标注反馈流程确定,bug fix
zhangtianqides Jul 3, 2026
e35c246
添加家具检查脚本
zhangtianqides Jul 3, 2026
bddecd3
更新模型库
zhangtianqides Jul 3, 2026
d1e15c5
更新case案例,新增家具
zhangtianqides Jul 6, 2026
2d3c4c8
更新更多的家具
zhangtianqides Jul 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
551 changes: 551 additions & 0 deletions .agents/skills/dxf-import/SKILL.md

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion .claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
"allow": [
"Bash(npx turbo:*)"
]
}
},
"enableAllProjectMcpServers": true
}
3 changes: 3 additions & 0 deletions .codex/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[mcp_servers.pascal-dev]
args = ["/Users/user/github/pascal-editor/packages/mcp/dist/bin/pascal-mcp.js"]
command = "bun"
20 changes: 20 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,23 @@

# Dev server port (default: 3000)
# PORT=3000

# AI floor-plan assistant. The service still starts without a key and reports
# its unconfigured state through /api/ai/health.
# AI_PROVIDER=azure-openai
# AZURE_OPENAI_ENDPOINT=https://your-resource.cognitiveservices.azure.com
# AZURE_OPENAI_API_KEY=your_azure_openai_api_key
# AZURE_OPENAI_DEPLOYMENT=your_deployment_name
# AZURE_OPENAI_API_VERSION=2024-10-21

# OpenRouter is also supported when AI_PROVIDER is omitted.
# OPENROUTER_API_KEY=your_openrouter_api_key
# OPENROUTER_MODEL=your_tool_calling_model
# OPENROUTER_FALLBACK_API_KEY=optional_fallback_key
# OPENROUTER_FALLBACK_MODEL=optional_fallback_model

# The editor proxies /api/ai to this internal service URL.
# AI_AGENT_URL=http://127.0.0.1:8788

# Use the same data path for the editor and the AI-spawned Pascal MCP process.
# PASCAL_DATA_DIR=/absolute/path/to/pascal-data
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,18 @@ build
dist
*.tsbuildinfo

# .NET / Visual Studio local state
pascal-reverse-proxy/.vs/
pascal-reverse-proxy/bin/
pascal-reverse-proxy/obj/
pascal-reverse-proxy/*.csproj.user

# Runtime databases
pascal-reverse-proxy/data/
pascal-reverse-proxy/*.db
pascal-reverse-proxy/*.db-shm
pascal-reverse-proxy/*.db-wal


# Debug
npm-debug.log*
Expand All @@ -45,6 +57,7 @@ yarn-error.log*
/.playwright-mcp
og-test
.env*.local
apps/editor/env.download

# Worktrees
.worktrees
Expand Down
10 changes: 10 additions & 0 deletions .mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"mcpServers": {
"pascal-dev": {
"command": "bun",
"args": [
"/Users/user/github/pascal-editor/packages/mcp/dist/bin/pascal-mcp.js"
]
}
}
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Committed local MCP paths

Low Severity

.mcp.json and .codex/config.toml hardcode /Users/user/github/pascal-editor/... for the MCP server binary. Other machines cannot run MCP without editing committed config.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit def8fac. Configure here.

64 changes: 64 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,67 @@ Invoke the `review-architecture` skill (`.agents/skills/review-architecture/SKIL
- After two consecutive tool failures, stop and change approach.
- Don't introduce backwards-compatibility shims, dead code, or speculative abstractions.
- Don't write new comments unless they explain a non-obvious *why*.

---

## DXF Import Feature — File System Job Queue

All DXF import jobs are stored under PASCAL_DATA_DIR/dxf-imports/.

### Directory structure
```
PASCAL_DATA_DIR/
dxf-imports/
2026-05-28/
job_<8位hex>/
original.dxf # 原始上传(只写一次,不可修改)
preview.png # canvas 截图(只写一次)
job.json # job 元数据 + 运行历史
coords_<hhmmss>.json # Channel A 输出(每次运行带时间戳)
semantic_<hhmmss>.json # Channel B 输出
merged_<hhmmss>.json # 融合结果
coords_latest.json # 符号链接 → 最新 coords
semantic_latest.json # 符号链接 → 最新 semantic
merged_latest.json # 符号链接 → 最新 merged
```

### Rules
- Job ID: `crypto.randomBytes(4).toString('hex')`
- Timestamps in filenames: `HHmmss` (local time, no date — date is in parent folder)
- `job.json` must be updated after every step
- Channel A and B run in parallel; each writes its own file independently
- MCP importer reads `merged_latest.json` only
- Never delete job folders — they are the audit trail

### job.json schema
```json
{
"jobId": "a3f9c2e1",
"createdAt": "2026-05-28T14:30:20Z",
"status": "pending|validating|processing|merged|imported|failed",
"sourceFile": "original.dxf",
"sceneId": null,
"params": { "wallThicknessMin": 0.08, "wallThicknessMax": 0.40 },
"runs": [
{
"runAt": "2026-05-28T14:30:22Z",
"coordsFile": "coords_143022.json",
"semanticFile": "semantic_143028.json",
"mergedFile": "merged_143031.json",
"channelBSkipped": false,
"error": null
}
]
}
```

### New files for this feature
- `packages/core/src/lib/importers/job-store.ts` — job 文件夹创建/读写
- `packages/core/src/lib/importers/dxf-validator.ts`
- `packages/core/src/lib/importers/dxf-geometry-parser.ts`
- `packages/core/src/lib/importers/dxf-merge-engine.ts`
- `packages/core/src/lib/importers/mcp-importer.ts`
- `apps/editor/components/tools/ImportDxfTool.tsx`
- `apps/editor/components/DxfPreview.tsx`
- `apps/editor/app/api/vision-analyze/route.ts`
- `apps/editor/app/api/vision-analyze/prompts/floor-plan-analyzer.md`
Loading