Commit Graph

58 Commits

Author SHA1 Message Date
7f3be8495c fix(tests): 修复 AliasTreeTests 编译错误并更新过时旧格式兼容测试
- SetAlias 调用补全缺失的 alias 参数(DeleteByPathPrefix 测试)
- 移除 4 个旧格式兼容测试,改为期望抛 FormatException
  (FromKey 已按 AGENTS.md "不向后兼容" 原则移除旧格式支持)
2026-06-23 23:12:40 +08:00
f86e8c8bf4 fix: 贴合地面后绕垂直轴搜索最小截面 yaw,对齐路径方向
贴地旋转已固定俯仰/翻滚,只剩绕宿主 Up 的 yaw 自由度。
对 CAD 姿态天然歪斜的物体,假设 local +X 是长轴会失败,
改为搜索 [0,360) 使物体在路径方向的截面投影面积最小,
与自动调整同目标但单自由度搜索更稳定。

- 新增 AlignToGroundMinCrossSectionYawSearcher(粗搜5°+细搜1°)
- 复用 ObjectPassageProjectionOptimizer.ProjectExtent 的 AABB 投影公式
- 新增 7 个单测覆盖平地/倾斜/CAD歪斜/垂直退化/立方体
- 经多物体实测验证:Chair Lounge Couch / Chair Sitting Square 均正确对齐
2026-06-23 23:09:59 +08:00
4feb12f6b9 refactor: AliasNodeIdentity dual-field + reuse ModelItemAnalysisHelper
- 新增 IndexPath(COM 树索引路径),复用 ModelItemAnalysisHelper.GetModelItemIndexPaths
- 保留 DisplayPath(父链 DisplayName 拼接)作为降级匹配
- 序列化格式:"IndexPath||DisplayPath",向后兼容纯 DisplayPath
- FindModelItemByNodeKey: IndexPath 优先定位,DisplayPath 降级
- BuildNode: 新增旧格式兼容查找
- 单元测试全面更新覆盖新/旧格式、双字段解析、前缀匹配
2026-05-31 12:52:26 +08:00
3f985aa235 phase 1: data layer for alias tree
- AliasNodeIdentity: stable composite node identifier (path + sibling index)
- AliasDataStore: CRUD operations on SQLite AliasMap table
- PathDatabase: add AliasMap table creation + index
- Unit tests: 30 tests for identity parsing/equality, store CRUD/batch/import
- Both projects compile successfully
2026-05-31 12:46:33 +08:00
7187bcf622 自动最优朝向: 黑盒实测模式
- 新增 ObjectPassageProjectionOptimizer(SO(3)粗搜索+Nelder-Mead)
- EditRotationWindow 加入"自动调整"按钮
- AnimationControlViewModel 实现黑盒实测评估(临时摆位→读BoundingBox→恢复)
- 设计文档和实现计划
2026-05-27 12:24:01 +08:00
454f1e6584 Fix auto path grid restore and validation 2026-04-26 19:11:03 +08:00
28d0708858 Lock selection clip box after activation 2026-04-15 16:02:12 +08:00
1a9d0972f0 Fix auto path obstacle geometry collection 2026-04-14 09:22:01 +08:00
fdb857af17 Refactor auto path planning coordinate semantics 2026-04-13 10:31:14 +08:00
b849bd9aed Add Navisworks automation integration tests 2026-04-13 02:33:29 +08:00
315fa46043 Unify planar collision pose replay 2026-04-12 15:01:33 +08:00
5a03c3aa6c preserve planar collision pose rotations 2026-04-10 22:02:43 +08:00
1a9c9ecd21 fix collision report save timing 2026-04-10 00:16:55 +08:00
da5f8a1ae1 add ground object lift adjustment 2026-04-09 23:53:40 +08:00
6020bfa979 fix hoisting descend point reuse 2026-04-09 23:28:12 +08:00
4fbab52880 clean legacy planar pose branches 2026-04-09 23:08:59 +08:00
3892ddabab Stabilize ground incremental rotation and extent tests 2026-04-09 21:09:43 +08:00
405f721811 Ground real-object incremental path updates 2026-04-08 23:06:42 +08:00
8a7563a4fe Clarify ground tracked-point semantics 2026-04-06 08:55:53 +08:00
348b3a75bf 修复地面倾斜路径偏移的问题 2026-04-05 14:03:41 +08:00
4ec4cf77ee Refine path viewpoint behavior and config editing 2026-04-02 22:14:26 +08:00
24951d4205 Stabilize hoisting start-pose logging and caching 2026-04-02 01:32:31 +08:00
9e8fea3241 Unify real-object override rotation application 2026-04-02 00:19:36 +08:00
7ff510daf0 Use actual hoisting pose without fragment fallback 2026-04-02 00:15:58 +08:00
953306fdb1 Stabilize hoisting pose flow and bounds inspection 2026-04-01 23:53:11 +08:00
e71ea81cdf Fix rail assembly normals and tighten rail camera 2026-04-01 20:12:57 +08:00
2e0b26e032 Refine rail assembly workflow and viewpoint strategies 2026-04-01 10:47:34 +08:00
d4c49fc227 Stabilize hoisting pose adjustment flow 2026-03-31 00:14:18 +08:00
cb56737041 Preserve terminal pose when translating rail objects to path start 2026-03-30 23:35:01 +08:00
9093374399 Use actual hoisting pose baseline for real objects 2026-03-29 23:36:43 +08:00
382923fa32 Relax fragment pose parsing and add fallback 2026-03-29 01:17:06 +08:00
f4735b164e Refine rail real-object pose handling 2026-03-28 22:22:18 +08:00
7851e6affa Map real-object angle adjustments from host axes 2026-03-28 22:21:11 +08:00
7db5a7a201 Add path duplication workflow 2026-03-28 12:36:24 +08:00
2b6f54898a Fix rail assembly anchor alignment 2026-03-26 13:37:33 +08:00
3a5693a453 Add rail mount placement controls and persistence 2026-03-26 01:01:01 +08:00
921dc07856 Fix ground real-object forward axis and compensation 2026-03-25 17:19:21 +08:00
aabf263f0d Fix host rotation adapter split for real and virtual objects 2026-03-25 11:18:03 +08:00
029c7e37ad Checkpoint current pose and path state 2026-03-25 01:41:15 +08:00
138eb43a67 Unify real-object rail pose interpretation 2026-03-25 00:11:07 +08:00
6c74ea1319 Fix host-axis rotation correction for real objects 2026-03-24 21:59:53 +08:00
290df34dec Interpret fragment up for real object pose 2026-03-24 21:04:24 +08:00
8d10f959b2 Add fragment up detection and real object pose probes 2026-03-24 19:06:50 +08:00
eaf24420b7 修正真实物体的旋转和通行空间不适配的问题 2026-03-23 22:46:38 +08:00
d52b1aef08 Checkpoint animation rotation refactor state 2026-03-23 21:00:02 +08:00
1cf4fe5967 Align terminal rail normals and object space rendering 2026-03-23 12:25:00 +08:00
e9128282b5 Fix rail rotation correction semantics 2026-03-23 00:11:49 +08:00
93ad55c725 Refine assembly installation workflow UI 2026-03-22 23:58:11 +08:00
70aaff10bf Add assembly end-face guided optical axis 2026-03-22 19:45:09 +08:00
1802eda971 Separate asset axis conventions from host coordinates 2026-03-22 13:30:35 +08:00