Skip to content

feat: v0.5.0–v0.7.0 — smart zoom, short metadata, frame descriptions#2

Closed
JRemitz wants to merge 1 commit intomainfrom
release/v0.7.0
Closed

feat: v0.5.0–v0.7.0 — smart zoom, short metadata, frame descriptions#2
JRemitz wants to merge 1 commit intomainfrom
release/v0.7.0

Conversation

@JRemitz
Copy link
Copy Markdown
Contributor

@JRemitz JRemitz commented Mar 24, 2026

Summary

  • v0.5.0 — Smart zoom (zoom.py): Per-frame OpenAI vision analysis for dynamic crop panning, with fallback to center on failure. Writes ZoomPath to context.shared["smart_zoom"].
  • v0.6.0 — Short metadata + frame descriptions (short_metadata.py, frames.py): LLM-generated title/description for short uploads via POST_RENDER hook. Frame description sends all extracted frames in a single vision call, caches play-by-play summary on plugin instance, and feeds {{frame_summary}} into short metadata prompts.
  • v0.7.0 — Player/event context: Player name, assists, event type, and team level from POST_RENDER hook data passed as {{player}}, {{assists}}, {{event}}, {{team_level}} template variables for richer AI-generated metadata.

New modules

  • zoom.pyanalyze_frame_for_zoom(), _encode_frame()
  • short_metadata.pygenerate_short_metadata(), ShortMetadata
  • frames.pydescribe_frames(), FrameDescriptions

New config fields

  • smart_zoom_enabled, smart_zoom_model
  • short_metadata_enabled
  • frame_description_enabled, frame_description_model

New prompt templates

  • smart_zoom_detect, short_title, short_description, frame_describe

Stats

  • 22 files changed, +2365 lines
  • 226 tests, 100% line + branch coverage

Test plan

  • make check passes (lint, mypy strict, 100% coverage)
  • Manual test: installed into reeln-cli venv, rendered shorts with frame_description_enabled: true
  • Verify frame descriptions appear in shared context
  • Verify short metadata prompts include {{frame_summary}}, {{player}}, {{event}}
  • Verify PyPI release triggered by v0.7.0 tag

🤖 Generated with Claude Code

… player context

v0.5.0: Smart zoom target detection via OpenAI vision API — per-frame
analysis with fallback, ZoomPath written to shared context.

v0.6.0: POST_RENDER short metadata generation — LLM-powered title and
description for short uploads. Frame description generation — analyze
all extracted frames in a single vision call for play-by-play summary,
cached on plugin instance for POST_RENDER consumption.

v0.7.0: Player name, assists, event type, and team level passed as
context to short metadata prompts for richer AI-generated titles.

Co-Authored-By: Claude <noreply@anthropic.com>
@JRemitz
Copy link
Copy Markdown
Contributor Author

JRemitz commented Mar 24, 2026

Superseded — splitting into per-version commits

@JRemitz JRemitz closed this Mar 24, 2026
@JRemitz JRemitz deleted the release/v0.7.0 branch March 24, 2026 12:27
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