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 / VenueExporter services.
  • Drush: drush yoyaku:venue-import {dir} and drush 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.

Merge request reports

Loading