Skip to content

Releases

SketchNarrator v0.1.6

Choose a tag to compare

@github-actions github-actions released this 30 Sep 14:03

Changes

  • Keep the annotation panel usable on large projects. Four hot paths that scaled with project size were reworked after measuring the panel on real multi-hundred-caption projects:
  • Sample the board paper colour by copying the four corner pixels into a single 4x1 scratch canvas and reading them back once, instead of drawing the whole board into an image-sized canvas and issuing four separate 1x1 readbacks that each force a GPU-to-CPU sync. The sampled colour is unchanged.
  • Build the element editor's subtitle option list once per caption list and afterwards only move the selection, instead of re-parsing and re-laying out hundreds of <option> nodes on every element selection.
  • Assign canvas.width / canvas.height only when the scene canvas size actually changed, instead of reallocating the multi-megapixel backing store and resetting the 2D context on every repaint.
  • Throttle canvas drags to at most one repaint per animation frame and defer change diffing, draft persistence, and timeline rebuilding to pointer release. A click that only selects a region without moving it now performs no bookkeeping at all.
  • Treat a filesystem that accepts os.symlink() without reporting the result as a link as unsupported in the release-manifest test, so the suite passes on Windows drives without reparse-point support.
  • Publish GitHub releases automatically: pushing a v* tag now verifies the release manifest, builds the deterministic public ZIP, and attaches it to a release named after the tag, using the matching CHANGELOG.md section as the release notes.

SketchNarrator v0.1.5

Choose a tag to compare

@qingyabailu-git qingyabailu-git released this 20 Sep 11:01

Changes

  • Reserve the shared title card area in the visual layout plan: scenes with a card record layout_plan.title_card_region, preset native layouts start at y=0.16, and board generation stays out of that area. Custom regions that intrude into the reservation fail Gate 2 with an explicit conflict instead of silently moving approved objects.
  • Fit the approved card into the same reserved area when rendering: the overlay is scaled proportionally, never cropped and never upscaled, so the card text stays inside its reserved space at every output size.
  • Reject an empty, non-numeric, or non-positive title_card_profile.max_text_chars with an actionable message instead of an unhandled exception, and report card text, style, and position problems together.
  • Pin the final AAC track to 48 kHz so the delivered mix keeps a single sample rate.

Verification

  • Renderer tests: 84 passed.
  • Workflow tests: 244 passed, 1 skipped, 1 sandbox-only failure (test_symbolic_links_are_never_release_files cannot observe a real symlink where os.symlink is stubbed; the file is untouched by this release).
  • Release manifest check: OK.
  • Deterministic release package: sketch-narrator-0.1.5.zip.
  • Package SHA256: 60910d8b84856252e84aa7d26fdd8a45b2fbdb234025b564dbb6c5bae74ddca2.

SketchNarrator v0.1.4

Choose a tag to compare

@qingyabailu-git qingyabailu-git released this 18 Sep 17:00

Changes

  • Fix compact ink stroke erosion during Zhang-Suen skeletonization: recover isolated compact ink components (such as eye pupils, dots, and small facial features) via _recover_compact_ink_strokes and promote core short strokes to short_identity in semantic stroke planning.
  • Add ink_color_mode (default "source", fallback "monochrome"): sample original artwork RGB colors for line drawing in light whiteboard mode, faithfully preserving golden sparks, red warnings, green neural paths, and blue accents instead of forcing monochrome thresholding.
  • Integrate ink_color_mode across stream_render.py, render_stream_whiteboard.py, and workflow.py render pipelines with deterministic cache invalidation.
  • Align documentation and project contract: update references/project-contract.md with renderer_profile.ink_color_mode schema and clarify binary threshold edge boundaries vs. original RGB line color sampling.

Verification

  • Renderer tests: 82 passed.
  • Workflow tests: 240 passed, 1 skipped.
  • Release manifest check: OK.
  • Deterministic release package: sketch-narrator-0.1.4.zip.
  • Package SHA256: b994aee4a587a89b26c924149615b506a463094da1b6f865f80d4436ce1f363a.

SketchNarrator v0.1.3

Choose a tag to compare

@qingyabailu-git qingyabailu-git released this 17 Sep 15:17

Changes

  • Add an explicit opening-anchor beat to every shot so the first drawing starts about 100ms after the scene begins.
  • Recommend opening strokes within 200ms and reject plans or annotations whose first visible element starts later than 500ms.
  • Mirror the check in board QA: advisory between 200ms and 500ms, hard error beyond 500ms.
  • Update the skill contract, visual-production guide, final QA guide, and project file schema.

