Merge branch 'main' into main

This commit is contained in:
RuelYasa 2025-07-10 04:03:30 +08:00 committed by GitHub
commit e43d35f22c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -615,42 +615,16 @@ impl<'de> Deserialize<'de> for Entity {
}
}
/// Outputs the full entity identifier, including the index, generation, and the raw bits.
/// Outputs the short entity identifier, including the index and generation.
///
/// This takes the format: `{index}v{generation}#{bits}`.
/// This takes the format: `{index}v{generation}`.
///
/// For [`Entity::PLACEHOLDER`], this outputs `PLACEHOLDER`.
///
/// # Usage
///
/// Prefer to use this format for debugging and logging purposes. Because the output contains
/// the raw bits, it is easy to check it against serialized scene data.
///
/// Example serialized scene data:
/// ```text
/// (
/// ...
/// entities: {
/// 4294967297: ( <--- Raw Bits
/// components: {
/// ...
/// ),
/// ...
/// )
/// ```
/// For a unique [`u64`] representation, use [`Entity::to_bits`].
impl fmt::Debug for Entity {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
if self == &Self::PLACEHOLDER {
write!(f, "PLACEHOLDER")
} else {
write!(
f,
"{}v{}#{}",
self.index(),
self.generation(),
self.to_bits()
)
}
fmt::Display::fmt(self, f)
}
}
@ -1645,7 +1619,7 @@ mod tests {
fn entity_debug() {
let entity = Entity::from_raw(EntityRow::new(NonMaxU32::new(42).unwrap()));
let string = format!("{entity:?}");
assert_eq!(string, "42v0#4294967253");
assert_eq!(string, "42v0");
let entity = Entity::PLACEHOLDER;
let string = format!("{entity:?}");