Skip to content

feat(examples): add Manim explainer production - #357

Open
Cordy27 wants to merge 5 commits into
hypit-ai:mainfrom
Cordy27:main
Open

Cordy27 wants to merge 5 commits into
hypit-ai:mainfrom
Cordy27:main

Conversation

@Cordy27

@Cordy27 Cordy27 commented Sep 25, 2026

Copy link
Copy Markdown

Summary

  • add a complete examples/manim-explainer production example
  • add three independent Manim scene sources and locked Python environment
  • add the project-local @project/manim-showcase component
  • integrate Seedance presenter video, semantic Script Moments, Manim media tracks and Film rendering
  • document Manim authoring, external render handoff and media verification rules
  • update example asset ignore rules to retain required source media while excluding generated outputs

Validation

  • rendered and inspected the three Manim scenes
  • ran the complete Seedance-to-Hypit production workflow
  • verified the final portrait video output, audio track, frame rate and canvas dimensions
  • ran git diff --check
  • commit: 0a7a8801

Notes

Seedance generation requires the configured external Provider and accepted Build Results.
Credentials are not included in the repository.

@Cordy27 Cordy27 closed this Sep 25, 2026
@Cordy27 Cordy27 reopened this Sep 25, 2026
@rponeawa

Copy link
Copy Markdown
Member

Thank you so much for this contribution! A Manim workflow is a great addition, and treating Manim as an external pre-renderer whose output enters Hypit as ordinary video is the right direction. A few things need to change before we can merge.

Skill docs: too much repeated guidance

  • manim.md restates guidance the skill already has. Probing is covered by hypit media probe in media.md, frame grids by review.md, and external file dependencies by project-files.md. Please link to those sections and keep only what is specific to Manim: the pre-render boundary, the locked uv environment, and the render command.
  • The same Manim summary is now in four places: a SKILL.md paragraph, a SKILL.md table row, a new media.md section, and two additions to project-files.md. The table row plus manim.md is enough. Please remove the rest.
  • The new SKILL.md paragraph was inserted in the middle of an existing paragraph and splits off the "Judge preparation by..." sentences.
  • In manim.md, "The project-local lockfile fixes Python packages, native libraries or the FFmpeg executable" should say it does not pin native libraries or FFmpeg.

Example: cannot run from a fresh clone

  • runs/render.svrun reuses bld_20260922T074050519Z_38D612AD42, which exists only on your machine. Please either provide a downloadable media/Result bundle like complex-explainer does, or drop the build-record entries so the Run generates from scratch.
  • The three manim-renders/*.mp4 files are referenced but not committed, and no ignore rule covers them.
  • The root render.svrun points to ./main.svml, which does not exist. It duplicates runs/render.svrun and can be removed.
  • pnpm-lock.yaml has no entry for the new workspace package, so pnpm install --frozen-lockfile in CI should fail. Running pnpm install at the repo root and committing the lockfile should fix it.

Example: does not follow its own guidance

  • The Manim videos go straight into the component without Normalize, which the new docs say is required.
  • ASSET-PROVENANCE.md notes that two of the renders are not constant 30 fps, and render.ts hardcodes their frame counts (165, 143, 154). Normalizing the renders would fix both problems.
  • The presenter picture comes from english-seedance-person-full.mp4, while the audio and Timeline come from the five aligned Seedance clips. Nothing keeps them in sync, so please use the normalized clips for the picture too.

Example docs

  • The README, BRIEF, TREATMENT, CRAFT-NOTES and the component README all repeat the same "Manim owns internal animation, the component owns sampling, placement, scale..." paragraph. Once in the README is enough.
  • ASSET-PROVENANCE.md mentions files that are not in the PR (english-seedance-native-voice.wav, drafts/legacy/, qa-*, final/).
  • The pyproject.toml description still says "Taylor expansion explainer".
  • The README render commands pass both -r and --resolution, which are the same flag.

Thanks again, and happy to help if anything here is unclear!

This branch has not been deployed

No deployments
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.

2 participants