Skip to content

Add interactive Rails embeds and chapter animations - #1

Merged
victor-fdez merged 4 commits into
mainfrom
codex/interactive-embeds
Aug 13, 2026
Merged

Add interactive Rails embeds and chapter animations#1
victor-fdez merged 4 commits into
mainfrom
codex/interactive-embeds

Conversation

@victor-fdez

@victor-fdez victor-fdez commented Aug 13, 2026

Copy link
Copy Markdown
Member

Summary

  • add beat-backed chapters with deterministic progress/state, stable transport commands, and player events
  • add a framework-independent animate_it_embed custom element with responsive variants, poster-first readiness, visibility lifecycle, and accessible host controls
  • add headless HAML/ERB chapter builders plus an optional pill/carousel preset for pills, cards, tabs, thumbnails, steppers, and custom SVG
  • preserve animate_it_player, track schema v2, AnimateItTransport, Studio, and render compatibility
  • publish Animate It 0.5.0 with curated changelog descriptions on every GitHub release

API

beat :review, at: 228, length: 132
chapter :review, beat: :review, label: "Review"
= animate_it_embed(
  "home-hiring-flow",
  poster: image_path("desktop.webp"),
  variants: [{
    media: "(max-width: 767px)",
    composition: "home-hiring-flow-mobile",
    poster: image_path("mobile.webp")
  }],
  navigation: { preset: :pills, mobile: :carousel },
  load_when_visible: 0.25,
  play_when_visible: 2.0 / 3,
  reduced_motion: :poster
)

Screenshots

Desktop

Desktop interactive embed

Mobile

Mobile interactive embed

Security and compatibility

  • public playback remains explicitly allowlisted with default props only
  • iframe commands use source-checked, same-origin messages
  • Studio, frame, props, and render endpoints remain unavailable in production
  • player manifests contain no application session data
  • animate_it_player remains the unchanged low-level iframe helper
  • AnimateItTransport remains a compatibility alias
  • no track-schema version bump

Verification

  • main RSpec suite: 128 examples, 0 failures
  • Chromium/FFmpeg render smoke: 6 examples, 0 failures
  • Rails 7.2 appraisal: 128 examples, 0 failures
  • Rails 8.1 appraisal: 128 examples, 0 failures
  • release-description/package specs: 4 examples, 0 failures
  • RuboCop: 82 files, no offenses
  • Brakeman: 0 medium/high warnings
  • Bundler Audit: no vulnerabilities in main or either appraisal
  • gem build and npm package dry run: successful

Release

After merge, the release workflow gates publication on the full CI suite, publishes animate_it 0.5.0 through RubyGems trusted publishing, creates v0.5.0, and creates a GitHub release from the curated CHANGELOG.md entry. Missing or empty release descriptions fail before publication.

@victor-fdez
victor-fdez merged commit 847f12c into main Aug 13, 2026
12 checks passed
@victor-fdez
victor-fdez deleted the codex/interactive-embeds branch August 13, 2026 22:47
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