Issue #3611780: Add yoyaku_seating_io: import and export a venue as a portable package
Adds a yoyaku_seating_io submodule that imports and exports a whole venue as a portable package (a venue.json manifest plus the SVG assets it names), so a venue can be initialized with all its inventory in one step and moved between sites.
VenuePackage/VenueImporter/VenueExporterservices.- Drush:
drush yoyaku:venue-import {dir}anddrush yoyaku:venue-export {venue_id} {dir}(round-trips). - The manifest maps one to one to the yoyaku_seating entities; grades and sections are keyed by a machine key, seats reference them by key.
- Example package: Auditorium de Bordeaux (17 sections, 5 seat grades, 1422 seats with labels and geometry, plus the hall background), which also serves as the kernel test fixture.