Verification

  • Renderer tests: 77 passed.
  • Workflow tests: 240 passed, 1 skipped.
  • Release manifest check: OK.
  • Deterministic release package: sketch-narrator-0.1.3.zip.
  • Package SHA256: ed2484ef86368736589644a31f4c894718fe235324d0b28bc90be4f47a21a731.

SketchNarrator v0.1.2

Choose a tag to compare

@qingyabailu-git qingyabailu-git released this 17 Sep 09:32

新增与改进 (Features & Improvements)

  • 自适应手绘节奏求解器 (Adaptive Duration Pacing):
    • 新增 scripts/pacing.py 及 workflow.py pace-annotations 命令。
    • 根据分镜词级时间戳智能拉长元素绘制时间(默认预算比例 92%,留出 250~500ms 观察留白),彻底消除 1.2 秒过快闪电画完与数秒死板静止的问题。
  • 分镜空窗期质检告警 (Idle Pacing QA Advisory):
    • 在 board_qa.py 中增加对元素绘制时长偏短(可用窗口 ≥ 3 秒但绘制占比 < 55%)的质检预警。
  • 场景标题卡支持 (Scene Title Cards):
    • 将可选的场景标题卡提升进入分镜、Gate 2 确认、视觉计划、渲染缓存与面板预览。

验证 (Verification)

  • 单元测试套件 236 项全量通过(0 failure, 0 error)。
  • 在真实医学科普长视频项目(6 场景,131.77 秒)中全流程实机验证通过,笔画动作平缓饱满延伸至句尾。
  • 发布清单全量校验通过,包含 153 个确定性打包文件。

Assets & Checksum

  • Package: sketch-narrator-v0.1.2.zip
  • SHA256: 3cb3f066a72531decf96eeda2891e958f70922f9cdac0725c27023f9cfc10383
  • Size: 30,244,169 bytes

SketchNarrator v0.1.1

Choose a tag to compare

@qingyabailu-git qingyabailu-git released this 15 Sep 03:39

修复

  • 修复多场景项目在 Gate 2 被错误阻断的问题。
  • 单幕诊断现在保留完整 words.json 与全局词锚点,只把全片覆盖检查交给最终全片编译。
  • 正式编译仍严格检查词条遗漏、重复和交叉。

验证

  • 使用真实失败项目只读复核:6 幕、474 个词、6 个镜头成功编译。
  • 上层 228 项测试通过,1 项按设计跳过。
  • 渲染器 76 项测试通过。
  • 发布清单检查通过,公开 ZIP 未包含私人资产或本机路径。

Fix

Fixes a Gate 2 validation failure that blocked every multi-scene project. Per-scene diagnostics now preserve global word anchors, while final compilation continues to enforce complete, ordered narration coverage.

SHA256: 9282a05114b2afc62a943e6be18425e0f0c8b7927677c835305610e598a586c2

SketchNarrator v0.1.0

Choose a tag to compare

@qingyabailu-git qingyabailu-git released this 14 Sep 15:35

SketchNarrator v0.1.0

SketchNarrator 的首个公开版本。它把中文主题、文案或参考视频整理为按真实旁白时间驱动的手绘讲解视频,并把分镜、画板、标注、动画计划、渲染和成片 QA 串成可复核的本地工作流。

主要能力

  • 三次确认流程:口播、视觉分镜、工作台画面与执行计划。
  • 工作台支持逐幕拖拽、缩放、新增、删除、排序和撤回;用户确认拥有最终执行权。
  • 同一语义对象 ID 贯穿分镜、标注、动画计划和渲染,执行直接读取已批准版本。
  • 时间计划按真实音频形成,并确定性编译到目标帧率。
  • 10 种内置手绘风格参考图,以及可替换的公开 CC0 轻量音效预设。
  • 使用宿主 Agent 自带的生图能力,无需另接图片生成 API。
  • 面向 Codex、Antigravity、WorkBuddy、豆包办公等具备文件操作、命令执行和生图能力的 Agent。
  • 私人角色、字体、音效与片头片尾通过仓库外的本地配置接入,不包含在公开包中。

安装

下载本 Release 的 sketch-narrator-0.1.0.zip,解压后按照 README 的对应平台说明安装。也可以直接克隆仓库。

发布校验

  • 公开清单:150 个源文件。
  • Release ZIP:151 个文件(含 release-manifest.json)。
  • ZIP SHA256:f9248af5d634ac41cb2b742f40bb216ac162e8890b5323996c06b7b74e02a048。
  • 发布清单校验、公开边界检查、本地验证和 GitHub Actions 均已通过。