Skip to content

fix(studio): harden export cache, pacing UI, phase tests, and modularize server - #90

Closed
yasenchen-cmd wants to merge 7 commits into
nexu-io:mainfrom
yasenchen-cmd:fix/studio-stability
Closed

fix(studio): harden export cache, pacing UI, phase tests, and modularize server#90
yasenchen-cmd wants to merge 7 commits into
nexu-io:mainfrom
yasenchen-cmd:fix/studio-stability

Conversation

@yasenchen-cmd

Copy link
Copy Markdown

Summary

  • Extract detectPhase, HTTP helpers, parse/prompt, and template-preview from studio-server; add dirty-frame export cache, frames-strip reorder + duration, and api.js client module
  • Add unit coverage for phase detection, concat/SSRF/enhance, frame cache/pacing, plus a PR CI mp4-smoke job for 1-frame Hyperframes MP4 export
  • Quarantine studio-next (QUARANTINE.md) and sync CLAUDE.md remediation status

Note: This branch is based on feat/native-templates (also not yet on main), so the PR includes those earlier native-template/KPI/skill commits in addition to the studio-stability commit. If you want a main-only cherry-pick of the stability commit, say so and we can rework.

Test plan

  • pnpm build && pnpm typecheck
  • pnpm --filter @html-video/cli test (expect MP4 smoke skipped without Chromium)
  • pnpm --filter @html-video/core test
  • CI mp4-smoke job green (ffmpeg + Playwright Chromium)
  • Studio: drag-reorder frames + edit duration, then export MP4 (cache hit on unchanged frames)
  • Studio chat: post-gen iterate still routes via cards (detectPhase table cases)

Made with Cursor

chenys and others added 7 commits June 9, 2026 09:03
… radar

Adapted from Hermes Studio (chenys/hermes-studio) scene components:

- frame-data-donut (DataDonut.tsx): SVG donut/ring chart with spring-animated
  slices, center figure rollup, staggered legend. 382 lines.
  ← src/video/scenes.tsx SceneDonut

- frame-data-hbars (DataHBars.tsx): Horizontal bars with top/bottom grouping,
  spring growth, rollup values, log-scale fallback. 281 lines.
  ← src/video/scenes.tsx SceneDeptBars

- frame-data-line (DataLine.tsx): SVG line chart with stroke-dashoffset path
  drawing, gradient area fill, staggered data points, trend arrow. 320 lines.
  ← src/video/scenes.tsx SceneMonthlyTrend

- frame-data-radar (DataRadar.tsx): SVG radar/spider chart with concentric
  grid rings, spring polygon, warn-threshold coloring. 230 lines.
  ← src/video/scenes.tsx SceneRadar

All templates: pure system fonts, responsive layout (16:9/9:16/1:1 via
useVideoConfig), no external assets, offline-deterministic.

Co-Authored-By: chenys <noreply@github.com>
Pin the multi-frame schema/agent protocol in research/, link it from
@html-video/content-graph, and replace stale "HF stub / empty MP4" notes
in CLAUDE.md with the 2026-08-05 capability truth source.

Co-authored-by: Cursor <cursoragent@cursor.com>
Per RFC-07 §③: pentagram-stat→editorial-anchor, build-minimal→luxe-minimal,
takram-organic→soft-radar. Studio names stay only in provenance.origin;
sample copy replaced with html-video-owned metrics.

Co-authored-by: Cursor <cursoragent@cursor.com>
Land installable SKILL.md copies + scripts/install-agent-skill.sh and
validate-templates. Add frame-kpi-pulse (non-chart Remotion enhance) with
normalizeNativeData support so data frames can opt into a single-metric
spring/count-up instead of a multi-series chart.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Bring in the rest of the branch WIP: CI workflows, verify/validate scripts,
Remotion/studio/CLI/runtime hardening, provenance on remaining templates,
preview posters, and package tests. Exclude local .pnpm-store from git.

Co-authored-by: Cursor <cursoragent@cursor.com>
…ize server

Extract detectPhase / HTTP / parse / prompt / template-preview from the studio
god file, add dirty-frame export cache and frames-strip reorder+duration, cover
concat/enhance/SSRF with tests, quarantine studio-next, and add a PR CI
1-frame MP4 smoke job.

Co-authored-by: Cursor <cursoragent@cursor.com>
@lefarcen
lefarcen requested a review from nettee August 23, 2026 08:43
@lefarcen lefarcen added size/XXL Size XXL (1500+ LOC) risk/high High risk type/bugfix Bug fix labels Aug 23, 2026
@nettee

nettee commented Aug 23, 2026

Copy link
Copy Markdown

@yasenchen-cmd I'm holding off on generating review comments for #90 because this pull request has merge conflicts right now.

Please resolve the conflicts with main and push the updated branch. Once that's done, request or wait for the review to run again and I'll take another look.

🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.

@yasenchen-cmd

Copy link
Copy Markdown
Author

Closing in favor of a focused rework.

This PR accidentally stacked the whole feat/native-templates history (already tracked in #37) on top of the studio-stability commit, which makes review/merge noisy.

Plan:

  1. Keep feat: native Remotion templates, RFC-07 renames, KPI pulse, agent skill #37 as the native-templates vehicle.
  2. Open a new PR with only the studio stability work rebased onto current main.

@yasenchen-cmd

Copy link
Copy Markdown
Author

Superseded: will reopen as a main-based, stability-only PR (see comment above).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk/high High risk size/XXL Size XXL (1500+ LOC) type/bugfix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants