# Brentwood Dev — Adi's work log, 24 June 2026

For Rian — summary of today's changes on brentwooddev (written by Claude on
Adi's behalf). Everything is live on https://brentwooddev.demoing.info and all
custom code is in the **kadence-child theme** — your **bw-dev plugin and all
other plugins were not modified**.

Today was a single focused feature: a **Poster Image** option for the
**Brentwood Video Text** block, for both YouTube and uploaded-MP4 videos.

## Brentwood Video Text — "Poster Image" cover

The block could already show a cover image for MP4 videos, but the option was
MP4-only and YouTube videos always loaded their iframe immediately. Adi wanted a
single, consistent **Poster Image** control that covers the video before it
loads, for both sources. That's now done:

- **Editor:** the "Poster Image" uploader appears in the Video panel for **both**
  YouTube and MP4 (it was previously hidden for YouTube). The editor preview
  shows the chosen poster.
- **MP4:** the poster covers the video until play, and is also set as the native
  `<video poster>` so it stays visible during buffering.
- **YouTube + poster:** the poster now covers the video and the **YouTube iframe
  only loads when the poster is clicked** — a real performance/privacy win (no
  request to YouTube until the visitor interacts). The existing "Play Video" link
  and heading icon trigger it too.
- **YouTube without a poster:** unchanged — it still embeds immediately exactly
  as before, so **existing blocks are not affected**.

**Implementation note:** this reused the block's existing
`customThumbnailUrl` / `customThumbnailId` attributes (just relabelled to
"Poster Image" and made available to both sources), so there was **no block.json
attribute change and no data migration** — older Video Text blocks keep working
untouched.

- Code: `wp-content/themes/kadence-child/blocks/video-text/` —
  `editor.js`, `render.php`, `render-helpers.php`, `frontend.js`.

## Notes / nothing needs your action

- No new block attributes, no plugin changes, no DNS/infra changes today.
- Scripts are versioned by file mtime, so the editor and front end pick up the
  new code without any cache clear.
- Validated: both PHP files pass `php -l` (linted inside the WP container), both
  JS files pass a syntax check, and file permissions remain readable by WordPress.

— Adi (assembled by Claude, 2026-06-24)
