Lewati ke konten

drawtonomy vs XML OpenSCENARIO yang ditulis tangan

Menulis XML OpenSCENARIO secara tangan adalah alur kerja yang umum, dan untuk banyak kasus penggunaan memang pilihan yang tepat.

Kapan XML tetap jalur yang sesuai:

  • Skenarionya kecil dan Anda menginginkan kontrol pada level byte.
  • Anda menghasilkan XML secara programatik dari DSL atau pipeline codegen.
  • Anda memerlukan fitur spesifikasi yang belum diekspor drawtonomy — parameter sweep, kontroler kustom/ML, model aliran lalu lintas yang padat, OpenSCENARIO 1.3.
  • Anda membangun jaringan jalan baru berisi junction dari nol dan butuh geometri <junction> presisi produksi — ekspor junction drawtonomy akurat ketika membawa .xodr hasil impor tanpa perubahan, tapi menghasilkan geometri junction baru dari jalur gambar tangan masih rendah presisinya.
  • Anda berkolaborasi pada katalog besar melalui git dan diff XML yang stabil pada level byte itu penting.

Untuk kasus-kasus tersebut, XML yang ditulis tangan atau di-codegen tetap pendekatan kanonik. Tapi untuk menyusun dan menjalankan satu skenario konkret — aksi, pemicu, dan vonis PASS/FAIL — editor visual biasanya lebih cepat.

Editor visual untuk OpenSCENARIO 1.2 yang menyusun storyboard lengkap di kanvas dan menjalankannya langsung di browser — tanpa mengetik XML sama sekali:

  • Jaringan jalan 2D tampak atas — jalur, persimpangan, linestring — yang diekspor sebagai OpenDRIVE 1.8 .xodr, ditambah penempatan kendaraan, pejalan kaki, lampu lalu lintas, dan marka jalan sebagai entitas.
  • Storyboard lengkap: phase (act), event, seluruh 35 aksi dalam spesifikasi (speed, lane change, teleport, follow-trajectory, activate-controller, dan lainnya), serta seluruh 19 kondisi pemicu (plus 6 kondisi lanjutan) yang dapat digabung dengan logika AND/OR.
  • Kondisi END dan FAIL yang menghasilkan vonis PASS/FAIL saat skenario dijalankan.
  • Eksekusi langsung di browser lewat esmini yang dikompilasi ke WebAssembly — kontrol transport, seek presisi frame, kamera follow, jejak ghost, dan pratinjau 3D opsional dari jalannya skenario — sehingga Anda bisa meninjau skenario yang berjalan tanpa meninggalkan halaman. .xosc yang sama juga berjalan tanpa perubahan di instalasi esmini native.
  • Ekspor ke OpenSCENARIO 1.0, 1.1, atau 1.2 (1.3 belum tersedia), ditambah primitif <junction>/<connection> OpenDRIVE dan rambu lalu lintas sebagai entri <signal>.

Kesenjangan nyata yang masih membutuhkan XML tulisan tangan atau hasil generate:

  • Ekspor OpenSCENARIO 1.3 — formatnya sudah didukung untuk impor, tapi belum tersedia sebagai target ekspor.
  • Geometri <junction> OpenDRIVE presisi produksi saat membangun jaringan jalan dari nol. Konektivitas junction round-trip dengan akurat ketika membawa .xodr hasil impor tanpa perubahan; menghasilkan geometri junction baru dari jalur gambar tangan masih rendah presisinya, dan geometri clothoid analitis belum dimodelkan.
  • Parameter sweep, kontroler kustom atau berbasis ML, dan model aliran lalu lintas yang padat.
  • OpenSCENARIO 2.0/M-SDL (drawtonomy menyasar seri 1.x).

Untuk kebutuhan-kebutuhan itu, menulis atau menghasilkan XML secara tangan tetap jalur yang tepat.

Untuk sebagian besar skenario yang Anda susun dan jalankan sepenuhnya di drawtonomy, browser adalah sumber kebenarannya. Gunakan XML tulisan tangan hanya di titik-titik tepi:

  1. Susun adegan dan storyboard di drawtonomy — jaringan jalur, peserta, aksi, pemicu, kondisi end/fail — lalu jalankan untuk memastikan vonisnya.
  2. Jika Anda butuh fitur spesifikasi yang belum diekspor drawtonomy (primitif junction, parameter sweep, kontroler kustom), ekspor .xosc-nya dan edit atau codegen bagian itu secara manual.
  3. Saat Anda menginginkan diff git pada level byte di seluruh katalog besar, simpan XML kanonik di kode dan gunakan drawtonomy untuk menyusun, meninjau, dan memutar ulang skenario konkret satu per satu.

drawtonomy adalah tempat Anda menyusun dan menjalankan skenario; XML tulisan tangan tetap jadi jalan keluar untuk sudut-sudut spesifikasi yang belum terjangkau.

XML tulisan tangan adalah jalur penulisan fondasi untuk OpenSCENARIO — setiap alat lain dalam ekosistem pada akhirnya menghasilkannya juga (atau padanan DSL-nya). Eksporter drawtonomy, scenariogeneration, Scenic, RoadRunner, Blender DSC, dan lainnya semua bermuara pada XML tersebut. Membaca dan menulis XML secara langsung adalah cara standar ini tetap menjadi standar, dan alat-alat yang menghasilkannya ikut menikmati interoperabilitas lintas alat yang telah dibangun komunitas di sekitarnya.