真机真值表驱动的交互修复 patch:让交互效果在编辑器里点得动、在微信真机上(id 被剥后)也点得动。
后端测试 648 passed / 15 skipped,前端 369 passed。
🐛 修复:tab-panel 点击展开无反应
标签 <text> 盖在按钮 <rect> 上且为兄弟节点,点击文字时事件不经过触发元素 → begin="tabNbtn.click" 收不到(真实浏览器复现)。改为 <g id> 包裹 rect+label,对齐其余效果结构。预览面新增提示:检测到可交互 SVG 且在「公众号效果」预览时,引导切到「交互预览」点击测试(不影响编辑内容)。
🔧 交互效果改造为微信自触发(消除跨元素 id 依赖)
真机真值表确认:微信剥光所有 id=,却保留 begin="id.click" 引用 → 跨元素触发在公众号真机悬空失效。改为同元素 begin="click"/"touchstart" 自触发 + 覆盖揭示。全部 6 个交互效果经「微信实际存储 HTML + 真实 Chromium 点击」验证,剥 id 后交互均存活:
| 效果 | 改造 | 语义 |
|---|---|---|
| smil-carousel / mask-reveal | 直接改自触发 | 完整保留 |
| flip-card | 覆盖揭示(背面常驻、正面淡出) | 降级单向翻面 |
| longpress-ring | 充环+延时盖板淡出自触发;圆心可命中 | 长按近似 |
| tab-panel | 覆盖揭示手风琴 | 受限:各板块独立展开、不互斥 |
| multi-choice | 选项自高亮、解析常驻 | 受限:不按选项切换 |
| scroll-carousel / pano-slide | 纯 CSS scroll-snap | 不受影响 |
tab-panel / multi-choice 的「点 A 控制独立 B」本质需跨元素、微信无 id 做不到,已诚实判定受限并降级(不保留悬空 id.click 假装能用),description 与模板注释均标注。
✅ 测试
新增参数化断言:渲染通过 / begin·end 无跨元素 id 引用 / 模拟剥 id 后存活 / 不触发 id-stripped-dangling-ref 告警。
完整条目见 CHANGELOG.md。
🤖 Generated with Claude Code