#![allow(clashing_extern_declarations)]
#![allow(dead_code)]
#![allow(deprecated)]
pub mod applet_v0;
pub mod applet_v1;
pub mod applet_v2;
pub mod applet_v3;
pub mod applet_v4;
pub mod applet_v5;
pub mod behavior_controller_v0;
pub mod behavior_controller_v1;
pub mod behavior_v0;
pub mod core_v0;
pub mod core_v1;
pub mod core_v2;
pub mod core_v3;
pub mod core_v4;
pub mod feature_toggle_v0;
pub mod file_ux_v0;
pub mod http_request_v1;
pub mod ml_inference_v0;
pub mod ml_v1;
pub mod ml_v2;
pub mod ml_v3;
pub mod ml_v4;
pub mod ml_v5;
pub mod module_run_v0;
pub mod profiler_v0;
pub mod render_v0;
pub mod render_v1;
pub mod resource_v0;
pub mod resource_v1;
pub mod storage_v1;
pub mod telemetry_v0;
pub mod time_v1;
pub mod user_v1;
pub mod world_v0;
pub mod world_v1;
pub mod world_v2;
pub mod world_v3;
pub mod world_v4;
#[cfg(feature = "examples")]
pub mod example_automatic;
#[cfg(feature = "examples")]
pub mod example_manual;
use crate::ApiId;
#[doc(hidden)]
#[allow(deprecated)]
#[rustfmt::skip]
pub static DEFINED_APIS: &[ApiId] = &[
crate::applet_v0::API,
crate::applet_v1::API,
crate::applet_v2::API,
crate::applet_v3::API,
crate::applet_v4::API,
crate::applet_v5::API,
crate::behavior_controller_v0::API,
crate::behavior_controller_v1::API,
crate::behavior_v0::API,
crate::core_v0::API,
crate::core_v1::API,
crate::core_v2::API,
crate::core_v3::API,
crate::core_v4::API,
crate::feature_toggle_v0::API,
crate::file_ux_v0::API,
crate::http_request_v1::API,
crate::ml_v1::API,
crate::ml_v2::API,
crate::ml_v3::API,
crate::ml_v4::API,
crate::ml_v5::API,
crate::ml_inference_v0::API,
crate::module_run_v0::API,
crate::profiler_v0::API,
crate::render_v0::API,
crate::render_v1::API,
crate::resource_v0::API,
crate::resource_v1::API,
crate::storage_v1::API,
crate::telemetry_v0::API,
crate::time_v1::API,
crate::user_v1::API,
crate::world_v0::API,
crate::world_v1::API,
crate::world_v2::API,
crate::world_v3::API,
crate::world_v4::API,
];
#[doc(hidden)]
#[allow(deprecated)]
#[rustfmt::skip]
pub static REMOVED_APIS: &[ApiId] = &[
ApiId { id: 0xaed6_0109_4f07_3c6e, name: "unstable-ml-v0" },
ApiId { id: 0x290f_0d1e_3c13_2a49, name: "unstable-applet-v0" },
ApiId { id: 0x936b_f2af_ca83_48b3, name: "unstable-profiler-v0" },
ApiId { id: 0xea8c_6fd2_06ad_4b8d, name: "canvas-v0" },
ApiId { id: 0xba92_f306_29a4_9043, name: "imgui-v0" }, ApiId { id: 0x6b6a_530d_a562_96fb, name: "scene-ext-poly"},
ApiId { id: 0x2346_af34_cd79_ba23, name: "scene-ext-has-mesh-semantics"}, ApiId { id: 0x6dc8_e9c5_0714_4da6, name: "scene-ext-mesh-buffer"}, ApiId { id: 0x0ace_7d0c_cd62_1807, name: "scene-ext-mesh-style"}, ApiId { id: 0x1359_9673_ab35_8900, name: "scene-ext-ray-intersect"}, ApiId { id: 0xaed6_0109_4f07_3c7f, name: "ml-v0"}, ApiId { id: 0x2110_e04a_32df_fab0, name: "storage-v0" }, ApiId { id: 0xa611_870d_dd2d_94d0, name: "http-request-v0" }, ApiId { id: 0x7c17_633d_0906_cfa4, name: "user-v0" }, ApiId { id: 0x6b95_7be8_9952_68bd, name: "time-v0" }, ApiId { id: 6000, name: "scene-v0"}, ApiId { id: 6001, name: "scene-v1"}, ApiId { id: 6002, name: "scene-v2"}, ApiId { id: 6003, name: "scene-v3"}, ApiId { id: 6004, name: "scene-v4"}, ApiId { id: 5000, name: "mixer-v0" },
ApiId { id: 5001, name: "mixer-v1" },
ApiId { id: 5002, name: "mixer-v2" },
ApiId { id: 5003, name: "mixer-v3" },
ApiId { id: 5004, name: "mixer-v4" },
ApiId { id: 5005, name: "mixer-v5" },
ApiId { id: 4000, name: "log-v0" },
ApiId { id: 4001, name: "log-v1" },
ApiId { id: 3000, name: "http-download-v0" },
ApiId { id: 3001, name: "http-download-v1" },
];
#[cfg(test)]
#[allow(clippy::panic)]
mod test {
#[test]
fn validate_api_ids() {
use super::*;
let mut api_map = std::collections::BTreeMap::new();
for api in DEFINED_APIS.iter().chain(REMOVED_APIS.iter()) {
if let Some(api2_name) = api_map.insert(api.id, api.name) {
panic!(
"API \"{}\" and API \"{}\" are using identical ID {:x}",
api.name, api2_name, api.id
);
}
}
}
fn valid_api_name(name: &str) -> bool {
name.chars()
.all(|c| c.is_ascii_lowercase() || c.is_ascii_digit() || c == '-')
}
#[test]
fn validate_api_names() {
use super::*;
let mut api_map = std::collections::BTreeMap::new();
for api in DEFINED_APIS.iter().chain(REMOVED_APIS.iter()) {
assert!(valid_api_name(api.name));
if let Some(api2_id) = api_map.insert(api.name, api.id) {
panic!(
"Multiple APIs with the name \"{}\", id {:x} and {:x}",
api.name, api.id, api2_id
);
}
}
}
}