pub struct PartitionByAsset;Expand description
partition-by-asset (no options): a PartitionPlan of one part per asset, so a conversion writes each asset
on its own (convert_parts with PlannedParts). Each asset root nothing references is a group of its own, in
entity order, keyed by its core.source (else its core.name, else asset <index>), with no context: the part
is the asset’s closure, and what its passes place from the root (place-assets run in the part’s passes) is its
own. Other independent content (loose placements, and placements a selection made, which reference an asset’s
parts rather than belong to it: place assets in the part’s passes, not the selection) is one more group,
outside assets, counted, written with what it reaches. An asset another asset references is written with that
one.
Trait Implementations§
Source§impl Clone for PartitionByAsset
impl Clone for PartitionByAsset
impl Copy for PartitionByAsset
Source§impl Debug for PartitionByAsset
impl Debug for PartitionByAsset
Source§impl Default for PartitionByAsset
impl Default for PartitionByAsset
impl Eq for PartitionByAsset
Source§impl PartialEq for PartitionByAsset
impl PartialEq for PartitionByAsset
Source§impl Pass for PartitionByAsset
impl Pass for PartitionByAsset
Source§fn modifies(&self) -> &[&'static str]
fn modifies(&self) -> &[&'static str]
World::resource_mut). The pass manager checks the resources; an in-place edit of a
component’s value on an entity that keeps it (get_mut, or World::insert over the value) is declared here
and not checked: seeing it would take a controlled editing interface, later work. What the gap costs: a pass that
edits a value in place without declaring it here is never named, in any build, and its edit can make what the
declarations say about that name wrong (Pipeline::unfed, Pipeline::check); one that leaves an invalid value there is named at the pass in a build with the
pass checks, and in a release build without them only by the verifier that runs before the writer, which names the
entity but not the pass. Adding a name to an entity, taking one away and despawning are checked entity by entity
against Pass::provides, Pass::removes and Pass::despawns_entities.fn run(&self, w: &mut World, log: &mut PassLog) -> Result<(), String>
Source§fn options(&self) -> Options
fn options(&self) -> Options
Source§fn may_lack_inputs(&self) -> bool
fn may_lack_inputs(&self) -> bool
StepReport::skipped). Required names are prerequisites, so this is false
unless the pass says otherwise: an absent name may be a failed load or a wrong order, and a pass that
summarizes, decides or plans never opts in.Source§fn settings(&self) -> &[Setting]
fn settings(&self) -> &[Setting]
crate::parallel::THREADS, PassManager::with_settings): checked with Pass::requires before it runs and
refused where absent, never counted in whether it is skipped (Pass::may_lack_inputs), and stated in its
step’s report.Source§fn approximates(&self) -> &'static str
fn approximates(&self) -> &'static str
Source§fn despawns_entities(&self) -> bool
fn despawns_entities(&self) -> bool
Pass::removes may disappear
when every entity that held the name before the pass was despawned by it (a dropped placement’s
core.name, a discarded form’s dialect data); a name still held by a surviving entity before the pass must
be declared as ever. Added names are checked as for every pass.Source§fn removes_by_log(&self) -> bool
fn removes_by_log(&self) -> bool
crate::Component::apply_linear does). If so, a component name that disappears is accepted when the pass
recorded it in PassLog::removed as well as when it is declared in Pass::removes; a name that disappears
unrecorded and undeclared is an error as ever, and a resource it removes must be declared as for any pass.Source§fn settles(&self) -> &[&'static str]
fn settles(&self) -> &[&'static str]
PassManager::run refuses such a pipeline before it runs (Error::SettledThenChanged).
Modifying settled values later is allowed. A modifier must not add
values without declaring them in Pass::provides; the target’s value rules check the result.impl StructuralPartialEq for PartitionByAsset
Auto Trait Implementations§
impl Forget for PartitionByAsset
impl Freeze for PartitionByAsset
impl RefUnwindSafe for PartitionByAsset
impl Send for PartitionByAsset
impl Sync for PartitionByAsset
impl Unpin for PartitionByAsset
impl UnsafeUnpin for PartitionByAsset
impl UnwindSafe for PartitionByAsset
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.