Thomas Fransolet c8947880ba Ecran VR, section Scene3D et medias immersifs
Canal VR
- L'entree VR affiche VrScreen au lieu de « non configuree » : sous-onglet
  Configuration (AppConfigurationLinkScreen reutilise) et sous-onglet Casques
  (pincode d'appairage, etat, batterie, version, dernier vu).
- Le dialogue de plan SuperAdmin porte aussi les canaux et les add-ons
  (assistant, contenu immersif). Activer un canal cree son
  ApplicationInstance s'il n'existe pas ; le desactiver ne supprime rien.

Medias immersifs
- Types Image360, Video360, Model3D : icones, libelles, extensions, apercu
  dans la Mediatheque et facettes.
- Au depot, la pastille de type bascule Image <-> Image 360 et
  Video <-> Video 360 : rien dans un .jpg ne dit qu'il est
  equirectangulaire. Un .glb est reconnu seul.
- ImageCompressor ne touche plus aux 360 ni aux GLB, sur les deux chemins
  d'upload : ramenee a 2560 px, une equirectangulaire devient illisible dans
  un casque.

Scene3D
- Nouveau type de section (famille des lieux) et son ecran de configuration :
  modele, mode objet/decor, points d'interet.
- Fond immersif d'une configuration, visible si l'instance a l'add-on : le
  type est deduit de la ressource choisie, avec une image de repli.

Client API edite a la main en miroir du backend : SectionScene3DApi,
Scene3DDTO, ImmersiveBackgroundDTO, Position3D, AppType sur les devices,
ResourceType etendu. Libelles FR/EN/NL.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-13 16:54:13 +02:00

215 lines
7.5 KiB
Dart

//
// AUTO-GENERATED FILE, DO NOT MODIFY!
//
// @dart=2.18
// ignore_for_file: unused_element, unused_import
// ignore_for_file: always_put_required_named_parameters_first
// ignore_for_file: constant_identifier_names
// ignore_for_file: lines_longer_than_80_chars
library openapi.api;
import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'package:collection/collection.dart';
import 'package:http/http.dart';
import 'package:intl/intl.dart';
import 'package:meta/meta.dart';
part 'api_client.dart';
part 'api_helper.dart';
part 'api_exception.dart';
part 'auth/authentication.dart';
part 'auth/api_key_auth.dart';
part 'auth/oauth.dart';
part 'auth/http_basic_auth.dart';
part 'auth/http_bearer_auth.dart';
part 'api/ai_api.dart';
part 'api/api_key_api.dart';
part 'api/application_instance_api.dart';
part 'api/authentication_api.dart';
part 'api/configuration_api.dart';
part 'api/device_api.dart';
part 'api/instance_api.dart';
part 'api/onboarding_api.dart';
part 'api/subscription_plan_api.dart';
part 'api/resource_api.dart';
part 'api/section_api.dart';
part 'api/section_agenda_api.dart';
part 'api/section_event_api.dart';
part 'api/section_map_api.dart';
part 'api/section_scene3_d_api.dart';
part 'api/section_parcours_api.dart';
part 'api/section_quiz_api.dart';
part 'api/notification_api.dart';
part 'api/stats_api.dart';
part 'api/user_api.dart';
part 'model/push_notification_dto.dart';
part 'model/send_notification_request.dart';
part 'model/schedule_notification_request.dart';
part 'model/agenda_dto.dart';
part 'model/agenda_dto_all_of_agenda_map_provider.dart';
part 'model/ai_card_dto.dart';
part 'model/ai_chat_message.dart';
part 'model/ai_chat_request.dart';
part 'model/ai_chat_response.dart';
part 'model/ai_chat_response_navigation.dart';
part 'model/api_key_app_type.dart';
part 'model/app_configuration_link.dart';
part 'model/app_configuration_link_application_instance.dart';
part 'model/app_configuration_link_configuration.dart';
part 'model/app_configuration_link_dto.dart';
part 'model/app_configuration_link_dto_configuration.dart';
part 'model/app_configuration_link_dto_device.dart';
part 'model/app_configuration_link_device.dart';
part 'model/app_type.dart';
part 'model/app_type_extensions.dart';
part 'model/application_instance.dart';
part 'model/application_instance_dto.dart';
part 'model/application_instance_dto_section_event_dto.dart';
part 'model/application_instance_section_event.dart';
part 'model/article_dto.dart';
part 'model/categorie_dto.dart';
part 'model/configuration.dart';
part 'model/configuration_dto.dart';
part 'model/content_dto.dart';
part 'model/coordinate.dart';
part 'model/coordinate_equality_comparer.dart';
part 'model/coordinate_sequence.dart';
part 'model/coordinate_sequence_factory.dart';
part 'model/create_api_key_request.dart';
part 'model/device.dart';
part 'model/device_dto.dart';
part 'model/device_detail_dto.dart';
part 'model/dimension.dart';
part 'model/envelope.dart';
part 'model/event_address_dto.dart';
part 'model/event_address_dto_geometry.dart';
part 'model/event_agenda_dto.dart';
part 'model/event_agenda_dto_address.dart';
part 'model/event_agenda_dto_resource.dart';
part 'model/export_configuration_dto.dart';
part 'model/game_dto.dart';
part 'model/game_dto_all_of_puzzle_image.dart';
part 'model/game_types.dart';
part 'model/geo_point.dart';
part 'model/geo_point_dto.dart';
part 'model/geometry.dart';
part 'model/geometry_centroid.dart';
part 'model/geometry_dto.dart';
part 'model/geometry_envelope_internal.dart';
part 'model/geometry_factory.dart';
part 'model/geometry_factory_coordinate_sequence_factory.dart';
part 'model/geometry_factory_geometry_services.dart';
part 'model/geometry_precision_model.dart';
part 'model/geometry_type.dart';
part 'model/guided_path.dart';
part 'model/guided_path_dto.dart';
part 'model/guided_path_section_game.dart';
part 'model/guided_path_section_map.dart';
part 'model/guided_step.dart';
part 'model/guided_step_dto.dart';
part 'model/guided_step_guided_path.dart';
part 'model/instance.dart';
part 'model/instance_dto.dart';
part 'model/instance_quota_dto.dart';
part 'model/subscription_plan_dto.dart';
part 'model/login_dto.dart';
part 'model/map_annotation.dart';
part 'model/map_annotation_dto.dart';
part 'model/map_annotation_geometry.dart';
part 'model/map_annotation_icon_resource.dart';
part 'model/map_dto.dart';
part 'model/map_dto_all_of_map_provider.dart';
part 'model/map_dto_all_of_map_type.dart';
part 'model/map_dto_all_of_map_type_mapbox.dart';
part 'model/map_provider.dart';
part 'model/map_type_app.dart';
part 'model/map_type_map_box.dart';
part 'model/menu_dto.dart';
part 'model/navigation_action_dto.dart';
part 'model/nts_geometry_services.dart';
part 'model/nts_geometry_services_coordinate_equality_comparer.dart';
part 'model/nts_geometry_services_geometry_overlay.dart';
part 'model/ogc_geometry_type.dart';
part 'model/ordered_translation_and_resource_dto.dart';
part 'model/ordinates.dart';
part 'model/pdf_dto.dart';
part 'model/player_message_dto.dart';
part 'model/point.dart';
part 'model/point_all_of_boundary.dart';
part 'model/point_all_of_coordinate.dart';
part 'model/point_all_of_coordinate_sequence.dart';
part 'model/precision_model.dart';
part 'model/precision_models.dart';
part 'model/problem_details.dart';
part 'model/programme_block.dart';
part 'model/programme_block_dto.dart';
part 'model/question_dto.dart';
part 'model/question_dto_image_background_resource_type.dart';
part 'model/question_type.dart';
part 'model/quiz_dto.dart';
part 'model/quiz_question.dart';
part 'model/quiz_question_guided_step.dart';
part 'model/quiz_question_section_quiz.dart';
part 'model/resource.dart';
part 'model/resource_dto.dart';
part 'model/resource_type.dart';
part 'model/resource_usage_dto.dart';
part 'model/resource_usage_map_dto.dart';
part 'model/resource_bulk_delete_report_dto.dart';
part 'model/response_dto.dart';
part 'model/section.dart';
part 'model/section_dto.dart';
part 'model/section_event.dart';
part 'model/section_event_dto.dart';
part 'model/section_game.dart';
part 'model/parcours_dto.dart';
part 'model/immersive_background_dto.dart';
part 'model/immersive_background_kind.dart';
part 'model/scene3_d_dto.dart';
part 'model/scene3_d_mode.dart';
part 'model/position3_d.dart';
part 'model/section_game_all_of_game_puzzle_image.dart';
part 'model/section_map.dart';
part 'model/section_map_all_of_map_map_provider.dart';
part 'model/section_map_all_of_map_map_type.dart';
part 'model/section_map_all_of_map_resource.dart';
part 'model/section_map_all_of_map_type_mapbox.dart';
part 'model/section_quiz.dart';
part 'model/section_type.dart';
part 'model/slider_dto.dart';
part 'model/stats_summary_dto.dart';
part 'model/token_dto.dart';
part 'model/translation_and_resource_dto.dart';
part 'model/translation_dto.dart';
part 'model/user_detail_dto.dart';
part 'model/user_detail_dto_role.dart';
part 'model/user_role.dart';
part 'model/user_role_extensions.dart';
part 'model/video_dto.dart';
part 'model/visit_event_dto.dart';
part 'model/weather_dto.dart';
part 'model/web_dto.dart';
/// An [ApiClient] instance that uses the default values obtained from
/// the OpenAPI specification file.
var defaultApiClient = ApiClient();
const _delimiters = {'csv': ',', 'ssv': ' ', 'tsv': '\t', 'pipes': '|'};
const _dateEpochMarker = 'epoch';
const _deepEquality = DeepCollectionEquality();
final _dateFormatter = DateFormat('yyyy-MM-dd');
final _regList = RegExp(r'^List<(.*)>$');
final _regSet = RegExp(r'^Set<(.*)>$');
final _regMap = RegExp(r'^Map<String,(.*)>$');
bool _isEpochMarker(String? pattern) =>
pattern == _dateEpochMarker || pattern == '/$_dateEpochMarker/';