# 三解释器同步、Wrapped Rotary 与角轴限速 Gate 实施记录 ## 目标 本文件落实 `ACC-047/INT-034`,闭合 04 多 session 中仍缺专项 proof 的 5.1、5.3、5.5,并补强 8.3 `WRAPPED_ROTARY` 与 8.10 旋转轴进给率数值证据。 ## 三解释器隔离与同步 新增 `verify_three_session_interp_sync_evidence.mjs`,并发创建三个独立 LinuxCNC interpreter WASM module。每个实例只运行 LinuxCNC-owned 程序语义: | Session | G5x | G10 rotation | M62 sync output | | --- | --- | --- | --- | | alpha | G55/P2 | 10° | P1 | | beta | G56/P3 | 20° | P2 | | gamma | G57/P4 | 30° | P3 | gate 验证每个实例输出自己的 `SET_G5X_OFFSET`、`SET_XY_ROTATION` 和 `SET_MOTION_OUTPUT_BIT`,且其他 session 的 rotation 不会泄漏。上层编排只在匹配指定 M62 canonical output 时释放对应依赖,不静默执行 M100-M199 宿主程序。 ## Wrapped Rotary 将上游 `configs/sim/axis/wrapped_rotary/wrapped_rotary.ini` 加入 source manifest 并抽取到 vendor。扩展 `parseLinuxCncIni()`,将 `AXIS_* WRAPPED_ROTARY` 解析为 `axisLimits..wrappedRotary`;gate 断言坐标为 `X Y Z A` 且 A 轴 `wrappedRotary=true`。 04 的 8.3 已从与实际配置不一致的“C 轴/xyzab.ini”改为该上游配置真实证明的“A 轴回卷旋转”。 ## G93 角轴限速 叶轮 gate 初次增加数值断言时发现:G93 inverse-time 请求峰值约 `319782.84 deg/min`,XYZAC INI 最大角速度为 `1800 deg/min`,原 `execution-timing.js` 会让请求块时长无条件覆盖角轴限速。 修复后每段时长取以下三者最大值: ```text inverse-time requested seconds linear-axis limit seconds angular-axis limit seconds ``` 实际角速度由最终时长反算并限制在 INI 上限内。叶轮 4066 个旋转进给段中有 6 个被机床约束延长,最终最大角速度为 `1800 deg/min`,等于 INI 上限;请求速度另存为 `requestedAngularVelocityDegPerMin`,不丢失诊断信息。 ## 验证输出 ```text three_session_interpreter_instances=ok three_session_g5x_rotation_isolation=ok three_session_canonical_sync_orchestration=ok wrapped_rotary_ini_semantics=ok impeller_rotary_feed_segments=4066 impeller_constraint_limited_rotary_segments=6 impeller_max_requested_angular_velocity_deg_per_min=319782.8381987813 impeller_max_angular_velocity_deg_per_min=1800 impeller_ini_angular_velocity_limit_deg_per_min=1800 impeller_feed_task_hal_run=ok ``` ## 边界 三 session 是三个独立 Web/WASM interpreter instance,不是单 LinuxCNC task 内建多通道。M62 canonical output 证明受控上层编排输入,不代表宿主 User-M process 已运行。timing 层仍是 canonical motion + INI constraint estimate,不冒充完整 native planner queue。 ## 结论 `ACC-047/INT-034` 完成。5.1、5.3、5.5、8.3、8.10 均已有可重复的 source-owned 或 source-derived专项 gate;剩余边界不再包含这些软件证据缺口。