f75dcb1f50
refactor: use PathAnimationManager.ApplyQuaternionRotationInPlace
...
- New method mirrors proven ApplyRotationCorrectionInPlace pattern
- ViewModel only calls existing project APIs, no raw OverridePermanentTransform
2026-06-09 03:39:56 +08:00
b17df9aa31
fix: 四元数均匀采样替代欧拉角网格,模式搜索改为四元数邻域
...
- 网格搜索: S³ 均匀随机四元数 → canonical→host Euler,512→256 采样点
- 模式搜索: 7轴×2方向四元数乘法搜索,替代欧拉角 delta
- 去掉 CandidateAngles/Euler 网格+PatternSearchDeltas/NormalizeDegrees
- canonical 空间桥接保证 YUp/ZUp 兼容
2026-06-08 03:35:33 +08:00
51453df037
chore: 更新 CHANGELOG 和 VERSION 至 0.15.6
...
- 记录自动调整评测与姿态对准修正、skipCadRestore 重构
- 记录别名树 DisplayPath 重名修复
- 版本号 0.15.4 → 0.15.6
2026-06-06 13:12:18 +08:00
f5387c8699
fix: 自动调整评测与姿态对准修正
...
1. GetYawFromRotation: 通过 canonical space 转换计算 yaw,修复 YUp 下 atan2(Y,X) 用错平面
2. ApplyRotationCorrectionInPlace: 新增 CAD 原位纯旋转,评测旋转顺序与增量链一致
3. 评测器两轮优化: 先无约束找最小面积,不满足约束再带约束重搜
4. ApplyAutoAdjustedPoseAndMoveToPathStart: 确认时先校正再偏航,不读 CAD yaw
5. OnAutoAdjustClick: 去掉 Y 轴 yaw 叠加
2026-06-06 12:47:12 +08:00
8a8153dba0
fix: use ShouldUseReferenceBasedRealObjectPlanarPose to guard reference rotation capture
...
Ground and Hoisting paths don't consume fragment reference rotation, only Rail does.
Replace manual PathType checks with the existing semantic utility method.
Also fix GetPathRouteSync SELECT missing IsTwoPointVertical column.
2026-06-02 12:41:31 +08:00
a8c5681dfb
feat: separate 2-point vertical hoisting path from regular hoisting
...
- Add IsTwoPointVertical flag on PathRoute to distinguish pure vertical paths
- 2-point paths skip hoisting-specific logic: ResolveHoistingTrackedCenter,
TryCreatePlanarPathRotationForFrame, ground-contact segment classification
- Endpoint semantics: center reaches endpoint (not top-face constrained)
- Frame interpolation applies same ResolveGroundTrackedCenter as move-to-start
- Add database migration for IsTwoPointVertical column
- Update CHANGELOG for v0.15.4
2026-06-01 23:31:00 +08:00
64a27f4c29
feat: add 2-point vertical hoisting path support
...
- Add '2点路径' button in AerialHeightDialog for pure vertical lift
- Handle IsTwoPointMode on first click to create 2-point path directly
- Fix PathTargetFrameResolver to accept 2-point Hoisting paths
- Fix animation yaw for 2-point vertical paths (use _currentYaw)
- Fix TryApplyPlanarRealObjectStartIncrementalTransform to translate even
when no rotation change (was skipping translation for pure vertical)
- Guard _pathPoints[2] access in animation code for <3 points
2026-06-01 22:56:50 +08:00
649c7b50f1
0.15.2 WIP: 自动调整 — 门型偏好、物流车高、上下偏移自动计算、性能优化、日志清理
2026-05-28 23:58:27 +08:00
16a81964f1
优化自动调整: 合并三次旋转为单次 OverridePermanentTransform,NW 调用减少 80%
...
旧代码在 TryApplyPlanarRealObjectStartIncrementalTransform 中通过三次
MoveItemIncrementallyByAxisRotationAndTranslation 依次施加 X、非-up、up 轴
旋转,每轴内部 3 步 (toOrigin→rotate→toTarget),合计 9 次 Override 调用。
新方法 MoveItemCombinedAxisRotationAndTranslation 将三个轴旋转用
四元数 (qYaw × qNonUp × qX) 合成一次,配合组合平移做单次 Reset+Override,
每轮 Evaluator 调用从 ~10 次 NW API 降至 ~3 次,自动调整整体从 5s 降至 <2s。
语义完全保留:三次旋转的轴/角度/顺序与原来一致(X→Z/Y→Yaw,
通过 q3×q2×q1 左乘合成),路径 yaw 加减抵消链路不变。实测结果与老版本一致。
2026-05-27 15:06:33 +08:00
bbb58c9634
调整物体窗口: 提升高度→上下偏移, 允许负值, 窗口加宽, 清理提示文字
...
- 字段名: 提升高度 → 上下偏移 (UI标签/日志/注释/状态栏)
- 移除负值校验,允许向下偏移 (EditRotationWindow.xaml.cs)
- 修复两处 <=0 拦截 (ApplyGroundPathObjectLiftOffset, ResolveGroundPathObjectLiftOffsetVector)
- 窗口宽度 400→440, 调低标题栏/去除副标题/去除提示文字行
2026-05-27 14:38:27 +08:00
19a38e5446
0.15.1: 修复角度输入崩溃、Y轴修正动画丢失、数据库连接缺失三个bug
...
- 修复编辑角度窗口空输入反复确认崩溃 (UpdateSourceTrigger LostFocus→Explicit)
- 修复Y轴角度修正在动画播放时双重叠加导致丢失 (删除 ApplyPlanarTrackedPose 中重复的 ResolvePlanarHostUpCorrectionRadians)
- 修复先开文档后加载插件时路径数据库未连接 (InitializePathPlanningManager 中加入数据库连接)
- 重构: TryConnectPathDatabase 辅助方法; TryUpdateNumberTextBox 拆分验证逻辑
- 更新 AGENTS.md 精简版; 更新 CHANGELOG.md 0.15.1; 更新 todo_features.md 5/18 条目
2026-05-26 21:02:48 +08:00
6f037a4571
Reduce pose diagnostics log noise
2026-04-13 02:51:24 +08:00
61e6b79299
Remove legacy yaw recovery fallbacks
2026-04-12 15:29:08 +08:00
315fa46043
Unify planar collision pose replay
2026-04-12 15:01:33 +08:00
a252dad46a
remove pose fallbacks and fix script compatibility
2026-04-10 22:23:46 +08:00
5a03c3aa6c
preserve planar collision pose rotations
2026-04-10 22:02:43 +08:00
da5f8a1ae1
add ground object lift adjustment
2026-04-09 23:53:40 +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
fb9dac9953
恢复地面路径为3月25号版本
2026-04-05 01:36:24 +08:00
e21e934705
Add rail preferred normal repair script
2026-04-04 10:58:29 +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
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
7851e6affa
Map real-object angle adjustments from host axes
2026-03-28 22:21:11 +08:00
95500c9717
修改部分日志级别为Debug
2026-03-28 12:42:54 +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
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
b1d4170334
Fix animation end alignment and YUp viewpoint focus
2026-03-22 14:45:50 +08:00
1802eda971
Separate asset axis conventions from host coordinates
2026-03-22 13:30:35 +08:00
042b9a2804
Refine canonical pose flow and handoff notes
2026-03-22 00:00:16 +08:00
7ccce8cf5a
Stabilize rail collision pose recovery and canonical tracking
2026-03-21 21:58:11 +08:00