- New SlideMediaElementBuilder converts FOREGROUND (uploaded) image media
actions into slide-content fill.media elements placed at the top of the
slide content, so uploaded information/moderation/sermon images render as
real content rather than a media-layer action.
- Service background and key-visual images remain BACKGROUND media actions on
the bottom layer; song text and name-tag stay text content elements.
- Wire the builder into ProExportService and ProBundleExportService (after
generate) and split PlaylistExportService::writeProFile into
generate -> inject -> write via ProFileWriter so the playlist path applies
the same rule.
- Parser library unchanged.
- Migrate export tests to the combined rule via a shared InspectsSlideFillMedia
support trait and add SlideMediaElementTest.
Bump the propresenter parser to dev-master (20fe32a), which brings the
background-layer and nametag-subtitle features onto the consumed
bussnet/propresenter7-php-api branch and resolves the
Slide::hasBackgroundMedia() regression. Strengthen AbspannExportTest to
assert the now-live 10s auto-advance loop (completion AFTER_TIME == 10,
target FIRST) and the Dissolve transition (renderId EC52A828-...).