[INFO] fetching crate lunar-core 1.0.0...
[INFO] documenting lunar-core-1.0.0 against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] extracting crate lunar-core 1.0.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate lunar-core 1.0.0
[INFO] finished tweaking crates.io crate lunar-core 1.0.0
[INFO] tweaked toml for crates.io crate lunar-core 1.0.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate lunar-core 1.0.0 on toolchain da3f5c31e5535b3dc210067de660a45784ae1e9c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate lunar-core 1.0.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] adb3414013bb636e24d916a099830a8e53f0954f11b4f2faf86b369de2ab8885
[INFO] running `Command { std: "docker" "start" "adb3414013bb636e24d916a099830a8e53f0954f11b4f2faf86b369de2ab8885", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "adb3414013bb636e24d916a099830a8e53f0954f11b4f2faf86b369de2ab8885", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "adb3414013bb636e24d916a099830a8e53f0954f11b4f2faf86b369de2ab8885" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "adb3414013bb636e24d916a099830a8e53f0954f11b4f2faf86b369de2ab8885", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "adb3414013bb636e24d916a099830a8e53f0954f11b4f2faf86b369de2ab8885" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]     Checking spin v0.10.0
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]    Compiling erased-serde v0.4.10
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling slotmap v1.1.1
[INFO] [stderr]     Checking disqualified v1.0.0
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]     Checking bevy_ptr v0.18.1
[INFO] [stderr]     Checking downcast-rs v2.0.2
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]     Checking nonmax v0.5.5
[INFO] [stderr]     Checking log v0.4.30
[INFO] [stderr]     Checking fixedbitset v0.5.7
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking glam v0.33.0
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]     Checking roxmltree v0.20.0
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking async-executor v1.14.0
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]    Compiling bevy_macro_utils v0.18.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling assert_type_match v0.1.1
[INFO] [stderr]    Compiling variadics_please v1.1.0
[INFO] [stderr]    Compiling bevy_reflect_derive v0.18.1
[INFO] [stderr]    Compiling bevy_ecs_macros v0.18.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking bevy_platform v0.18.1
[INFO] [stderr]     Checking ron v0.12.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking bevy_utils v0.18.1
[INFO] [stderr]     Checking bevy_tasks v0.18.1
[INFO] [stderr]     Checking bevy_reflect v0.18.1
[INFO] [stderr]     Checking bevy_ecs v0.18.1
[INFO] [stderr]     Checking lunar-math v1.0.0
[INFO] [stderr]  Documenting lunar-core v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unresolved link to `App`
[INFO] [stdout]  --> src/engine.rs:4:54
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! game code interacts with the world through the [`App`] builder.
[INFO] [stdout]   |                                                      ^^^ no item named `App` in scope
[INFO] [stdout]   |
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout]   = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:486:1
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub mod builtin_components {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `compiled/interned manifest internals — reachable for tooling, but not part of`
[INFO] [stdout]     = help: ends near `game code can define additional components freely.`
[INFO] [stdout]     = note: `#[deny(rustdoc::unportable_markdown)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:486:1
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub mod builtin_components {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `built-in component names recognized by the engine.`
[INFO] [stdout]     = help: ends near `built-in component names recognized by the engine.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/app.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | / pub struct App {
[INFO] [stdout] 173 | |     /// the engine instance
[INFO] [stdout] 174 | |     engine: Engine,
[INFO] [stdout] 175 | |     /// plugins registered but not yet built
[INFO] [stdout] ...   |
[INFO] [stdout] 180 | |     startup_run: bool,
[INFO] [stdout] 181 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `app builder and time resource`
[INFO] [stdout]     = help: ends near `app builder for configuring the engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/app.rs:172:1
[INFO] [stdout]     |
[INFO] [stdout] 172 | / pub struct App {
[INFO] [stdout] 173 | |     /// the engine instance
[INFO] [stdout] 174 | |     engine: Engine,
[INFO] [stdout] 175 | |     /// plugins registered but not yet built
[INFO] [stdout] ...   |
[INFO] [stdout] 180 | |     startup_run: bool,
[INFO] [stdout] 181 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `app builder for configuring the engine`
[INFO] [stdout]     = help: ends near `app builder for configuring the engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/app.rs:432:1
[INFO] [stdout]     |
[INFO] [stdout] 432 | / pub trait GamePlugin: Send {
[INFO] [stdout] 433 | |     /// get the plugin name for dependency resolution
[INFO] [stdout] 434 | |     fn name(&self) -> &str;
[INFO] [stdout] ...   |
[INFO] [stdout] 445 | |     fn finish(&mut self, _app: &mut App) {}
[INFO] [stdout] 446 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `app builder and time resource`
[INFO] [stdout]     = help: ends near `trait for game plugins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/app.rs:432:1
[INFO] [stdout]     |
[INFO] [stdout] 432 | / pub trait GamePlugin: Send {
[INFO] [stdout] 433 | |     /// get the plugin name for dependency resolution
[INFO] [stdout] 434 | |     fn name(&self) -> &str;
[INFO] [stdout] ...   |
[INFO] [stdout] 445 | |     fn finish(&mut self, _app: &mut App) {}
[INFO] [stdout] 446 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `trait for game plugins`
[INFO] [stdout]     = help: ends near `trait for game plugins`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/app.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | / pub struct LoopConfig {
[INFO] [stdout] 31 | |     /// render frame cap in fps. `0` = uncapped (vsync-limited).
[INFO] [stdout] 32 | |     pub frame_cap: u32,
[INFO] [stdout] 33 | |     /// fixed logic tick rate, independent of the render frame rate.
[INFO] [stdout] 34 | |     pub tick_rate: TickRate,
[INFO] [stdout] 35 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `app builder and time resource`
[INFO] [stdout]    = help: ends near `timing parameters for the game loop, passed to [`App::run`].`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/app.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | / pub struct LoopConfig {
[INFO] [stdout] 31 | |     /// render frame cap in fps. `0` = uncapped (vsync-limited).
[INFO] [stdout] 32 | |     pub frame_cap: u32,
[INFO] [stdout] 33 | |     /// fixed logic tick rate, independent of the render frame rate.
[INFO] [stdout] 34 | |     pub tick_rate: TickRate,
[INFO] [stdout] 35 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `timing parameters for the game loop, passed to [`App::run`].`
[INFO] [stdout]    = help: ends near `timing parameters for the game loop, passed to [`App::run`].`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/app.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / pub struct TickRateConfig {
[INFO] [stdout] 21 | |     pub rate: TickRate,
[INFO] [stdout] 22 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `app builder and time resource`
[INFO] [stdout]    = help: ends near `runtime-switchable logic tick rate.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/app.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / pub struct TickRateConfig {
[INFO] [stdout] 21 | |     pub rate: TickRate,
[INFO] [stdout] 22 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `runtime-switchable logic tick rate.`
[INFO] [stdout]    = help: ends near `runtime-switchable logic tick rate.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/app.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | / pub struct Time {
[INFO] [stdout] 51 | |     /// fixed logic delta in seconds (scaled by time_scale).
[INFO] [stdout] 52 | |     /// always exactly 1/tick_hz — use this for all game logic and physics.
[INFO] [stdout] 53 | |     delta_seconds: f32,
[INFO] [stdout] ...  |
[INFO] [stdout] 67 | |     interp_alpha: f32,
[INFO] [stdout] 68 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `app builder and time resource`
[INFO] [stdout]    = help: ends near `time resource updated each frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/app.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | / pub struct Time {
[INFO] [stdout] 51 | |     /// fixed logic delta in seconds (scaled by time_scale).
[INFO] [stdout] 52 | |     /// always exactly 1/tick_hz — use this for all game logic and physics.
[INFO] [stdout] 53 | |     delta_seconds: f32,
[INFO] [stdout] ...  |
[INFO] [stdout] 67 | |     interp_alpha: f32,
[INFO] [stdout] 68 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `time resource updated each frame`
[INFO] [stdout]    = help: ends near `time resource updated each frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/command.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / pub trait Command: Send + Sync {
[INFO] [stdout] 20 | |     /// execute the command with the given arguments
[INFO] [stdout] 21 | |     ///
[INFO] [stdout] 22 | |     /// # Errors
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     fn description(&self) -> &str;
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `command registry for console commands`
[INFO] [stdout]    = help: ends near `a command that can be executed by the engine.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/command.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / pub trait Command: Send + Sync {
[INFO] [stdout] 20 | |     /// execute the command with the given arguments
[INFO] [stdout] 21 | |     ///
[INFO] [stdout] 22 | |     /// # Errors
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     fn description(&self) -> &str;
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `a command that can be executed by the engine.`
[INFO] [stdout]    = help: ends near `a command that can be executed by the engine.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/command.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / pub struct CommandRegistry {
[INFO] [stdout] 35 | |     commands: HashMap<String, Box<dyn Command>>,
[INFO] [stdout] 36 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `command registry for console commands`
[INFO] [stdout]    = help: ends near `registry of all available commands.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/command.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / pub struct CommandRegistry {
[INFO] [stdout] 35 | |     commands: HashMap<String, Box<dyn Command>>,
[INFO] [stdout] 36 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `registry of all available commands.`
[INFO] [stdout]    = help: ends near `registry of all available commands.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/engine.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | / pub struct Engine {
[INFO] [stdout] 36 | |     /// the ECS world containing all entities, components, and resources
[INFO] [stdout] 37 | |     world: World,
[INFO] [stdout] 38 | |     /// the startup schedule (run once before main loop)
[INFO] [stdout] ...  |
[INFO] [stdout] 41 | |     stage_schedules: [Schedule; 5],
[INFO] [stdout] 42 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `engine wrapper around `bevy_ecs` world and schedule`
[INFO] [stdout]    = help: ends near `the engine owns the ECS world and schedules.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/engine.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | / pub struct Engine {
[INFO] [stdout] 36 | |     /// the ECS world containing all entities, components, and resources
[INFO] [stdout] 37 | |     world: World,
[INFO] [stdout] 38 | |     /// the startup schedule (run once before main loop)
[INFO] [stdout] ...  |
[INFO] [stdout] 41 | |     stage_schedules: [Schedule; 5],
[INFO] [stdout] 42 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `the engine owns the ECS world and schedules.`
[INFO] [stdout]    = help: ends near `the engine owns the ECS world and schedules.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / pub enum EngineError {
[INFO] [stdout] 11 | |     /// failed to create the game window
[INFO] [stdout] 12 | |     WindowCreation(String),
[INFO] [stdout] 13 | |     /// failed to initialize the GPU (wgpu)
[INFO] [stdout] ...  |
[INFO] [stdout] 24 | |     Other(String),
[INFO] [stdout] 25 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `error handling types`
[INFO] [stdout]    = help: ends near `engine error enum covering common failure modes.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | / pub enum EngineError {
[INFO] [stdout] 11 | |     /// failed to create the game window
[INFO] [stdout] 12 | |     WindowCreation(String),
[INFO] [stdout] 13 | |     /// failed to initialize the GPU (wgpu)
[INFO] [stdout] ...  |
[INFO] [stdout] 24 | |     Other(String),
[INFO] [stdout] 25 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `engine error enum covering common failure modes.`
[INFO] [stdout]    = help: ends near `engine error enum covering common failure modes.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub type EngineResult<T> = Result<T, EngineError>;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `error handling types`
[INFO] [stdout]    = help: ends near `convenience result type for engine operations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub type EngineResult<T> = Result<T, EngineError>;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `convenience result type for engine operations`
[INFO] [stdout]    = help: ends near `convenience result type for engine operations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / pub struct ErrorEvent {
[INFO] [stdout] 73 | |     /// which subsystem raised the error
[INFO] [stdout] 74 | |     pub source: ErrorSource,
[INFO] [stdout] 75 | |     /// the error details
[INFO] [stdout] ...  |
[INFO] [stdout] 78 | |     pub recovered: bool,
[INFO] [stdout] 79 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `error handling types`
[INFO] [stdout]    = help: ends near `an error event that can be read by game systems.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / pub struct ErrorEvent {
[INFO] [stdout] 73 | |     /// which subsystem raised the error
[INFO] [stdout] 74 | |     pub source: ErrorSource,
[INFO] [stdout] 75 | |     /// the error details
[INFO] [stdout] ...  |
[INFO] [stdout] 78 | |     pub recovered: bool,
[INFO] [stdout] 79 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `an error event that can be read by game systems.`
[INFO] [stdout]    = help: ends near `an error event that can be read by game systems.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | / pub enum ErrorSource {
[INFO] [stdout] 53 | |     /// error from the render subsystem
[INFO] [stdout] 54 | |     Render,
[INFO] [stdout] 55 | |     /// error from the input subsystem
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |     Game,
[INFO] [stdout] 65 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `error handling types`
[INFO] [stdout]    = help: ends near `source of an error event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/error.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | / pub enum ErrorSource {
[INFO] [stdout] 53 | |     /// error from the render subsystem
[INFO] [stdout] 54 | |     Render,
[INFO] [stdout] 55 | |     /// error from the input subsystem
[INFO] [stdout] ...  |
[INFO] [stdout] 64 | |     Game,
[INFO] [stdout] 65 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `source of an error event`
[INFO] [stdout]    = help: ends near `source of an error event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/game_loop.rs:65:1
[INFO] [stdout]    |
[INFO] [stdout] 65 | / pub struct GameLoop {
[INFO] [stdout] 66 | |     /// target frame cap (0 = uncapped / vsync-limited)
[INFO] [stdout] 67 | |     frame_cap: u32,
[INFO] [stdout] 68 | |     /// logic tick rate — independent of frame cap
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |     running: bool,
[INFO] [stdout] 76 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `game loop with fixed timestep`
[INFO] [stdout]    = help: ends near `game loop state — manages the fixed-step accumulator and frame rate limiting.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/game_loop.rs:65:1
[INFO] [stdout]    |
[INFO] [stdout] 65 | / pub struct GameLoop {
[INFO] [stdout] 66 | |     /// target frame cap (0 = uncapped / vsync-limited)
[INFO] [stdout] 67 | |     frame_cap: u32,
[INFO] [stdout] 68 | |     /// logic tick rate — independent of frame cap
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |     running: bool,
[INFO] [stdout] 76 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `game loop state — manages the fixed-step accumulator and frame rate limiting.`
[INFO] [stdout]    = help: ends near `game loop state — manages the fixed-step accumulator and frame rate limiting.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/game_loop.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | / pub enum TickRate {
[INFO] [stdout] 24 | |     /// 30hz — emergency low-end mode only
[INFO] [stdout] 25 | |     Hz30,
[INFO] [stdout] 26 | |     /// 60hz — standard minimum
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |     Hz240,
[INFO] [stdout] 32 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `game loop with fixed timestep`
[INFO] [stdout]    = help: ends near `logic tick rate. only these four values are valid.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/game_loop.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | / pub enum TickRate {
[INFO] [stdout] 24 | |     /// 30hz — emergency low-end mode only
[INFO] [stdout] 25 | |     Hz30,
[INFO] [stdout] 26 | |     /// 60hz — standard minimum
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |     Hz240,
[INFO] [stdout] 32 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `logic tick rate. only these four values are valid.`
[INFO] [stdout]    = help: ends near `logic tick rate. only these four values are valid.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/hierarchy.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Children(pub smallvec::SmallVec<[Entity; 4]>);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `entity hierarchy components and parent/child sync`
[INFO] [stdout]    = help: ends near `component that stores the list of child entities.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/hierarchy.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Children(pub smallvec::SmallVec<[Entity; 4]>);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `component that stores the list of child entities.`
[INFO] [stdout]    = help: ends near `component that stores the list of child entities.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/hierarchy.rs:102:1
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct HierarchyPlugin;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `entity hierarchy components and parent/child sync`
[INFO] [stdout]     = help: ends near `plugin that registers hierarchy systems.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/hierarchy.rs:102:1
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct HierarchyPlugin;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `plugin that registers hierarchy systems.`
[INFO] [stdout]     = help: ends near `plugin that registers hierarchy systems.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/hierarchy.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Parent(pub Entity);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `entity hierarchy components and parent/child sync`
[INFO] [stdout]    = help: ends near `component that stores the parent entity reference.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/hierarchy.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Parent(pub Entity);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `component that stores the parent entity reference.`
[INFO] [stdout]    = help: ends near `component that stores the parent entity reference.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/hierarchy.rs:99:1
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct PostUpdate;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `entity hierarchy components and parent/child sync`
[INFO] [stdout]    = help: ends near `built-in stage for transform propagation (runs after Update, before Render).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/hierarchy.rs:99:1
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct PostUpdate;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `built-in stage for transform propagation (runs after Update, before Render).`
[INFO] [stdout]    = help: ends near `built-in stage for transform propagation (runs after Update, before Render).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/hierarchy.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | / pub fn sync_children(world: &mut World) {
[INFO] [stdout] 70 | |     // only process entities where Parent was just added — fast-path skips stable hierarchies
[INFO] [stdout] 71 | |     let pairs: Vec<(Entity, Entity)> = world
[INFO] [stdout] 72 | |         .query_filtered::<(Entity, &Parent), Added<Parent>>()
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `entity hierarchy components and parent/child sync`
[INFO] [stdout]    = help: ends near `exclusive system that syncs [`Parent`] and [`Children`] components.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/hierarchy.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | / pub fn sync_children(world: &mut World) {
[INFO] [stdout] 70 | |     // only process entities where Parent was just added — fast-path skips stable hierarchies
[INFO] [stdout] 71 | |     let pairs: Vec<(Entity, Entity)> = world
[INFO] [stdout] 72 | |         .query_filtered::<(Entity, &Parent), Added<Parent>>()
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `exclusive system that syncs [`Parent`] and [`Children`] components.`
[INFO] [stdout]    = help: ends near `exclusive system that syncs [`Parent`] and [`Children`] components.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/scene.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / pub trait Scene: Send + Sync + 'static {
[INFO] [stdout] 20 | |     /// called when the scene becomes active
[INFO] [stdout] 21 | |     fn on_enter(&mut self, _world: &mut World) {}
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     fn on_exit(&mut self, _world: &mut World) {}
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `scene system for game state management`
[INFO] [stdout]    = help: ends near `scene trait — implement to define a game scene.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/scene.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / pub trait Scene: Send + Sync + 'static {
[INFO] [stdout] 20 | |     /// called when the scene becomes active
[INFO] [stdout] 21 | |     fn on_enter(&mut self, _world: &mut World) {}
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     fn on_exit(&mut self, _world: &mut World) {}
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `scene trait — implement to define a game scene.`
[INFO] [stdout]    = help: ends near `scene trait — implement to define a game scene.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/scene.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / pub struct SceneManager {
[INFO] [stdout] 41 | |     scenes: rustc_hash::FxHashMap<String, BoxedScene>,
[INFO] [stdout] 42 | |     /// stack of active scene names (bottom = base, top = current overlay)
[INFO] [stdout] 43 | |     scene_stack: Vec<String>,
[INFO] [stdout] 44 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `scene system for game state management`
[INFO] [stdout]    = help: ends near `scene manager resource, manages scene switching and overlays.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/scene.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / pub struct SceneManager {
[INFO] [stdout] 41 | |     scenes: rustc_hash::FxHashMap<String, BoxedScene>,
[INFO] [stdout] 42 | |     /// stack of active scene names (bottom = base, top = current overlay)
[INFO] [stdout] 43 | |     scene_stack: Vec<String>,
[INFO] [stdout] 44 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `scene manager resource, manages scene switching and overlays.`
[INFO] [stdout]    = help: ends near `scene manager resource, manages scene switching and overlays.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | / pub struct EntityDefinition {
[INFO] [stdout]  62 | |     /// optional entity identifier for referencing
[INFO] [stdout]  63 | |     pub id: Option<String>,
[INFO] [stdout]  64 | |     /// optional parent entity id
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | |     pub sub_scene: Option<String>,
[INFO] [stdout] 110 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `scene definition format: RON authoring and binary runtime`
[INFO] [stdout]     = help: ends near `authoring-time entity definition.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | / pub struct EntityDefinition {
[INFO] [stdout]  62 | |     /// optional entity identifier for referencing
[INFO] [stdout]  63 | |     pub id: Option<String>,
[INFO] [stdout]  64 | |     /// optional parent entity id
[INFO] [stdout] ...   |
[INFO] [stdout] 109 | |     pub sub_scene: Option<String>,
[INFO] [stdout] 110 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `authoring-time entity definition.`
[INFO] [stdout]     = help: ends near `authoring-time entity definition.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:358:1
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub struct SceneData(pub Option<serde_json::Value>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `scene definition format: RON authoring and binary runtime`
[INFO] [stdout]     = help: ends near `component storing the raw custom data from the scene definition.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:358:1
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub struct SceneData(pub Option<serde_json::Value>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `component storing the raw custom data from the scene definition.`
[INFO] [stdout]     = help: ends near `component storing the raw custom data from the scene definition.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/scene_format.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | / pub struct SceneDefinition {
[INFO] [stdout] 52 | |     /// scene name
[INFO] [stdout] 53 | |     pub name: String,
[INFO] [stdout] 54 | |     /// entity definitions
[INFO] [stdout] 55 | |     #[serde(default)]
[INFO] [stdout] 56 | |     pub entities: Vec<EntityDefinition>,
[INFO] [stdout] 57 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `scene definition format: RON authoring and binary runtime`
[INFO] [stdout]    = help: ends near `authoring-time scene definition (RON format).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/scene_format.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | / pub struct SceneDefinition {
[INFO] [stdout] 52 | |     /// scene name
[INFO] [stdout] 53 | |     pub name: String,
[INFO] [stdout] 54 | |     /// entity definitions
[INFO] [stdout] 55 | |     #[serde(default)]
[INFO] [stdout] 56 | |     pub entities: Vec<EntityDefinition>,
[INFO] [stdout] 57 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `authoring-time scene definition (RON format).`
[INFO] [stdout]    = help: ends near `authoring-time scene definition (RON format).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:341:1
[INFO] [stdout]     |
[INFO] [stdout] 341 | / pub struct SceneEntity {
[INFO] [stdout] 342 | |     /// the scene this entity belongs to
[INFO] [stdout] 343 | |     pub scene_name: String,
[INFO] [stdout] 344 | |     /// optional entity id from the scene file
[INFO] [stdout] 345 | |     pub entity_id: Option<String>,
[INFO] [stdout] 346 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `scene definition format: RON authoring and binary runtime`
[INFO] [stdout]     = help: ends near `marker component for entities spawned from a scene.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:341:1
[INFO] [stdout]     |
[INFO] [stdout] 341 | / pub struct SceneEntity {
[INFO] [stdout] 342 | |     /// the scene this entity belongs to
[INFO] [stdout] 343 | |     pub scene_name: String,
[INFO] [stdout] 344 | |     /// optional entity id from the scene file
[INFO] [stdout] 345 | |     pub entity_id: Option<String>,
[INFO] [stdout] 346 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `marker component for entities spawned from a scene.`
[INFO] [stdout]     = help: ends near `marker component for entities spawned from a scene.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:351:1
[INFO] [stdout]     |
[INFO] [stdout] 351 | / pub struct SceneInstance {
[INFO] [stdout] 352 | |     /// path or name of the instanced sub-scene
[INFO] [stdout] 353 | |     pub scene_path: String,
[INFO] [stdout] 354 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `scene definition format: RON authoring and binary runtime`
[INFO] [stdout]     = help: ends near `the sub-scene's root entities are spawned as children of this entity.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:351:1
[INFO] [stdout]     |
[INFO] [stdout] 351 | / pub struct SceneInstance {
[INFO] [stdout] 352 | |     /// path or name of the instanced sub-scene
[INFO] [stdout] 353 | |     pub scene_path: String,
[INFO] [stdout] 354 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `marker component for entities that instance a sub-scene.`
[INFO] [stdout]     = help: ends near `marker component for entities that instance a sub-scene.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:539:1
[INFO] [stdout]     |
[INFO] [stdout] 539 | pub struct SceneLayer(pub i32);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `scene definition format: RON authoring and binary runtime`
[INFO] [stdout]     = help: ends near `component for scene-defined render layer.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:539:1
[INFO] [stdout]     |
[INFO] [stdout] 539 | pub struct SceneLayer(pub i32);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `component for scene-defined render layer.`
[INFO] [stdout]     = help: ends near `component for scene-defined render layer.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:337:1
[INFO] [stdout]     |
[INFO] [stdout] 337 | pub struct SceneLoader;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `scene definition format: RON authoring and binary runtime`
[INFO] [stdout]     = help: ends near `scene loader: spawns entities from a scene definition.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:337:1
[INFO] [stdout]     |
[INFO] [stdout] 337 | pub struct SceneLoader;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `scene loader: spawns entities from a scene definition.`
[INFO] [stdout]     = help: ends near `scene loader: spawns entities from a scene definition.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:516:1
[INFO] [stdout]     |
[INFO] [stdout] 516 | / pub struct SceneSprite {
[INFO] [stdout] 517 | |     pub texture: String,
[INFO] [stdout] 518 | |     pub width: f32,
[INFO] [stdout] 519 | |     pub height: f32,
[INFO] [stdout] 520 | |     pub tint: Color,
[INFO] [stdout] 521 | |     pub region: Option<String>,
[INFO] [stdout] 522 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `scene definition format: RON authoring and binary runtime`
[INFO] [stdout]     = help: ends near `component for scene-defined sprites.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:516:1
[INFO] [stdout]     |
[INFO] [stdout] 516 | / pub struct SceneSprite {
[INFO] [stdout] 517 | |     pub texture: String,
[INFO] [stdout] 518 | |     pub width: f32,
[INFO] [stdout] 519 | |     pub height: f32,
[INFO] [stdout] 520 | |     pub tint: Color,
[INFO] [stdout] 521 | |     pub region: Option<String>,
[INFO] [stdout] 522 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `component for scene-defined sprites.`
[INFO] [stdout]     = help: ends near `component for scene-defined sprites.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:535:1
[INFO] [stdout]     |
[INFO] [stdout] 535 | pub struct SceneTags(pub Vec<String>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `scene definition format: RON authoring and binary runtime`
[INFO] [stdout]     = help: ends near `component for scene-defined tags.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:535:1
[INFO] [stdout]     |
[INFO] [stdout] 535 | pub struct SceneTags(pub Vec<String>);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `component for scene-defined tags.`
[INFO] [stdout]     = help: ends near `component for scene-defined tags.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | / pub struct SceneText {
[INFO] [stdout] 527 | |     pub content: String,
[INFO] [stdout] 528 | |     pub font_size: f32,
[INFO] [stdout] 529 | |     pub font: Option<String>,
[INFO] [stdout] 530 | |     pub color: Color,
[INFO] [stdout] 531 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `scene definition format: RON authoring and binary runtime`
[INFO] [stdout]     = help: ends near `component for scene-defined text.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:526:1
[INFO] [stdout]     |
[INFO] [stdout] 526 | / pub struct SceneText {
[INFO] [stdout] 527 | |     pub content: String,
[INFO] [stdout] 528 | |     pub font_size: f32,
[INFO] [stdout] 529 | |     pub font: Option<String>,
[INFO] [stdout] 530 | |     pub color: Color,
[INFO] [stdout] 531 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `component for scene-defined text.`
[INFO] [stdout]     = help: ends near `component for scene-defined text.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | / pub struct SpriteDef {
[INFO] [stdout] 123 | |     pub texture: String,
[INFO] [stdout] 124 | |     pub width: f32,
[INFO] [stdout] 125 | |     pub height: f32,
[INFO] [stdout] 126 | |     pub tint: Color,
[INFO] [stdout] 127 | |     pub region: Option<String>,
[INFO] [stdout] 128 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `scene definition format: RON authoring and binary runtime`
[INFO] [stdout]     = help: ends near `sprite definition for runtime use.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | / pub struct SpriteDef {
[INFO] [stdout] 123 | |     pub texture: String,
[INFO] [stdout] 124 | |     pub width: f32,
[INFO] [stdout] 125 | |     pub height: f32,
[INFO] [stdout] 126 | |     pub tint: Color,
[INFO] [stdout] 127 | |     pub region: Option<String>,
[INFO] [stdout] 128 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `sprite definition for runtime use.`
[INFO] [stdout]     = help: ends near `sprite definition for runtime use.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | / pub struct TextDef {
[INFO] [stdout] 133 | |     pub content: String,
[INFO] [stdout] 134 | |     pub font_size: f32,
[INFO] [stdout] 135 | |     pub font: Option<String>,
[INFO] [stdout] 136 | |     pub color: Color,
[INFO] [stdout] 137 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `scene definition format: RON authoring and binary runtime`
[INFO] [stdout]     = help: ends near `text definition for runtime use.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | / pub struct TextDef {
[INFO] [stdout] 133 | |     pub content: String,
[INFO] [stdout] 134 | |     pub font_size: f32,
[INFO] [stdout] 135 | |     pub font: Option<String>,
[INFO] [stdout] 136 | |     pub color: Color,
[INFO] [stdout] 137 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `text definition for runtime use.`
[INFO] [stdout]     = help: ends near `text definition for runtime use.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:141:1
[INFO] [stdout]     |
[INFO] [stdout] 141 | / pub struct TransformDef {
[INFO] [stdout] 142 | |     pub x: f32,
[INFO] [stdout] 143 | |     pub y: f32,
[INFO] [stdout] 144 | |     pub rotation: f32,
[INFO] [stdout] 145 | |     pub scale_x: f32,
[INFO] [stdout] 146 | |     pub scale_y: f32,
[INFO] [stdout] 147 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `scene definition format: RON authoring and binary runtime`
[INFO] [stdout]     = help: ends near `transform definition for runtime use.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/scene_format.rs:141:1
[INFO] [stdout]     |
[INFO] [stdout] 141 | / pub struct TransformDef {
[INFO] [stdout] 142 | |     pub x: f32,
[INFO] [stdout] 143 | |     pub y: f32,
[INFO] [stdout] 144 | |     pub rotation: f32,
[INFO] [stdout] 145 | |     pub scale_x: f32,
[INFO] [stdout] 146 | |     pub scale_y: f32,
[INFO] [stdout] 147 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `transform definition for runtime use.`
[INFO] [stdout]     = help: ends near `transform definition for runtime use.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/schedule.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / pub enum UpdateStage {
[INFO] [stdout] 23 | |     /// poll input, update input state
[INFO] [stdout] 24 | |     Input,
[INFO] [stdout] 25 | |     /// collision detection, physics simulation
[INFO] [stdout] ...  |
[INFO] [stdout] 32 | |     PostUpdate,
[INFO] [stdout] 33 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `system scheduling: the built-in update stages`
[INFO] [stdout]    = help: ends near `built-in update stages for system ordering.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/schedule.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | / pub enum UpdateStage {
[INFO] [stdout] 23 | |     /// poll input, update input state
[INFO] [stdout] 24 | |     Input,
[INFO] [stdout] 25 | |     /// collision detection, physics simulation
[INFO] [stdout] ...  |
[INFO] [stdout] 32 | |     PostUpdate,
[INFO] [stdout] 33 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `built-in update stages for system ordering.`
[INFO] [stdout]    = help: ends near `built-in update stages for system ordering.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/state.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub enum EngineState {
[INFO] [stdout] 16 | |     /// engine is initializing
[INFO] [stdout] 17 | |     Initializing,
[INFO] [stdout] 18 | |     /// engine is running the game loop
[INFO] [stdout] ...  |
[INFO] [stdout] 23 | |     Stopping,
[INFO] [stdout] 24 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `engine running state`
[INFO] [stdout]    = help: ends near `engine running state.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/state.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / pub enum EngineState {
[INFO] [stdout] 16 | |     /// engine is initializing
[INFO] [stdout] 17 | |     Initializing,
[INFO] [stdout] 18 | |     /// engine is running the game loop
[INFO] [stdout] ...  |
[INFO] [stdout] 23 | |     Stopping,
[INFO] [stdout] 24 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `engine running state.`
[INFO] [stdout]    = help: ends near `engine running state.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:677:1
[INFO] [stdout]     |
[INFO] [stdout] 677 | pub struct AdvancedSceneLoader;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `world manifest: XML-based world definition with scenes and spatial chunks.`
[INFO] [stdout]     = help: ends near `advanced scene loader supporting multiple load modes.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:677:1
[INFO] [stdout]     |
[INFO] [stdout] 677 | pub struct AdvancedSceneLoader;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `advanced scene loader supporting multiple load modes.`
[INFO] [stdout]     = help: ends near `advanced scene loader supporting multiple load modes.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | / pub struct ChunkEntry {
[INFO] [stdout] 122 | |     /// numeric id
[INFO] [stdout] 123 | |     pub id: u32,
[INFO] [stdout] 124 | |     /// human-readable name
[INFO] [stdout] ...   |
[INFO] [stdout] 132 | |     pub y_max: f32,
[INFO] [stdout] 133 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `world manifest: XML-based world definition with scenes and spatial chunks.`
[INFO] [stdout]     = help: ends near `a spatial chunk entry in the world manifest.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | / pub struct ChunkEntry {
[INFO] [stdout] 122 | |     /// numeric id
[INFO] [stdout] 123 | |     pub id: u32,
[INFO] [stdout] 124 | |     /// human-readable name
[INFO] [stdout] ...   |
[INFO] [stdout] 132 | |     pub y_max: f32,
[INFO] [stdout] 133 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `a spatial chunk entry in the world manifest.`
[INFO] [stdout]     = help: ends near `a spatial chunk entry in the world manifest.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:524:1
[INFO] [stdout]     |
[INFO] [stdout] 524 | / pub struct ComponentScene {
[INFO] [stdout] 525 | |     /// scene name
[INFO] [stdout] 526 | |     pub name: String,
[INFO] [stdout] 527 | |     /// entity definitions using component maps
[INFO] [stdout] 528 | |     #[serde(default)]
[INFO] [stdout] 529 | |     pub entities: Vec<EntityData>,
[INFO] [stdout] 530 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `world manifest: XML-based world definition with scenes and spatial chunks.`
[INFO] [stdout]     = help: ends near `scene definition using the new component map format.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:524:1
[INFO] [stdout]     |
[INFO] [stdout] 524 | / pub struct ComponentScene {
[INFO] [stdout] 525 | |     /// scene name
[INFO] [stdout] 526 | |     pub name: String,
[INFO] [stdout] 527 | |     /// entity definitions using component maps
[INFO] [stdout] 528 | |     #[serde(default)]
[INFO] [stdout] 529 | |     pub entities: Vec<EntityData>,
[INFO] [stdout] 530 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `scene definition using the new component map format.`
[INFO] [stdout]     = help: ends near `scene definition using the new component map format.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:474:1
[INFO] [stdout]     |
[INFO] [stdout] 474 | / pub struct EntityData {
[INFO] [stdout] 475 | |     /// optional entity identifier
[INFO] [stdout] 476 | |     pub id: Option<String>,
[INFO] [stdout] 477 | |     /// optional parent entity id (by name)
[INFO] [stdout] ...   |
[INFO] [stdout] 481 | |     pub components: HashMap<String, serde_json::Value>,
[INFO] [stdout] 482 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `world manifest: XML-based world definition with scenes and spatial chunks.`
[INFO] [stdout]     = help: ends near `entity definition using a named component map.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:474:1
[INFO] [stdout]     |
[INFO] [stdout] 474 | / pub struct EntityData {
[INFO] [stdout] 475 | |     /// optional entity identifier
[INFO] [stdout] 476 | |     pub id: Option<String>,
[INFO] [stdout] 477 | |     /// optional parent entity id (by name)
[INFO] [stdout] ...   |
[INFO] [stdout] 481 | |     pub components: HashMap<String, serde_json::Value>,
[INFO] [stdout] 482 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `entity definition using a named component map.`
[INFO] [stdout]     = help: ends near `entity definition using a named component map.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:568:1
[INFO] [stdout]     |
[INFO] [stdout] 568 | / pub enum LoadMode {
[INFO] [stdout] 569 | |     /// unload current scene, then load the new one exclusively.
[INFO] [stdout] 570 | |     Exclusive,
[INFO] [stdout] 571 | |     /// load the new scene additively on top of current scenes.
[INFO] [stdout] ...   |
[INFO] [stdout] 581 | |     },
[INFO] [stdout] 582 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `world manifest: XML-based world definition with scenes and spatial chunks.`
[INFO] [stdout]     = help: ends near `how a scene should be loaded relative to current state.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:568:1
[INFO] [stdout]     |
[INFO] [stdout] 568 | / pub enum LoadMode {
[INFO] [stdout] 569 | |     /// unload current scene, then load the new one exclusively.
[INFO] [stdout] 570 | |     Exclusive,
[INFO] [stdout] 571 | |     /// load the new scene additively on top of current scenes.
[INFO] [stdout] ...   |
[INFO] [stdout] 581 | |     },
[INFO] [stdout] 582 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `how a scene should be loaded relative to current state.`
[INFO] [stdout]     = help: ends near `how a scene should be loaded relative to current state.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | / pub struct LoadedScenes {
[INFO] [stdout] 653 | |     /// map of scene name to spawned entity ids
[INFO] [stdout] 654 | |     pub scene_entity_maps: HashMap<String, HashMap<String, Entity>>,
[INFO] [stdout] 655 | |     /// currently active scene names (for additive tracking)
[INFO] [stdout] 656 | |     pub active_scenes: Vec<String>,
[INFO] [stdout] 657 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `world manifest: XML-based world definition with scenes and spatial chunks.`
[INFO] [stdout]     = help: ends near `resource tracking loaded scenes for unload support.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:652:1
[INFO] [stdout]     |
[INFO] [stdout] 652 | / pub struct LoadedScenes {
[INFO] [stdout] 653 | |     /// map of scene name to spawned entity ids
[INFO] [stdout] 654 | |     pub scene_entity_maps: HashMap<String, HashMap<String, Entity>>,
[INFO] [stdout] 655 | |     /// currently active scene names (for additive tracking)
[INFO] [stdout] 656 | |     pub active_scenes: Vec<String>,
[INFO] [stdout] 657 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `resource tracking loaded scenes for unload support.`
[INFO] [stdout]     = help: ends near `resource tracking loaded scenes for unload support.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | / pub struct SceneEntry {
[INFO] [stdout] 111 | |     /// numeric id
[INFO] [stdout] 112 | |     pub id: u32,
[INFO] [stdout] 113 | |     /// human-readable name
[INFO] [stdout] ...   |
[INFO] [stdout] 116 | |     pub file: String,
[INFO] [stdout] 117 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `world manifest: XML-based world definition with scenes and spatial chunks.`
[INFO] [stdout]     = help: ends near `a scene entry in the world manifest.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:110:1
[INFO] [stdout]     |
[INFO] [stdout] 110 | / pub struct SceneEntry {
[INFO] [stdout] 111 | |     /// numeric id
[INFO] [stdout] 112 | |     pub id: u32,
[INFO] [stdout] 113 | |     /// human-readable name
[INFO] [stdout] ...   |
[INFO] [stdout] 116 | |     pub file: String,
[INFO] [stdout] 117 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `a scene entry in the world manifest.`
[INFO] [stdout]     = help: ends near `a scene entry in the world manifest.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:586:1
[INFO] [stdout]     |
[INFO] [stdout] 586 | / pub struct StreamingConfig {
[INFO] [stdout] 587 | |     /// default radius for streaming
[INFO] [stdout] 588 | |     pub radius: f32,
[INFO] [stdout] 589 | |     /// how often to re-evaluate loaded chunks (in seconds)
[INFO] [stdout] 590 | |     pub update_interval: f32,
[INFO] [stdout] 591 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `world manifest: XML-based world definition with scenes and spatial chunks.`
[INFO] [stdout]     = help: ends near `configuration for the streaming scene loader.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:586:1
[INFO] [stdout]     |
[INFO] [stdout] 586 | / pub struct StreamingConfig {
[INFO] [stdout] 587 | |     /// default radius for streaming
[INFO] [stdout] 588 | |     pub radius: f32,
[INFO] [stdout] 589 | |     /// how often to re-evaluate loaded chunks (in seconds)
[INFO] [stdout] 590 | |     pub update_interval: f32,
[INFO] [stdout] 591 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `configuration for the streaming scene loader.`
[INFO] [stdout]     = help: ends near `configuration for the streaming scene loader.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:606:1
[INFO] [stdout]     |
[INFO] [stdout] 606 | / pub struct StreamingState {
[INFO] [stdout] 607 | |     /// currently loaded chunk ids
[INFO] [stdout] 608 | |     pub loaded_chunk_ids: rustc_hash::FxHashSet<u32>,
[INFO] [stdout] 609 | |     /// last center position used for streaming
[INFO] [stdout] ...   |
[INFO] [stdout] 615 | |     pub time_since_eval: f32,
[INFO] [stdout] 616 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `world manifest: XML-based world definition with scenes and spatial chunks.`
[INFO] [stdout]     = help: ends near `tracks which chunks are currently loaded for streaming.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:606:1
[INFO] [stdout]     |
[INFO] [stdout] 606 | / pub struct StreamingState {
[INFO] [stdout] 607 | |     /// currently loaded chunk ids
[INFO] [stdout] 608 | |     pub loaded_chunk_ids: rustc_hash::FxHashSet<u32>,
[INFO] [stdout] 609 | |     /// last center position used for streaming
[INFO] [stdout] ...   |
[INFO] [stdout] 615 | |     pub time_since_eval: f32,
[INFO] [stdout] 616 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `tracks which chunks are currently loaded for streaming.`
[INFO] [stdout]     = help: ends near `tracks which chunks are currently loaded for streaming.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:94:1
[INFO] [stdout]     |
[INFO] [stdout]  94 | / pub struct WorldManifest {
[INFO] [stdout]  95 | |     /// human-readable world name
[INFO] [stdout]  96 | |     pub name: String,
[INFO] [stdout]  97 | |     /// name of the start scene
[INFO] [stdout] ...   |
[INFO] [stdout] 105 | |     scene_index: HashMap<String, usize>,
[INFO] [stdout] 106 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `world manifest: XML-based world definition with scenes and spatial chunks.`
[INFO] [stdout]     = help: ends near `root world manifest parsed from XML.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/world_manifest.rs:94:1
[INFO] [stdout]     |
[INFO] [stdout]  94 | / pub struct WorldManifest {
[INFO] [stdout]  95 | |     /// human-readable world name
[INFO] [stdout]  96 | |     pub name: String,
[INFO] [stdout]  97 | |     /// name of the start scene
[INFO] [stdout] ...   |
[INFO] [stdout] 105 | |     scene_index: HashMap<String, usize>,
[INFO] [stdout] 106 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `root world manifest parsed from XML.`
[INFO] [stdout]     = help: ends near `root world manifest parsed from XML.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/window.rs:75:1
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct AvailableResolutions(pub Vec<DisplayResolution>);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `window state resource, display resolution helpers, and available-resolutions resource`
[INFO] [stdout]    = help: ends near `the set of display resolutions available on the current hardware.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/window.rs:75:1
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct AvailableResolutions(pub Vec<DisplayResolution>);
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `the set of display resolutions available on the current hardware.`
[INFO] [stdout]    = help: ends near `the set of display resolutions available on the current hardware.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/window.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | / pub struct DisplayResolution {
[INFO] [stdout] 13 | |     pub width: u32,
[INFO] [stdout] 14 | |     pub height: u32,
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `window state resource, display resolution helpers, and available-resolutions resource`
[INFO] [stdout]    = help: ends near `a standard display resolution (width × height in pixels).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/window.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | / pub struct DisplayResolution {
[INFO] [stdout] 13 | |     pub width: u32,
[INFO] [stdout] 14 | |     pub height: u32,
[INFO] [stdout] 15 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `a standard display resolution (width × height in pixels).`
[INFO] [stdout]    = help: ends near `a standard display resolution (width × height in pixels).`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/window.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | / pub static STANDARD_RESOLUTIONS: &[DisplayResolution] = &[
[INFO] [stdout] 33 | |     DisplayResolution::new(640, 480),
[INFO] [stdout] 34 | |     DisplayResolution::new(800, 600),
[INFO] [stdout] 35 | |     DisplayResolution::new(1024, 768),
[INFO] [stdout] ...  |
[INFO] [stdout] 55 | |     DisplayResolution::new(7680, 4320),
[INFO] [stdout] 56 | | ];
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `window state resource, display resolution helpers, and available-resolutions resource`
[INFO] [stdout]    = help: ends near `use `resolutions_for_aspect` to filter to a specific ratio for a settings menu.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/window.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | / pub static STANDARD_RESOLUTIONS: &[DisplayResolution] = &[
[INFO] [stdout] 33 | |     DisplayResolution::new(640, 480),
[INFO] [stdout] 34 | |     DisplayResolution::new(800, 600),
[INFO] [stdout] 35 | |     DisplayResolution::new(1024, 768),
[INFO] [stdout] ...  |
[INFO] [stdout] 55 | |     DisplayResolution::new(7680, 4320),
[INFO] [stdout] 56 | | ];
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `merged VESA DMT + CTA-861 resolution list, sorted by width then height.`
[INFO] [stdout]    = help: ends near `merged VESA DMT + CTA-861 resolution list, sorted by width then height.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/window.rs:129:1
[INFO] [stdout]     |
[INFO] [stdout] 129 | / pub struct WindowSettings {
[INFO] [stdout] 130 | |     /// current window width in pixels (reflects the active render area after aspect snap)
[INFO] [stdout] 131 | |     pub width: u32,
[INFO] [stdout] 132 | |     /// current window height in pixels
[INFO] [stdout] ...   |
[INFO] [stdout] 147 | |     pub allow_resize: bool,
[INFO] [stdout] 148 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `window state resource, display resolution helpers, and available-resolutions resource`
[INFO] [stdout]     = help: ends near `read-only window state resource exposed to game code.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/window.rs:129:1
[INFO] [stdout]     |
[INFO] [stdout] 129 | / pub struct WindowSettings {
[INFO] [stdout] 130 | |     /// current window width in pixels (reflects the active render area after aspect snap)
[INFO] [stdout] 131 | |     pub width: u32,
[INFO] [stdout] 132 | |     /// current window height in pixels
[INFO] [stdout] ...   |
[INFO] [stdout] 147 | |     pub allow_resize: bool,
[INFO] [stdout] 148 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `read-only window state resource exposed to game code.`
[INFO] [stdout]     = help: ends near `read-only window state resource exposed to game code.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/window.rs:103:1
[INFO] [stdout]     |
[INFO] [stdout] 103 | / pub fn resolutions_for_aspect(target_aspect: f32, tolerance: f32) -> Vec<DisplayResolution> {
[INFO] [stdout] 104 | |     STANDARD_RESOLUTIONS
[INFO] [stdout] 105 | |         .iter()
[INFO] [stdout] 106 | |         .filter(|r| (r.aspect() - target_aspect).abs() <= tolerance)
[INFO] [stdout] 107 | |         .copied()
[INFO] [stdout] 108 | |         .collect()
[INFO] [stdout] 109 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `window state resource, display resolution helpers, and available-resolutions resource`
[INFO] [stdout]     = help: ends near `returns standard resolutions matching `target_aspect` within `tolerance`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/window.rs:103:1
[INFO] [stdout]     |
[INFO] [stdout] 103 | / pub fn resolutions_for_aspect(target_aspect: f32, tolerance: f32) -> Vec<DisplayResolution> {
[INFO] [stdout] 104 | |     STANDARD_RESOLUTIONS
[INFO] [stdout] 105 | |         .iter()
[INFO] [stdout] 106 | |         .filter(|r| (r.aspect() - target_aspect).abs() <= tolerance)
[INFO] [stdout] 107 | |         .copied()
[INFO] [stdout] 108 | |         .collect()
[INFO] [stdout] 109 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `returns standard resolutions matching `target_aspect` within `tolerance`.`
[INFO] [stdout]     = help: ends near `returns standard resolutions matching `target_aspect` within `tolerance`.`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `lunar-core`
[INFO] running `Command { std: "docker" "inspect" "adb3414013bb636e24d916a099830a8e53f0954f11b4f2faf86b369de2ab8885", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "adb3414013bb636e24d916a099830a8e53f0954f11b4f2faf86b369de2ab8885", kill_on_drop: false }`
[INFO] [stdout] adb3414013bb636e24d916a099830a8e53f0954f11b4f2faf86b369de2ab8885
