fix some typos (#12038)
# Objective Split - containing only the fixed typos - https://github.com/bevyengine/bevy/pull/12036#pullrequestreview-1894738751 # Migration Guide In `crates/bevy_mikktspace/src/generated.rs` ```rs // before pub struct SGroup { pub iVertexRepresentitive: i32, .. } // after pub struct SGroup { pub iVertexRepresentative: i32, .. } ``` In `crates/bevy_core_pipeline/src/core_2d/mod.rs` ```rs // before Node2D::ConstrastAdaptiveSharpening // after Node2D::ContrastAdaptiveSharpening ``` --------- Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com> Co-authored-by: James Liu <contact@jamessliu.com> Co-authored-by: François <mockersf@gmail.com>
This commit is contained in:
parent
5d3f66fbaf
commit
9d67edc3a6
@ -1005,8 +1005,8 @@ impl App {
|
|||||||
/// (conflicting access but indeterminate order) with systems in `set`.
|
/// (conflicting access but indeterminate order) with systems in `set`.
|
||||||
///
|
///
|
||||||
/// When possible, do this directly in the `.add_systems(Update, a.ambiguous_with(b))` call.
|
/// When possible, do this directly in the `.add_systems(Update, a.ambiguous_with(b))` call.
|
||||||
/// However, sometimes two independant plugins `A` and `B` are reported as ambiguous, which you
|
/// However, sometimes two independent plugins `A` and `B` are reported as ambiguous, which you
|
||||||
/// can only supress as the consumer of both.
|
/// can only suppress as the consumer of both.
|
||||||
#[track_caller]
|
#[track_caller]
|
||||||
pub fn ignore_ambiguity<M1, M2, S1, S2>(
|
pub fn ignore_ambiguity<M1, M2, S1, S2>(
|
||||||
&mut self,
|
&mut self,
|
||||||
|
|||||||
@ -87,7 +87,7 @@ pub enum ParseAssetPathError {
|
|||||||
/// Error that occurs when the [`AssetPath::label`] section of a path string contains the [`AssetPath::source`] delimiter `://`. E.g. `source://file.test#bad://label`.
|
/// Error that occurs when the [`AssetPath::label`] section of a path string contains the [`AssetPath::source`] delimiter `://`. E.g. `source://file.test#bad://label`.
|
||||||
#[error("Asset label must not contain a `://` substring")]
|
#[error("Asset label must not contain a `://` substring")]
|
||||||
InvalidLabelSyntax,
|
InvalidLabelSyntax,
|
||||||
/// Error that occurs when a path string has an [`AssetPath::source`] delimiter `://` with no characters preceeding it. E.g. `://file.test`.
|
/// Error that occurs when a path string has an [`AssetPath::source`] delimiter `://` with no characters preceding it. E.g. `://file.test`.
|
||||||
#[error("Asset source must be at least one character. Either specify the source before the '://' or remove the `://`")]
|
#[error("Asset source must be at least one character. Either specify the source before the '://' or remove the `://`")]
|
||||||
MissingSource,
|
MissingSource,
|
||||||
/// Error that occurs when a path string has an [`AssetPath::label`] delimiter `#` with no characters succeeding it. E.g. `file.test#`
|
/// Error that occurs when a path string has an [`AssetPath::label`] delimiter `#` with no characters succeeding it. E.g. `file.test#`
|
||||||
@ -143,9 +143,9 @@ impl<'a> AssetPath<'a> {
|
|||||||
let mut label_range = None;
|
let mut label_range = None;
|
||||||
|
|
||||||
// Loop through the characters of the passed in &str to accomplish the following:
|
// Loop through the characters of the passed in &str to accomplish the following:
|
||||||
// 1. Seach for the first instance of the `://` substring. If the `://` substring is found,
|
// 1. Search for the first instance of the `://` substring. If the `://` substring is found,
|
||||||
// store the range of indices representing everything before the `://` substring as the `source_range`.
|
// store the range of indices representing everything before the `://` substring as the `source_range`.
|
||||||
// 2. Seach for the last instance of the `#` character. If the `#` character is found,
|
// 2. Search for the last instance of the `#` character. If the `#` character is found,
|
||||||
// store the range of indices representing everything after the `#` character as the `label_range`
|
// store the range of indices representing everything after the `#` character as the `label_range`
|
||||||
// 3. Set the `path_range` to be everything in between the `source_range` and `label_range`,
|
// 3. Set the `path_range` to be everything in between the `source_range` and `label_range`,
|
||||||
// excluding the `://` substring and `#` character.
|
// excluding the `://` substring and `#` character.
|
||||||
@ -165,7 +165,7 @@ impl<'a> AssetPath<'a> {
|
|||||||
2 => {
|
2 => {
|
||||||
// If we haven't found our first `AssetPath::source` yet, check to make sure it is valid and then store it.
|
// If we haven't found our first `AssetPath::source` yet, check to make sure it is valid and then store it.
|
||||||
if source_range.is_none() {
|
if source_range.is_none() {
|
||||||
// If the `AssetPath::source` containes a `#` character, it is invalid.
|
// If the `AssetPath::source` contains a `#` character, it is invalid.
|
||||||
if label_range.is_some() {
|
if label_range.is_some() {
|
||||||
return Err(ParseAssetPathError::InvalidSourceSyntax);
|
return Err(ParseAssetPathError::InvalidSourceSyntax);
|
||||||
}
|
}
|
||||||
@ -833,7 +833,7 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_resolve_implicit_relative() {
|
fn test_resolve_implicit_relative() {
|
||||||
// A path with no inital directory separator should be considered relative.
|
// A path with no initial directory separator should be considered relative.
|
||||||
let base = AssetPath::from("alice/bob#carol");
|
let base = AssetPath::from("alice/bob#carol");
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
base.resolve("joe/next").unwrap(),
|
base.resolve("joe/next").unwrap(),
|
||||||
|
|||||||
@ -18,7 +18,7 @@ pub trait AssetTransformer: Send + Sync + 'static {
|
|||||||
/// The type of [error](`std::error::Error`) which could be encountered by this transformer.
|
/// The type of [error](`std::error::Error`) which could be encountered by this transformer.
|
||||||
type Error: Into<Box<dyn std::error::Error + Send + Sync + 'static>>;
|
type Error: Into<Box<dyn std::error::Error + Send + Sync + 'static>>;
|
||||||
|
|
||||||
/// Transformes the given [`TransformedAsset`] to [`AssetTransformer::AssetOutput`].
|
/// Transforms the given [`TransformedAsset`] to [`AssetTransformer::AssetOutput`].
|
||||||
/// The [`TransformedAsset`]'s `labeled_assets` can be altered to add new Labeled Sub-Assets
|
/// The [`TransformedAsset`]'s `labeled_assets` can be altered to add new Labeled Sub-Assets
|
||||||
/// The passed in `settings` can influence how the `asset` is transformed
|
/// The passed in `settings` can influence how the `asset` is transformed
|
||||||
fn transform<'a>(
|
fn transform<'a>(
|
||||||
@ -58,7 +58,7 @@ impl<A: Asset> TransformedAsset<A> {
|
|||||||
}
|
}
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
/// Creates a new [`TransformedAsset`] from `asset`, transfering the `labeled_assets` from this [`TransformedAsset`] to the new one
|
/// Creates a new [`TransformedAsset`] from `asset`, transferring the `labeled_assets` from this [`TransformedAsset`] to the new one
|
||||||
pub fn replace_asset<B: Asset>(self, asset: B) -> TransformedAsset<B> {
|
pub fn replace_asset<B: Asset>(self, asset: B) -> TransformedAsset<B> {
|
||||||
TransformedAsset {
|
TransformedAsset {
|
||||||
value: asset,
|
value: asset,
|
||||||
|
|||||||
@ -142,17 +142,17 @@ impl Plugin for CASPlugin {
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
render_app
|
render_app
|
||||||
.add_render_graph_node::<CASNode>(Core2d, Node2d::ConstrastAdaptiveSharpening)
|
.add_render_graph_node::<CASNode>(Core2d, Node2d::ContrastAdaptiveSharpening)
|
||||||
.add_render_graph_edge(
|
.add_render_graph_edge(
|
||||||
Core2d,
|
Core2d,
|
||||||
Node2d::Tonemapping,
|
Node2d::Tonemapping,
|
||||||
Node2d::ConstrastAdaptiveSharpening,
|
Node2d::ContrastAdaptiveSharpening,
|
||||||
)
|
)
|
||||||
.add_render_graph_edges(
|
.add_render_graph_edges(
|
||||||
Core2d,
|
Core2d,
|
||||||
(
|
(
|
||||||
Node2d::Fxaa,
|
Node2d::Fxaa,
|
||||||
Node2d::ConstrastAdaptiveSharpening,
|
Node2d::ContrastAdaptiveSharpening,
|
||||||
Node2d::EndMainPassPostProcessing,
|
Node2d::EndMainPassPostProcessing,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
@ -19,7 +19,7 @@ pub mod graph {
|
|||||||
Tonemapping,
|
Tonemapping,
|
||||||
Fxaa,
|
Fxaa,
|
||||||
Upscaling,
|
Upscaling,
|
||||||
ConstrastAdaptiveSharpening,
|
ContrastAdaptiveSharpening,
|
||||||
EndMainPassPostProcessing,
|
EndMainPassPostProcessing,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
/// An Error type for [`super::Identifier`], mostly for providing error
|
/// An Error type for [`super::Identifier`], mostly for providing error
|
||||||
/// handling for convertions of an ID to a type abstracting over the ID bits.
|
/// handling for conversions of an ID to a type abstracting over the ID bits.
|
||||||
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
|
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
pub enum IdentifierError {
|
pub enum IdentifierError {
|
||||||
|
|||||||
@ -67,7 +67,7 @@ impl IdentifierMask {
|
|||||||
let overflowed = lo >> 31;
|
let overflowed = lo >> 31;
|
||||||
|
|
||||||
// SAFETY:
|
// SAFETY:
|
||||||
// - Adding the overflow flag will offet overflows to start at 1 instead of 0
|
// - Adding the overflow flag will offset overflows to start at 1 instead of 0
|
||||||
// - The sum of `0x7FFF_FFFF` + `u32::MAX` + 1 (overflow) == `0x7FFF_FFFF`
|
// - The sum of `0x7FFF_FFFF` + `u32::MAX` + 1 (overflow) == `0x7FFF_FFFF`
|
||||||
// - If the operation doesn't overflow at 31 bits, no offsetting takes place
|
// - If the operation doesn't overflow at 31 bits, no offsetting takes place
|
||||||
unsafe { NonZeroU32::new_unchecked(lo.wrapping_add(overflowed) & HIGH_MASK) }
|
unsafe { NonZeroU32::new_unchecked(lo.wrapping_add(overflowed) & HIGH_MASK) }
|
||||||
|
|||||||
@ -210,7 +210,7 @@ impl<'w, D: QueryData, F: QueryFilter> QueryBuilder<'w, D, F> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Transmute the existing builder adding required accesses.
|
/// Transmute the existing builder adding required accesses.
|
||||||
/// This will maintain all exisiting accesses.
|
/// This will maintain all existing accesses.
|
||||||
///
|
///
|
||||||
/// If including a filter type see [`Self::transmute_filtered`]
|
/// If including a filter type see [`Self::transmute_filtered`]
|
||||||
pub fn transmute<NewD: QueryData>(&mut self) -> &mut QueryBuilder<'w, NewD> {
|
pub fn transmute<NewD: QueryData>(&mut self) -> &mut QueryBuilder<'w, NewD> {
|
||||||
@ -233,7 +233,7 @@ impl<'w, D: QueryData, F: QueryFilter> QueryBuilder<'w, D, F> {
|
|||||||
|
|
||||||
self.extend_access(access);
|
self.extend_access(access);
|
||||||
// SAFETY:
|
// SAFETY:
|
||||||
// - We have included all required acceses for NewQ and NewF
|
// - We have included all required accesses for NewQ and NewF
|
||||||
// - The layout of all QueryBuilder instances is the same
|
// - The layout of all QueryBuilder instances is the same
|
||||||
unsafe { std::mem::transmute(self) }
|
unsafe { std::mem::transmute(self) }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -59,7 +59,7 @@ impl<'w, 's, D: QueryData, F: QueryFilter> QueryIter<'w, 's, D, F> {
|
|||||||
Func: FnMut(D::Item<'w>),
|
Func: FnMut(D::Item<'w>),
|
||||||
{
|
{
|
||||||
// SAFETY: Caller assures that D::IS_DENSE and F::IS_DENSE are true, that table matches D and F
|
// SAFETY: Caller assures that D::IS_DENSE and F::IS_DENSE are true, that table matches D and F
|
||||||
// and all indicies in rows are in range.
|
// and all indices in rows are in range.
|
||||||
unsafe {
|
unsafe {
|
||||||
self.fold_over_table_range((), &mut |_, item| func(item), table, rows);
|
self.fold_over_table_range((), &mut |_, item| func(item), table, rows);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
//! Definitions for [`FromWorld`] reflection.
|
//! Definitions for [`FromWorld`] reflection.
|
||||||
//! This allows creating instaces of types that are known only at runtime and
|
//! This allows creating instances of types that are known only at runtime and
|
||||||
//! require an `&mut World` to be initialized.
|
//! require an `&mut World` to be initialized.
|
||||||
//!
|
//!
|
||||||
//! This module exports two types: [`ReflectFromWorldFns`] and [`ReflectFromWorld`].
|
//! This module exports two types: [`ReflectFromWorldFns`] and [`ReflectFromWorld`].
|
||||||
|
|||||||
@ -419,7 +419,7 @@ where
|
|||||||
///
|
///
|
||||||
/// Ordering constraints will be applied between the successive elements.
|
/// Ordering constraints will be applied between the successive elements.
|
||||||
///
|
///
|
||||||
/// If the preceeding node on a edge has deferred parameters, a [`apply_deferred`](crate::schedule::apply_deferred)
|
/// If the preceding node on a edge has deferred parameters, a [`apply_deferred`](crate::schedule::apply_deferred)
|
||||||
/// will be inserted on the edge. If this behavior is not desired consider using
|
/// will be inserted on the edge. If this behavior is not desired consider using
|
||||||
/// [`chain_ignore_deferred`](Self::chain_ignore_deferred) instead.
|
/// [`chain_ignore_deferred`](Self::chain_ignore_deferred) instead.
|
||||||
fn chain(self) -> SystemConfigs {
|
fn chain(self) -> SystemConfigs {
|
||||||
|
|||||||
@ -161,7 +161,7 @@ fn make_executor(kind: ExecutorKind) -> Box<dyn SystemExecutor> {
|
|||||||
/// Chain systems into dependencies
|
/// Chain systems into dependencies
|
||||||
#[derive(PartialEq)]
|
#[derive(PartialEq)]
|
||||||
pub enum Chain {
|
pub enum Chain {
|
||||||
/// Run nodes in order. If there are deferred parameters in preceeding systems a
|
/// Run nodes in order. If there are deferred parameters in preceding systems a
|
||||||
/// [`apply_deferred`] will be added on the edge.
|
/// [`apply_deferred`] will be added on the edge.
|
||||||
Yes,
|
Yes,
|
||||||
/// Run nodes in order. This will not add [`apply_deferred`] between nodes.
|
/// Run nodes in order. This will not add [`apply_deferred`] between nodes.
|
||||||
|
|||||||
@ -1290,7 +1290,7 @@ impl<'w, 's, D: QueryData, F: QueryFilter> Query<'w, 's, D, F> {
|
|||||||
/// ## Allowed Transmutes
|
/// ## Allowed Transmutes
|
||||||
///
|
///
|
||||||
/// Besides removing parameters from the query, you can also
|
/// Besides removing parameters from the query, you can also
|
||||||
/// make limited changes to the types of paramters.
|
/// make limited changes to the types of parameters.
|
||||||
///
|
///
|
||||||
/// * Can always add/remove `Entity`
|
/// * Can always add/remove `Entity`
|
||||||
/// * `Ref<T>` <-> `&T`
|
/// * `Ref<T>` <-> `&T`
|
||||||
|
|||||||
@ -697,8 +697,8 @@ unsafe impl SystemParam for &'_ World {
|
|||||||
/// # use bevy_ecs::system::assert_is_system;
|
/// # use bevy_ecs::system::assert_is_system;
|
||||||
/// struct Config(u32);
|
/// struct Config(u32);
|
||||||
/// #[derive(Resource)]
|
/// #[derive(Resource)]
|
||||||
/// struct Myu32Wrapper(u32);
|
/// struct MyU32Wrapper(u32);
|
||||||
/// fn reset_to_system(value: Config) -> impl FnMut(ResMut<Myu32Wrapper>) {
|
/// fn reset_to_system(value: Config) -> impl FnMut(ResMut<MyU32Wrapper>) {
|
||||||
/// move |mut val| val.0 = value.0
|
/// move |mut val| val.0 = value.0
|
||||||
/// }
|
/// }
|
||||||
///
|
///
|
||||||
|
|||||||
@ -698,9 +698,9 @@ pub struct ConicalFrustum3dBuilder<'a, 'w, 's, T: GizmoConfigGroup> {
|
|||||||
|
|
||||||
// Center of conical frustum, half-way between the top and the bottom
|
// Center of conical frustum, half-way between the top and the bottom
|
||||||
position: Vec3,
|
position: Vec3,
|
||||||
// Rotation of the conical frustrum
|
// Rotation of the conical frustum
|
||||||
//
|
//
|
||||||
// default orientation is: conical frustrum base shape normals are aligned with `Vec3::Y` axis
|
// default orientation is: conical frustum base shape normals are aligned with `Vec3::Y` axis
|
||||||
rotation: Quat,
|
rotation: Quat,
|
||||||
// Color of the conical frustum
|
// Color of the conical frustum
|
||||||
color: Color,
|
color: Color,
|
||||||
@ -760,7 +760,7 @@ impl<T: GizmoConfigGroup> Drop for ConicalFrustum3dBuilder<'_, '_, '_, T> {
|
|||||||
let half_height = *height * 0.5;
|
let half_height = *height * 0.5;
|
||||||
let normal = *rotation * Vec3::Y;
|
let normal = *rotation * Vec3::Y;
|
||||||
|
|
||||||
// draw the two circles of the conical frustrum
|
// draw the two circles of the conical frustum
|
||||||
[(*radius_top, half_height), (*radius_bottom, -half_height)]
|
[(*radius_top, half_height), (*radius_bottom, -half_height)]
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.for_each(|(radius, height)| {
|
.for_each(|(radius, height)| {
|
||||||
@ -774,7 +774,7 @@ impl<T: GizmoConfigGroup> Drop for ConicalFrustum3dBuilder<'_, '_, '_, T> {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
// connect the two circles of the conical frustrum
|
// connect the two circles of the conical frustum
|
||||||
circle_coordinates(*radius_top, *segments)
|
circle_coordinates(*radius_top, *segments)
|
||||||
.map(move |p| Vec3::new(p.x, half_height, p.y))
|
.map(move |p| Vec3::new(p.x, half_height, p.y))
|
||||||
.zip(
|
.zip(
|
||||||
@ -802,7 +802,7 @@ pub struct Torus3dBuilder<'a, 'w, 's, T: GizmoConfigGroup> {
|
|||||||
|
|
||||||
// Center of the torus
|
// Center of the torus
|
||||||
position: Vec3,
|
position: Vec3,
|
||||||
// Rotation of the conical frustrum
|
// Rotation of the conical frustum
|
||||||
//
|
//
|
||||||
// default orientation is: major circle normal is aligned with `Vec3::Y` axis
|
// default orientation is: major circle normal is aligned with `Vec3::Y` axis
|
||||||
rotation: Quat,
|
rotation: Quat,
|
||||||
|
|||||||
@ -16,7 +16,7 @@
|
|||||||
// the W3C short notice apply to the `KeyCode` enums and their variants and the
|
// the W3C short notice apply to the `KeyCode` enums and their variants and the
|
||||||
// documentation attached to their variants.
|
// documentation attached to their variants.
|
||||||
|
|
||||||
// --------- BEGGINING OF W3C LICENSE --------------------------------------------------------------
|
// --------- BEGINNING OF W3C LICENSE --------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// License
|
// License
|
||||||
//
|
//
|
||||||
@ -51,7 +51,7 @@
|
|||||||
//
|
//
|
||||||
// --------- END OF W3C LICENSE --------------------------------------------------------------------
|
// --------- END OF W3C LICENSE --------------------------------------------------------------------
|
||||||
|
|
||||||
// --------- BEGGINING OF W3C SHORT NOTICE ---------------------------------------------------------
|
// --------- BEGINNING OF W3C SHORT NOTICE ---------------------------------------------------------
|
||||||
//
|
//
|
||||||
// winit: https://github.com/rust-windowing/winit
|
// winit: https://github.com/rust-windowing/winit
|
||||||
//
|
//
|
||||||
@ -886,7 +886,7 @@ pub enum Key {
|
|||||||
Standby,
|
Standby,
|
||||||
/// The WakeUp key. (`KEYCODE_WAKEUP`)
|
/// The WakeUp key. (`KEYCODE_WAKEUP`)
|
||||||
WakeUp,
|
WakeUp,
|
||||||
/// Initate the multi-candidate mode.
|
/// Initiate the multi-candidate mode.
|
||||||
AllCandidates,
|
AllCandidates,
|
||||||
/// The Alphanumeric key (on linux/web)
|
/// The Alphanumeric key (on linux/web)
|
||||||
Alphanumeric,
|
Alphanumeric,
|
||||||
|
|||||||
@ -103,7 +103,7 @@ impl BevyManifest {
|
|||||||
///
|
///
|
||||||
/// # Panics
|
/// # Panics
|
||||||
///
|
///
|
||||||
/// Will panic if the path is not able to be parsed. For a non-panicing option, see [`try_parse_str`]
|
/// Will panic if the path is not able to be parsed. For a non-panicking option, see [`try_parse_str`]
|
||||||
///
|
///
|
||||||
/// [`try_parse_str`]: Self::try_parse_str
|
/// [`try_parse_str`]: Self::try_parse_str
|
||||||
pub fn parse_str<T: syn::parse::Parse>(path: &str) -> T {
|
pub fn parse_str<T: syn::parse::Parse>(path: &str) -> T {
|
||||||
|
|||||||
@ -133,7 +133,7 @@ impl STriInfo {
|
|||||||
pub struct SGroup {
|
pub struct SGroup {
|
||||||
pub iNrFaces: i32,
|
pub iNrFaces: i32,
|
||||||
pub pFaceIndices: *mut i32,
|
pub pFaceIndices: *mut i32,
|
||||||
pub iVertexRepresentitive: i32,
|
pub iVertexRepresentative: i32,
|
||||||
pub bOrientPreservering: bool,
|
pub bOrientPreservering: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -142,7 +142,7 @@ impl SGroup {
|
|||||||
Self {
|
Self {
|
||||||
iNrFaces: 0,
|
iNrFaces: 0,
|
||||||
pFaceIndices: null_mut(),
|
pFaceIndices: null_mut(),
|
||||||
iVertexRepresentitive: 0,
|
iVertexRepresentative: 0,
|
||||||
bOrientPreservering: false,
|
bOrientPreservering: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -560,7 +560,7 @@ unsafe fn GenerateTSpaces<I: Geometry>(
|
|||||||
piTriListIn,
|
piTriListIn,
|
||||||
pTriInfos,
|
pTriInfos,
|
||||||
geometry,
|
geometry,
|
||||||
(*pGroup).iVertexRepresentitive,
|
(*pGroup).iVertexRepresentative,
|
||||||
);
|
);
|
||||||
iUniqueSubGroups += 1
|
iUniqueSubGroups += 1
|
||||||
}
|
}
|
||||||
@ -634,7 +634,7 @@ unsafe fn EvalTspace<I: Geometry>(
|
|||||||
mut piTriListIn: *const i32,
|
mut piTriListIn: *const i32,
|
||||||
mut pTriInfos: *const STriInfo,
|
mut pTriInfos: *const STriInfo,
|
||||||
geometry: &mut I,
|
geometry: &mut I,
|
||||||
iVertexRepresentitive: i32,
|
iVertexRepresentative: i32,
|
||||||
) -> STSpace {
|
) -> STSpace {
|
||||||
let mut res: STSpace = STSpace {
|
let mut res: STSpace = STSpace {
|
||||||
vOs: Vec3::new(0.0, 0.0, 0.0),
|
vOs: Vec3::new(0.0, 0.0, 0.0),
|
||||||
@ -675,11 +675,11 @@ unsafe fn EvalTspace<I: Geometry>(
|
|||||||
let mut i0: i32 = -1i32;
|
let mut i0: i32 = -1i32;
|
||||||
let mut i1: i32 = -1i32;
|
let mut i1: i32 = -1i32;
|
||||||
let mut i2: i32 = -1i32;
|
let mut i2: i32 = -1i32;
|
||||||
if *piTriListIn.offset((3i32 * f + 0i32) as isize) == iVertexRepresentitive {
|
if *piTriListIn.offset((3i32 * f + 0i32) as isize) == iVertexRepresentative {
|
||||||
i = 0i32
|
i = 0i32
|
||||||
} else if *piTriListIn.offset((3i32 * f + 1i32) as isize) == iVertexRepresentitive {
|
} else if *piTriListIn.offset((3i32 * f + 1i32) as isize) == iVertexRepresentative {
|
||||||
i = 1i32
|
i = 1i32
|
||||||
} else if *piTriListIn.offset((3i32 * f + 2i32) as isize) == iVertexRepresentitive {
|
} else if *piTriListIn.offset((3i32 * f + 2i32) as isize) == iVertexRepresentative {
|
||||||
i = 2i32
|
i = 2i32
|
||||||
}
|
}
|
||||||
index = *piTriListIn.offset((3i32 * f + i) as isize);
|
index = *piTriListIn.offset((3i32 * f + i) as isize);
|
||||||
@ -831,7 +831,7 @@ unsafe fn Build4RuleGroups(
|
|||||||
let ref mut fresh2 = (*pTriInfos.offset(f as isize)).AssignedGroup[i as usize];
|
let ref mut fresh2 = (*pTriInfos.offset(f as isize)).AssignedGroup[i as usize];
|
||||||
*fresh2 = &mut *pGroups.offset(iNrActiveGroups as isize) as *mut SGroup;
|
*fresh2 = &mut *pGroups.offset(iNrActiveGroups as isize) as *mut SGroup;
|
||||||
(*(*pTriInfos.offset(f as isize)).AssignedGroup[i as usize])
|
(*(*pTriInfos.offset(f as isize)).AssignedGroup[i as usize])
|
||||||
.iVertexRepresentitive = vert_index;
|
.iVertexRepresentative = vert_index;
|
||||||
(*(*pTriInfos.offset(f as isize)).AssignedGroup[i as usize]).bOrientPreservering =
|
(*(*pTriInfos.offset(f as isize)).AssignedGroup[i as usize]).bOrientPreservering =
|
||||||
(*pTriInfos.offset(f as isize)).iFlag & 8i32 != 0i32;
|
(*pTriInfos.offset(f as isize)).iFlag & 8i32 != 0i32;
|
||||||
(*(*pTriInfos.offset(f as isize)).AssignedGroup[i as usize]).iNrFaces = 0i32;
|
(*(*pTriInfos.offset(f as isize)).AssignedGroup[i as usize]).iNrFaces = 0i32;
|
||||||
@ -897,7 +897,7 @@ unsafe fn AssignRecur(
|
|||||||
let mut pMyTriInfo: *mut STriInfo =
|
let mut pMyTriInfo: *mut STriInfo =
|
||||||
&mut *psTriInfos.offset(iMyTriIndex as isize) as *mut STriInfo;
|
&mut *psTriInfos.offset(iMyTriIndex as isize) as *mut STriInfo;
|
||||||
// track down vertex
|
// track down vertex
|
||||||
let iVertRep: i32 = (*pGroup).iVertexRepresentitive;
|
let iVertRep: i32 = (*pGroup).iVertexRepresentative;
|
||||||
let mut pVerts: *const i32 =
|
let mut pVerts: *const i32 =
|
||||||
&*piTriListIn.offset((3i32 * iMyTriIndex + 0i32) as isize) as *const i32;
|
&*piTriListIn.offset((3i32 * iMyTriIndex + 0i32) as isize) as *const i32;
|
||||||
let mut i: i32 = -1i32;
|
let mut i: i32 = -1i32;
|
||||||
|
|||||||
@ -802,7 +802,7 @@ pub struct MaterialBindGroupId(Option<BindGroupId>);
|
|||||||
pub struct AtomicMaterialBindGroupId(AtomicU32);
|
pub struct AtomicMaterialBindGroupId(AtomicU32);
|
||||||
|
|
||||||
impl AtomicMaterialBindGroupId {
|
impl AtomicMaterialBindGroupId {
|
||||||
/// Stores a value atomically. Uses [`Ordering::Relaxed`] so there is zero guarentee of ordering
|
/// Stores a value atomically. Uses [`Ordering::Relaxed`] so there is zero guarantee of ordering
|
||||||
/// relative to other operations.
|
/// relative to other operations.
|
||||||
///
|
///
|
||||||
/// See also: [`AtomicU32::store`].
|
/// See also: [`AtomicU32::store`].
|
||||||
@ -815,7 +815,7 @@ impl AtomicMaterialBindGroupId {
|
|||||||
self.0.store(id, Ordering::Relaxed);
|
self.0.store(id, Ordering::Relaxed);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Loads a value atomically. Uses [`Ordering::Relaxed`] so there is zero guarentee of ordering
|
/// Loads a value atomically. Uses [`Ordering::Relaxed`] so there is zero guarantee of ordering
|
||||||
/// relative to other operations.
|
/// relative to other operations.
|
||||||
///
|
///
|
||||||
/// See also: [`AtomicU32::load`].
|
/// See also: [`AtomicU32::load`].
|
||||||
|
|||||||
@ -248,7 +248,7 @@ pub struct StandardMaterial {
|
|||||||
/// | Flint Glass | 1.69 |
|
/// | Flint Glass | 1.69 |
|
||||||
/// | Ruby | 1.71 |
|
/// | Ruby | 1.71 |
|
||||||
/// | Glycerine | 1.74 |
|
/// | Glycerine | 1.74 |
|
||||||
/// | Saphire | 1.77 |
|
/// | Sapphire | 1.77 |
|
||||||
/// | Cubic Zirconia | 2.15 |
|
/// | Cubic Zirconia | 2.15 |
|
||||||
/// | Diamond | 2.42 |
|
/// | Diamond | 2.42 |
|
||||||
/// | Moissanite | 2.65 |
|
/// | Moissanite | 2.65 |
|
||||||
|
|||||||
@ -407,7 +407,7 @@ impl FromIterator<StringExpr> for StringExpr {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns a [`syn::parse::Parser`] which parses a stream of zero or more occurences of `T`
|
/// Returns a [`syn::parse::Parser`] which parses a stream of zero or more occurrences of `T`
|
||||||
/// separated by punctuation of type `P`, with optional trailing punctuation.
|
/// separated by punctuation of type `P`, with optional trailing punctuation.
|
||||||
///
|
///
|
||||||
/// This is functionally the same as [`Punctuated::parse_terminated`],
|
/// This is functionally the same as [`Punctuated::parse_terminated`],
|
||||||
|
|||||||
@ -1917,7 +1917,7 @@ bevy_reflect::tests::Test {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn should_allow_custom_where_wtih_assoc_type() {
|
fn should_allow_custom_where_with_assoc_type() {
|
||||||
trait Trait {
|
trait Trait {
|
||||||
type Assoc;
|
type Assoc;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -63,7 +63,7 @@ impl<'a> AccessError<'a> {
|
|||||||
&self.kind
|
&self.kind
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The returns the [`Access`] that this [`AccessError`] occured in.
|
/// The returns the [`Access`] that this [`AccessError`] occurred in.
|
||||||
pub const fn access(&self) -> &Access {
|
pub const fn access(&self) -> &Access {
|
||||||
&self.access
|
&self.access
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,11 +27,11 @@ pub enum ReflectPathError<'a> {
|
|||||||
InvalidDowncast,
|
InvalidDowncast,
|
||||||
|
|
||||||
/// An error caused by an invalid path string that couldn't be parsed.
|
/// An error caused by an invalid path string that couldn't be parsed.
|
||||||
#[error("Encounted an error at offset {offset} while parsing `{path}`: {error}")]
|
#[error("Encountered an error at offset {offset} while parsing `{path}`: {error}")]
|
||||||
ParseError {
|
ParseError {
|
||||||
/// Position in `path`.
|
/// Position in `path`.
|
||||||
offset: usize,
|
offset: usize,
|
||||||
/// The path that the error occured in.
|
/// The path that the error occurred in.
|
||||||
path: &'a str,
|
path: &'a str,
|
||||||
/// The underlying error.
|
/// The underlying error.
|
||||||
error: ParseError<'a>,
|
error: ParseError<'a>,
|
||||||
|
|||||||
@ -189,7 +189,7 @@ mod test {
|
|||||||
// Add system
|
// Add system
|
||||||
app.add_systems(Update, calculate_bounds_2d);
|
app.add_systems(Update, calculate_bounds_2d);
|
||||||
|
|
||||||
// Add entites
|
// Add entities
|
||||||
let entity = app.world.spawn((Sprite::default(), image_handle)).id();
|
let entity = app.world.spawn((Sprite::default(), image_handle)).id();
|
||||||
|
|
||||||
// Verify that the entity does not have an AABB
|
// Verify that the entity does not have an AABB
|
||||||
@ -227,7 +227,7 @@ mod test {
|
|||||||
// Add system
|
// Add system
|
||||||
app.add_systems(Update, calculate_bounds_2d);
|
app.add_systems(Update, calculate_bounds_2d);
|
||||||
|
|
||||||
// Add entites
|
// Add entities
|
||||||
let entity = app
|
let entity = app
|
||||||
.world
|
.world
|
||||||
.spawn((
|
.spawn((
|
||||||
|
|||||||
@ -26,7 +26,7 @@ use thiserror::Error;
|
|||||||
#[reflect(Component, Default)]
|
#[reflect(Component, Default)]
|
||||||
pub struct Node {
|
pub struct Node {
|
||||||
/// The order of the node in the UI layout.
|
/// The order of the node in the UI layout.
|
||||||
/// Nodes with a higher stack index are drawn on top of and recieve interactions before nodes with lower stack indices.
|
/// Nodes with a higher stack index are drawn on top of and receive interactions before nodes with lower stack indices.
|
||||||
pub(crate) stack_index: u32,
|
pub(crate) stack_index: u32,
|
||||||
/// The size of the node as width and height in logical pixels
|
/// The size of the node as width and height in logical pixels
|
||||||
///
|
///
|
||||||
@ -54,7 +54,7 @@ impl Node {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// The order of the node in the UI layout.
|
/// The order of the node in the UI layout.
|
||||||
/// Nodes with a higher stack index are drawn on top of and recieve interactions before nodes with lower stack indices.
|
/// Nodes with a higher stack index are drawn on top of and receive interactions before nodes with lower stack indices.
|
||||||
pub const fn stack_index(&self) -> u32 {
|
pub const fn stack_index(&self) -> u32 {
|
||||||
self.stack_index
|
self.stack_index
|
||||||
}
|
}
|
||||||
@ -1835,10 +1835,10 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Indicates that this root [`Node`] entity should be rendered to a specific camera.
|
/// Indicates that this root [`Node`] entity should be rendered to a specific camera.
|
||||||
/// UI then will be layed out respecting the camera's viewport and scale factor, and
|
/// UI then will be laid out respecting the camera's viewport and scale factor, and
|
||||||
/// rendered to this camera's [`bevy_render::camera::RenderTarget`].
|
/// rendered to this camera's [`bevy_render::camera::RenderTarget`].
|
||||||
///
|
///
|
||||||
/// Setting this component on a non-root node will have no effect. It will be overriden
|
/// Setting this component on a non-root node will have no effect. It will be overridden
|
||||||
/// by the root node's component.
|
/// by the root node's component.
|
||||||
///
|
///
|
||||||
/// Optional if there is only one camera in the world. Required otherwise.
|
/// Optional if there is only one camera in the world. Required otherwise.
|
||||||
|
|||||||
@ -57,7 +57,7 @@ impl<T: Send> Parallel<Vec<T>> {
|
|||||||
/// Collect all enqueued items from all threads and appends them to the end of a
|
/// Collect all enqueued items from all threads and appends them to the end of a
|
||||||
/// single Vec.
|
/// single Vec.
|
||||||
///
|
///
|
||||||
/// The ordering is not guarenteed.
|
/// The ordering is not guaranteed.
|
||||||
pub fn drain_into(&mut self, out: &mut Vec<T>) {
|
pub fn drain_into(&mut self, out: &mut Vec<T>) {
|
||||||
let size = self
|
let size = self
|
||||||
.locals
|
.locals
|
||||||
|
|||||||
@ -70,7 +70,7 @@ fn log_once_system() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// you can also use the 'once!' macro directly, in situations you want do do
|
// you can also use the 'once!' macro directly, in situations you want do do
|
||||||
// something expensive only once within the context of a continous system.
|
// something expensive only once within the context of a continuous system.
|
||||||
once!({
|
once!({
|
||||||
info!("doing expensive things");
|
info!("doing expensive things");
|
||||||
let mut a: u64 = 0;
|
let mut a: u64 = 0;
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
//! In windowed *Bevy* applications, executing code below a call to `App::run()` is
|
//! In windowed *Bevy* applications, executing code below a call to `App::run()` is
|
||||||
//! not recommended because:
|
//! not recommended because:
|
||||||
//! - `App::run()` will never return on iOS and Web.
|
//! - `App::run()` will never return on iOS and Web.
|
||||||
//! - It is not possible to recreate a window afer the event loop has been terminated.
|
//! - It is not possible to recreate a window after the event loop has been terminated.
|
||||||
|
|
||||||
use bevy::{prelude::*, window::WindowPlugin};
|
use bevy::{prelude::*, window::WindowPlugin};
|
||||||
|
|
||||||
|
|||||||
@ -30,7 +30,7 @@ pub enum GzAssetLoaderError {
|
|||||||
/// An [IO](std::io) Error
|
/// An [IO](std::io) Error
|
||||||
#[error("Could not load asset: {0}")]
|
#[error("Could not load asset: {0}")]
|
||||||
Io(#[from] std::io::Error),
|
Io(#[from] std::io::Error),
|
||||||
/// An error caused when the asset path cannot be used ot determine the uncompressed asset type.
|
/// An error caused when the asset path cannot be used to determine the uncompressed asset type.
|
||||||
#[error("Could not determine file path of uncompressed asset")]
|
#[error("Could not determine file path of uncompressed asset")]
|
||||||
IndeterminateFilePath,
|
IndeterminateFilePath,
|
||||||
/// An error caused by the internal asset loader.
|
/// An error caused by the internal asset loader.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
//! This example illustrates how to define custom `AssetLoader`s, `AssetTransfomers`, and `AssetSaver`s, how to configure them, and how to register asset processors.
|
//! This example illustrates how to define custom `AssetLoader`s, `AssetTransformer`s, and `AssetSaver`s, how to configure them, and how to register asset processors.
|
||||||
|
|
||||||
use bevy::{
|
use bevy::{
|
||||||
asset::{
|
asset::{
|
||||||
|
|||||||
@ -23,12 +23,12 @@ Enter a command with no parameters for usage.";
|
|||||||
|
|
||||||
const COMPONENT_PROMPT: &str = "
|
const COMPONENT_PROMPT: &str = "
|
||||||
comp, c Create new components
|
comp, c Create new components
|
||||||
Enter a comma seperated list of type names optionally followed by a size in u64s.
|
Enter a comma separated list of type names optionally followed by a size in u64s.
|
||||||
e.g. CompA 3, CompB, CompC 2";
|
e.g. CompA 3, CompB, CompC 2";
|
||||||
|
|
||||||
const ENTITY_PROMPT: &str = "
|
const ENTITY_PROMPT: &str = "
|
||||||
spawn, s Spawn entities
|
spawn, s Spawn entities
|
||||||
Enter a comma seperated list of components optionally followed by values.
|
Enter a comma separated list of components optionally followed by values.
|
||||||
e.g. CompA 0 1 0, CompB, CompC 1";
|
e.g. CompA 0 1 0, CompB, CompC 1";
|
||||||
|
|
||||||
const QUERY_PROMPT: &str = "
|
const QUERY_PROMPT: &str = "
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
//! 2. Use a [`Local`] [`ManualEventReader`] instead of an [`EventReader`], and use [`ResMut`] to access [`Events`].
|
//! 2. Use a [`Local`] [`ManualEventReader`] instead of an [`EventReader`], and use [`ResMut`] to access [`Events`].
|
||||||
//!
|
//!
|
||||||
//! In the first case, you're being careful to only check out only one of the [`EventWriter`] or [`EventReader`] at a time.
|
//! In the first case, you're being careful to only check out only one of the [`EventWriter`] or [`EventReader`] at a time.
|
||||||
//! By "temporally" seperating them, you avoid the overlap.
|
//! By "temporally" separating them, you avoid the overlap.
|
||||||
//!
|
//!
|
||||||
//! In the second case, you only ever have one access to the underlying [`Events`] resource at a time.
|
//! In the second case, you only ever have one access to the underlying [`Events`] resource at a time.
|
||||||
//! But in exchange, you have to manually keep track of which events you've already read.
|
//! But in exchange, you have to manually keep track of which events you've already read.
|
||||||
|
|||||||
@ -82,7 +82,7 @@ enum PrimitiveSelected {
|
|||||||
Capsule,
|
Capsule,
|
||||||
Cylinder,
|
Cylinder,
|
||||||
Cone,
|
Cone,
|
||||||
ConicalFrustrum,
|
ConicalFrustum,
|
||||||
Torus,
|
Torus,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ impl PrimitiveSelected {
|
|||||||
Self::Capsule,
|
Self::Capsule,
|
||||||
Self::Cylinder,
|
Self::Cylinder,
|
||||||
Self::Cone,
|
Self::Cone,
|
||||||
Self::ConicalFrustrum,
|
Self::ConicalFrustum,
|
||||||
Self::Torus,
|
Self::Torus,
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -239,7 +239,7 @@ const CONE: Cone = Cone {
|
|||||||
height: BIG_3D,
|
height: BIG_3D,
|
||||||
};
|
};
|
||||||
|
|
||||||
const CONICAL_FRUSTRUM: ConicalFrustum = ConicalFrustum {
|
const CONICAL_FRUSTUM: ConicalFrustum = ConicalFrustum {
|
||||||
radius_top: BIG_3D,
|
radius_top: BIG_3D,
|
||||||
radius_bottom: SMALL_3D,
|
radius_bottom: SMALL_3D,
|
||||||
height: BIG_3D,
|
height: BIG_3D,
|
||||||
@ -432,7 +432,7 @@ fn draw_gizmos_2d(mut gizmos: Gizmos, state: Res<State<PrimitiveSelected>>, time
|
|||||||
PrimitiveSelected::Capsule => gizmos.primitive_2d(CAPSULE_2D, POSITION, angle, color),
|
PrimitiveSelected::Capsule => gizmos.primitive_2d(CAPSULE_2D, POSITION, angle, color),
|
||||||
PrimitiveSelected::Cylinder => {}
|
PrimitiveSelected::Cylinder => {}
|
||||||
PrimitiveSelected::Cone => {}
|
PrimitiveSelected::Cone => {}
|
||||||
PrimitiveSelected::ConicalFrustrum => {}
|
PrimitiveSelected::ConicalFrustum => {}
|
||||||
PrimitiveSelected::Torus => {}
|
PrimitiveSelected::Torus => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -474,7 +474,7 @@ fn spawn_primitive_2d(
|
|||||||
Some(CAPSULE_2D.mesh().build()),
|
Some(CAPSULE_2D.mesh().build()),
|
||||||
None, // cylinder
|
None, // cylinder
|
||||||
None, // cone
|
None, // cone
|
||||||
None, // conical frustrum
|
None, // conical frustum
|
||||||
None, // torus
|
None, // torus
|
||||||
]
|
]
|
||||||
.into_iter()
|
.into_iter()
|
||||||
@ -520,7 +520,7 @@ fn spawn_primitive_3d(
|
|||||||
Some(CAPSULE_3D.mesh().build()),
|
Some(CAPSULE_3D.mesh().build()),
|
||||||
Some(CYLINDER.mesh().build()),
|
Some(CYLINDER.mesh().build()),
|
||||||
None, // cone
|
None, // cone
|
||||||
None, // conical frustrum
|
None, // conical frustum
|
||||||
Some(TORUS.mesh().build()),
|
Some(TORUS.mesh().build()),
|
||||||
]
|
]
|
||||||
.into_iter()
|
.into_iter()
|
||||||
@ -648,8 +648,8 @@ fn draw_gizmos_3d(mut gizmos: Gizmos, state: Res<State<PrimitiveSelected>>, time
|
|||||||
.primitive_3d(CONE, POSITION, rotation, color)
|
.primitive_3d(CONE, POSITION, rotation, color)
|
||||||
.segments(segments),
|
.segments(segments),
|
||||||
),
|
),
|
||||||
PrimitiveSelected::ConicalFrustrum => {
|
PrimitiveSelected::ConicalFrustum => {
|
||||||
gizmos.primitive_3d(CONICAL_FRUSTRUM, POSITION, rotation, color);
|
gizmos.primitive_3d(CONICAL_FRUSTUM, POSITION, rotation, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
PrimitiveSelected::Torus => drop(
|
PrimitiveSelected::Torus => drop(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user