pub enum ArtifactWorldLaw {
HalfwayBell,
ThinMirror,
}Expand description
The one-line rule welded into an artifact, active only while it is worn.
A World Law reclassifies what the build already produces; it never adds a number (design §4). It is the only thing allowed to touch the gauge, the Core/Proc boundary, the flip law or the socket limits — the Aspect stones cannot.
The v0.2 pool is three artifacts: ART-00 Plain Gate Key (the starter
«Пустая оправа», no law at all), ART-03 Halfway Bell — the only law that
ships here — and ART-02 Thin Mirror, which reads hidden Laws and therefore
waits for the cores/laws vertical. «Отражение» (a dodge additionally reading
as a crit) was cut from the pool in v0.2: it is a rulebreaker, and those live
in a separate Artifacts v2 wave.
Variant docs live here rather than on the variants themselves: a documented
variant makes the admin schema generate a oneOf of one-value enums instead
of a plain picker.
HalfwayBell— «Колокол на полпути» (ART-03): the Global Flip happens at a share of the configured threshold (ArtifactsSettings::halfway_bell_threshold_share,60%). No other gauge source is amplified — the bar moves, the fill rate does not.ThinMirror— «Тонкое зеркало» (ART-02): EVERY slotted law of the side that is currently down keeps evaluating its own Core conditions and, when one is met, applies its Effect atArtifactsSettings::thin_mirror_share(30%) of Law Power. It is the most expensive rule in the pool — it switches the other half of the build back on — and the whole of its safety is the fourth clause of the intersection rule (design §3): a hidden activation produces NO Resonance, NO bridge charge and NO Flip Gauge, and its Effect is not a Core event. Without that clause it would double both the bridge fill and the flip tempo.
Variants§
Trait Implementations§
Source§impl Clone for ArtifactWorldLaw
impl Clone for ArtifactWorldLaw
Source§fn clone(&self) -> ArtifactWorldLaw
fn clone(&self) -> ArtifactWorldLaw
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ArtifactWorldLaw
impl Debug for ArtifactWorldLaw
Source§impl<'de> Deserialize<'de> for ArtifactWorldLaw
impl<'de> Deserialize<'de> for ArtifactWorldLaw
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<ArtifactWorldLaw> for JsValuewhere
ArtifactWorldLaw: Serialize,
impl From<ArtifactWorldLaw> for JsValuewhere
ArtifactWorldLaw: Serialize,
Source§fn from(value: ArtifactWorldLaw) -> Self
fn from(value: ArtifactWorldLaw) -> Self
Source§impl FromWasmAbi for ArtifactWorldLawwhere
Self: DeserializeOwned,
impl FromWasmAbi for ArtifactWorldLawwhere
Self: DeserializeOwned,
Source§impl Hash for ArtifactWorldLaw
impl Hash for ArtifactWorldLaw
Source§impl IntoWasmAbi for ArtifactWorldLawwhere
ArtifactWorldLaw: Serialize,
impl IntoWasmAbi for ArtifactWorldLawwhere
ArtifactWorldLaw: Serialize,
Source§impl JsonSchema for ArtifactWorldLaw
impl JsonSchema for ArtifactWorldLaw
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl OptionFromWasmAbi for ArtifactWorldLawwhere
Self: DeserializeOwned,
impl OptionFromWasmAbi for ArtifactWorldLawwhere
Self: DeserializeOwned,
Source§impl OptionIntoWasmAbi for ArtifactWorldLawwhere
ArtifactWorldLaw: Serialize,
impl OptionIntoWasmAbi for ArtifactWorldLawwhere
ArtifactWorldLaw: Serialize,
Source§impl PartialEq for ArtifactWorldLaw
impl PartialEq for ArtifactWorldLaw
Source§impl RefFromWasmAbi for ArtifactWorldLawwhere
Self: DeserializeOwned,
impl RefFromWasmAbi for ArtifactWorldLawwhere
Self: DeserializeOwned,
Source§type Abi = <JsType as RefFromWasmAbi>::Abi
type Abi = <JsType as RefFromWasmAbi>::Abi
Self are recovered from.Source§type Anchor = SelfOwner<ArtifactWorldLaw>
type Anchor = SelfOwner<ArtifactWorldLaw>
Self for the duration of the
invocation of the function that has an &Self parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous.Source§impl Serialize for ArtifactWorldLaw
impl Serialize for ArtifactWorldLaw
Source§impl Tsify for ArtifactWorldLaw
impl Tsify for ArtifactWorldLaw
const DECL: &'static str = "/**\n * The one-line rule welded into an artifact, active only while it is worn.\n *\n * A World Law reclassifies what the build already produces; it never adds a\n * number (design \u{a7}4). It is the only thing allowed to touch the gauge, the\n * Core/Proc boundary, the flip law or the socket limits \u{2014} the Aspect stones\n * cannot.\n *\n * The v0.2 pool is three artifacts: `ART-00 Plain Gate Key` (the starter\n * \u{ab}\u{41f}\u{443}\u{441}\u{442}\u{430}\u{44f} \u{43e}\u{43f}\u{440}\u{430}\u{432}\u{430}\u{bb}, no law at all), `ART-03 Halfway Bell` \u{2014} the only law that\n * ships here \u{2014} and `ART-02 Thin Mirror`, which reads hidden Laws and therefore\n * waits for the cores/laws vertical. \u{ab}\u{41e}\u{442}\u{440}\u{430}\u{436}\u{435}\u{43d}\u{438}\u{435}\u{bb} (a dodge additionally reading\n * as a crit) was cut from the pool in v0.2: it is a rulebreaker, and those live\n * in a separate `Artifacts v2` wave.\n *\n * Variant docs live here rather than on the variants themselves: a documented\n * variant makes the admin schema generate a `oneOf` of one-value enums instead\n * of a plain picker.\n *\n * * `HalfwayBell` \u{2014} \u{ab}\u{41a}\u{43e}\u{43b}\u{43e}\u{43a}\u{43e}\u{43b} \u{43d}\u{430} \u{43f}\u{43e}\u{43b}\u{43f}\u{443}\u{442}\u{438}\u{bb} (`ART-03`): the Global Flip happens at\n * a *share* of the configured threshold\n * ([`ArtifactsSettings::halfway_bell_threshold_share`], `60%`). No other\n * gauge source is amplified \u{2014} the bar moves, the fill rate does not.\n * * `ThinMirror` \u{2014} \u{ab}\u{422}\u{43e}\u{43d}\u{43a}\u{43e}\u{435} \u{437}\u{435}\u{440}\u{43a}\u{430}\u{43b}\u{43e}\u{bb} (`ART-02`): EVERY slotted law of the side\n * that is currently down keeps evaluating its own Core conditions and, when\n * one is met, applies its Effect at\n * [`ArtifactsSettings::thin_mirror_share`] (`30%`) of Law Power. It is the\n * most expensive rule in the pool \u{2014} it switches the other half of the build\n * back on \u{2014} and the whole of its safety is the fourth clause of the\n * intersection rule (design \u{a7}3): a hidden activation produces NO Resonance,\n * NO bridge charge and NO Flip Gauge, and its Effect is not a Core event.\n * Without that clause it would double both the bridge fill and the flip\n * tempo.\n */\nexport type ArtifactWorldLaw = \"HalfwayBell\" | \"ThinMirror\";"
const SERIALIZATION_CONFIG: SerializationConfig
type JsType = JsType
fn into_js(&self) -> Result<Self::JsType, Error>where
Self: Serialize,
fn from_js<T>(js: T) -> Result<Self, Error>
Source§impl VectorFromWasmAbi for ArtifactWorldLawwhere
Self: DeserializeOwned,
impl VectorFromWasmAbi for ArtifactWorldLawwhere
Self: DeserializeOwned,
type Abi = <JsType as VectorFromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[Self]>
Source§impl VectorIntoWasmAbi for ArtifactWorldLawwhere
ArtifactWorldLaw: Serialize,
impl VectorIntoWasmAbi for ArtifactWorldLawwhere
ArtifactWorldLaw: Serialize,
type Abi = <JsType as VectorIntoWasmAbi>::Abi
fn vector_into_abi(vector: Box<[Self]>) -> Self::Abi
Source§impl WasmDescribeVector for ArtifactWorldLaw
impl WasmDescribeVector for ArtifactWorldLaw
impl Copy for ArtifactWorldLaw
impl Eq for ArtifactWorldLaw
impl StructuralPartialEq for ArtifactWorldLaw
Auto Trait Implementations§
impl Freeze for ArtifactWorldLaw
impl RefUnwindSafe for ArtifactWorldLaw
impl Send for ArtifactWorldLaw
impl Sync for ArtifactWorldLaw
impl Unpin for ArtifactWorldLaw
impl UnwindSafe for ArtifactWorldLaw
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.