GitHub 提交日报 · 2026-10-15

自动汇总 2026-10-15 当天 hummingg 在 GitHub 上的提交。

hummingg/imx6ull-speaker

hummingg/skills

  • feat(remotion-explain-video): 多集工程结构(episodes 注册表 + –episode + visual-kinds 真相源) v1.10.0
    • src/content.json、src/storyboard.json 迁入 src/episodes//,每集一目录
    • 新增 scripts/new_episode.py:脚手架(复制模板、清零时长、改章号、重写 src/episodes/index.ts)
    • src/visual-kinds.mjs 成为镜头类型单一真相源;visuals.tsx 改 switch 穷尽检查
    • 脚本统一 –episode(单集自动选、多集必指定);gen_audio_edge.py 回写分集 content.json
    • 音频按集隔离 public/audio//;build_font.py 用 collect_all_chars 覆盖全部集
    • 模板 package.json render/cover 改为 ep01/Cover;新增 check_storyboard.mjs
    • SKILL.md v1.10.0:数据边界改多集表述、新增 1.10.0 增补来源
    • howto/storyboarding/preview 参考文档同步多集路径,howto 新增 §2.1 多集管理
    • 测试迁移到多集夹具并新增 EpisodeTests;python 35/35、node 34/34、根目录安装测试 9/9
  • feat(remotion-explain-video): 多角色同框按角色画特征 + 429 退避重试 + 封面气口,v1.9.0
    • 用户规则「如果同时出现的多个人的角色不同,需要按角色画出特征」,在
    • 《商君书·垦令第二》落地后回写本 skill。
    • assets/minimal-project/src/visuals.tsx: Person 新增三个默认关闭的参数——
    • hat(official 帻 / noble 高冠 / straw 斗笠)、longHair(妇女长发,画在头圆
    • 之前读作脑后)、scale(以脚底局部 0,260 为锚点缩放,缩完仍踩地)。
    • 平人(商、食客、佣工、旅客)不戴冠帽,靠手边道具与动作区分身份。
    • references/storyboarding.md: 新增 §7「多角色同框的角色特征」,含标记体系表、
    • 用法、5 条约束(只在同框不同角时用、不靠衣冠做道德判断、冠帽高度要复查、
    • 缩放锚点在脚底、验收看中间帧)与垦令第二实例。
    • scripts/gen_audio_edge.py: 补 429/5xx 退避重试(RETRY_STATUS / RETRY_TIMES=5 /
    • RETRY_BASE_DELAY=2.5s)与 1.2s 句间间隔。微软端点实测约每三次拒一次且会自愈,
    • 原脚本只处理 403,会把整章配音判成失败。403 仍走端点回退、429 只重试不切端点;
    • 三个常量模块级,离线测试置 0 即可跳过真实等待。
    • src/storyboard.mjs: 新增 COVER_GAP_SECONDS=1.5 / coverGapFrames /
    • coverOffsetFrames。封面旁白念完后留 1.5 秒气口(用户反馈「封面和正文的间隔太短」),
    • 可用 content.cover.gap 逐集覆盖;分镜偏移与总时长统一走 coverOffsetFrames。
    • 气口段仍显示封面——不要另加遮挡层留白,那会把标题盖掉。
    • 修模板既有缺陷:content.json 的 cover 缺 seconds/gap,而 Root.tsx 直接读
    • content.cover.seconds,新工程一 npm run check 就报 TS2339。补上
    • “seconds”: null, “gap”: 1.5,并把封面判定改成 null 安全写法(Number.isFinite
    • 本身不缩窄 null),封面类型收敛为具名 CoverData。
    • tests: storyboard.test.mjs 三处封面偏移断言随气口更新(30→75、195→240、
    • 300→345)并新增气口专项用例(默认/覆盖/0/负值/无封面);test_scripts.py 改为
    • 「403 切端点、429 重试用尽才抛」,补重试次数与句间隔断言。
    • 验证:node 34/34、python 32/32(2.8s);模板在独立目录 + 真实依赖下 tsc –noEmit 通过。
    • 实测来源:《商君书·垦令第二》21 镜、12 镜多人同框,成片 192.75s。
  • docs(wechat-channels-publish): 活动搜不到≠搜索失效、合集计数看详情页,v1.7.1
    • 2026-10-15《商君书·垦令第二》发布实测补充,均为当次网页行为观察。
    • 活动搜索对某关键词真的可能 0 条:用户要求「搜商君书随机选」,该词下只剩
    • 「不参与活动」。先用对照关键词验证搜索本身没坏(道德经 68 / 商 50 / 国学 55 /
    • 传统文化 52 条),再如实告知用户改词——不要自行替换关键词,也不要把
    • 「搜不到」当成「搜索坏了」。
    • 活动搜索框换关键词要先清空并回读 value(key End + Backspace 12),否则读到
    • 上一次搜索的残留候选(本轮复测「商君书」时列表里全是含「道」字的条目,
    • 差点误判成”有结果”);清空后还要等列表回落约 3 秒。
    • 新增 §7.6「验收合集是否真的生效」:发布后合集表格里计数仍是旧值(显示 1),
    • 点进合集详情页才是准的(全部视频 (2))。含 SPA 切换、重新绑定 targetId、
    • ant-table 行内点击位置与详情路由 /platform/collection/item?id=event%2F…。
    • 历史观察补 4 条:合集标签是 SPA 切换会失效 targetId、本页 CDP browser 端点
    • 没有 Page.enable、发表按钮中心本轮实测 (1032,679) 须每次实时量。
    • 离线回归 40/40 通过(模拟 DOM,不连真实浏览器、不上传、不发表)。
  • fix(wechat-channels-publish): 修正 workflow.md 中 SKILL_DIR 路径为实际安装位置 ~/Projects/skills/…