Skip to content

fix(studio): serve runtime locally instead of from CDN - #178

Closed
vanceingalls wants to merge 9 commits into
graphite-base/178from
vance/fix-studio-runtime
Closed

vanceingalls wants to merge 9 commits into
graphite-base/178from
vance/fix-studio-runtime

Conversation

@vanceingalls

@vanceingalls vanceingalls commented Apr 1, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Vite dev server was loading the HyperFrames runtime IIFE from cdn.jsdelivr.net
  • Compositions using window.__hyperframes (e.g., fitTextFontSize) failed when the CDN script didn't load in the iframe context
  • Add /api/runtime.js endpoint to the Vite plugin serving the local built runtime
  • Matches what studioServer.ts already does for the CLI embedded server

Test plan

  • npx hyperframes preview — compositions using fitTextFontSize work without errors
  • curl http://localhost:5199/api/runtime.js returns the runtime IIFE

🤖 Generated with Claude Code

vanceingalls commented Apr 1, 2026 •

Copy link
Copy Markdown
Collaborator Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@vanceingalls
vanceingalls marked this pull request as ready for review April 1, 2026 05:30
@vanceingalls
vanceingalls force-pushed the vance/fix-studio-runtime branch from 51dc346 to d7b75f1 Compare April 1, 2026 05:38
@vanceingalls
vanceingalls force-pushed the vance/skills-agent-support branch from e762823 to b6d1cf7 Compare April 1, 2026 05:38
@vanceingalls
vanceingalls force-pushed the vance/fix-studio-runtime branch from d7b75f1 to d57f116 Compare April 1, 2026 06:00
@vanceingalls
vanceingalls force-pushed the vance/skills-agent-support branch from b6d1cf7 to 2c4bd09 Compare April 1, 2026 06:00
@vanceingalls vanceingalls mentioned this pull request Apr 1, 2026
8 tasks
… into references (#173)

## Summary

- Split the captions skill from a single 611-line file into focused references: `SKILL.md` (core rules), `transcript-guide.md` (whisper/transcription), `dynamic-techniques.md` (animation patterns)
- Add `audio-reactive` skill with "Content, Not Medium" constraint — steers away from generic visualizations (equalizer bars, spectrum analyzers, waveforms) toward content-grounded animation where audio drives *when* and *how much*, not *what to show*
- Add initial dynamic caption technique selection by energy level

## Test plan

- [ ] All skill files render correctly as markdown
- [ ] Cross-references between files use correct relative paths
- [ ] `audio-reactive/SKILL.md` contains the anti-pattern list and content-grounded examples

🤖 Generated with [Claude Code](https://claude.com/claude-code)
@vanceingalls
vanceingalls force-pushed the vance/skills-agent-support branch from 6956531 to 57a3d78 Compare April 2, 2026 07:00
…multilingual defaults (#175)

## Summary

**Whisper improvements:**
- Auto-detect language and switch from `.en` to multilingual model when needed
- Detect speech onset in WAV to strip hallucinated words before speech begins
- Merge whisper-cpp token fragments: contractions (`didn` + `'t` → `didn't`), split capitals (`C` + `aught` → `Caught`), dropped-g (`shin` + `in'` → `shinin'`)
- Interpolate zero-duration word clusters for reliable karaoke timing

**Captions skill updates (folded from #176):**
- Rewrite script-to-style mapping as an energy detection table (high → low) with mandatory animation requirements: karaoke baseline, 2+ highlight techniques, kinetic exits
- Replace `tl.call()` per-frame audio-reactive pattern with group-level GSAP tweens — read peak bass/treble for each group's time range and modulate entrance intensity at build time
- Add transcript quality check with automatic retry rules (>20% music tokens = retry with larger model)
- Add caption word structure lint rule (`.caption-group` + `<span>`) for studio editor compatibility

**Multilingual defaults (folded from #186):**
- Default whisper model changed from `small.en` to `small` to prevent silent translation of non-English audio
- Added non-negotiable language rule to captions skill

## Test plan

- [ ] `pnpm test` passes (contraction merging, fragment merging, zero-duration interpolation, speech onset)
- [ ] Transcribe non-English audio — verify it transcribes in original language, not translates
- [ ] Skill files render correctly, cross-references resolve
- [ ] `dynamic-techniques.md` audio-reactive section uses `tl.to()`/`tl.set()` only, no `tl.call()` loops

🤖 Generated with [Claude Code](https://claude.com/claude-code)
@vanceingalls
vanceingalls changed the base branch from vance/skills-agent-support to graphite-base/178 April 2, 2026 07:11
vanceingalls and others added 7 commits April 2, 2026 00:12
Remove custom skill installation from the CLI in favor of
vercel-labs/skills. Fixes staleness, deduplication, listing budget,
and completeness issues identified by agentic harness pattern review.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
6 tasks: delete install-skills, strip skills from init, front-load
SKILL.md descriptions, update CLAUDE.md, clean up my-video copies.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove installSkills(), getBundledSkillsDir(), project-level skill copying,
and the --skip-skills flag. Replace post-scaffold messaging with directions
to run `npx skills add heygen-com/hyperframes`.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Also fix .claude/settings.json pre-commit hook to use bun instead of pnpm.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vanceingalls
vanceingalls force-pushed the vance/fix-studio-runtime branch from 45996c3 to fc99b40 Compare April 2, 2026 07:14
@vanceingalls

Copy link
Copy Markdown
Collaborator Author

Already merged

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