Skip to content

Conversation

@bokelley
Copy link
Contributor

Summary

Implements ADCP 2.12.0 template formats to eliminate format explosion. Adds 5 template formats (display_generative, display_image, display_html, video_standard, video_dimensions) that accept parameterized dimensions or duration instead of requiring separate concrete formats for each size.

Changes:

  • Upgraded adcp to 2.12.0 with template format support
  • Added 5 new template formats with accepts_parameters field
  • Maintained full backward compatibility with all 42 concrete formats
  • Created 44 new comprehensive tests validating template behavior
  • Fixed all import paths and type annotations for ADCP 2.12.0

Result: 47 total formats (5 templates + 42 concrete) vs potential 90+ formats without templates.

Test plan

  • All 257 existing tests passing
  • 44 new tests for template format discovery, lookup, asset requirements, and parameter validation
  • 69.89% code coverage maintained
  • Pre-commit hooks passing (ruff, mypy, formatting)

🤖 Generated with Claude Code

Add 5 template formats (display_generative, display_image, display_html, video_standard, video_dimensions) that accept parameterized dimensions or duration, reducing the need for hundreds of concrete formats. Maintains full backward compatibility with all 42 existing concrete formats. Includes comprehensive test coverage with 44 new tests validating template format behavior, parameter extraction, and asset requirements.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@bokelley bokelley force-pushed the template-formats-review branch from 6a69da1 to 1693e70 Compare November 23, 2025 22:50
- Use FormatIdParameter enum instead of strings for accepts_parameters
- Add null checks for fmt.accepts_parameters before using 'in' operator
- Add null check for render.dimensions before accessing width/height
- Ensures type safety while maintaining all functionality
@bokelley bokelley merged commit 4c7f87a into main Nov 23, 2025
3 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.

2 participants