Skip to content

feat: expand explainer authoring with attention, Manim, and capture QA - #31

Merged
makesynt merged 12 commits into
mainfrom
perf/pr-ci-smoke
Aug 6, 2026
Merged

feat: expand explainer authoring with attention, Manim, and capture QA#31
makesynt merged 12 commits into
mainfrom
perf/pr-ci-smoke

Conversation

@makesynt

@makesynt makesynt commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Summary

This PR expands Seqvio from a basic composition renderer into a deterministic
technical explanation pipeline.

Explainer graphics and attention guidance

  • Add InfographicScene for metrics, comparisons, processes, timelines,
    relationships, and charts.
  • Extend shared annotation primitives with spotlight, focus ring, callout,
    bracket, connector, region shade, and guided path.
  • Add deterministic collision-aware placement and safe connector routing.
  • Add random-access, reverse-seek, overlap, focal-target, and minimum-hold QA.
  • Add semantic DirectionPlan and Motion Grammar contracts.
  • Add host-agent director tasks for generating and repairing direction artifacts.
  • Add versioned style profiles:
    • clean-technical
    • editorial-explainer
    • terminal-first

Python Manim integration

  • Add experimental @seqvio/manim-adapter.
  • Invoke the external Python package manim through python -m manim.
  • Add deterministic scene validation and command construction.
  • Add Python/Manim preflight checks and configurable Python executable support.
  • Add content-addressed render caching based on source, assets, settings, and
    runtime versions.
  • Add media probing, progress events, cancellation, timeout handling, logs,
    diagnostics, and machine-readable render manifests.
  • Add ManimClip for deterministic playback of externally rendered media.
  • Add ExplainerDocument support for manim scenes.
  • Align named Manim markers with narration phrases and ExplanationBeats.
  • Add equation, graph, symbolic-proof, and geometric-proof fixtures.

Capture and release pipeline

  • Add deterministic browser privacy masks using explicit selectors or regions.
  • Promote Terminal and Browser capture contracts to stable adapter compatibility.
  • Improve capture lifecycle, artifact manifests, QA reports, and progress output.
  • Stabilize Windows capture smoke timing and cross-platform CI verification.
  • Add render benchmarks and release contract validation.
  • Synchronize the lockfile and package lifecycle metadata.

Documentation

  • Synchronize English and Chinese README files.
  • Add the complete Python Manim integration guide.
  • Add package-level documentation for @seqvio/manim-adapter.
  • Update the roadmap, lifecycle policy, capability reference, troubleshooting
    guide, examples, and public feature-status documentation.
  • Remove obsolete planning documents and align current status wording.

Design boundaries

  • @seqvio/manim-adapter is a TypeScript/Node.js adapter, not a JavaScript
    implementation of Manim.
  • Python Manim is optional and only required when generating mathematical
    animation.
  • Manim rendering happens externally; ManimClip consumes the resulting
    seekable media inside Seqvio.
  • Seqvio does not call AI or planner APIs. Host agents produce the semantic
    plans, while Seqvio validates and executes them deterministically.
  • Terminal and Browser capture preserve real observed evidence and timing.

Validation

  • npm run build
  • npm test
  • npm run verify:contracts
  • npm test --workspace @seqvio/manim-adapter
  • Cross-platform release smoke verification on Windows, Linux, and macOS
  • Manim media probing, cache reuse, marker alignment, and seek QA
  • Relative Markdown link validation and git diff --check

Review focus

Please pay particular attention to:

  1. The boundary between external Python Manim rendering and Seqvio playback.
  2. ExplanationBeat and Manim marker reflow after TTS resolution.
  3. Deterministic attention routing and reverse-seek behavior.
  4. Browser privacy-mask semantics and their security limitations.
  5. Lifecycle and release-policy changes for experimental packages.

@makesynt
makesynt merged commit fc35af3 into main Aug 6, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant