pub struct Area {
pub id: AreaId,
pub name: String,
pub prefab: Option<PrefabId>,
pub prefab_pool: Option<PoolId>,
pub pieces: Option<Pieces>,
pub lighting: Option<AreaLighting>,
pub mitigation: Option<AreaMitigation>,
pub atmosphere: Option<AtmosphereId>,
}Expand description
One area of the world, bound to a single prefab or a jigsaw prefab pool.
An area binds exactly one of prefab (single piece) or prefab_pool
(+ pieces, jigsaw multi-piece assembly, ADR-0004). The exclusivity and
pool-existence rules are enforced by validation (DW0160 / DW0161); the
full jigsaw layout semantics are spec-0002’s.
Fields§
§id: AreaIdUnique area id.
name: StringPlayer-facing area name.
prefab: Option<PrefabId>The single prefab bound to this area (mutually exclusive with
prefab_pool).
prefab_pool: Option<PoolId>The jigsaw prefab pool bound to this area (mutually exclusive with
prefab); requires pieces.
pieces: Option<Pieces>Jigsaw piece-count bounds (only with prefab_pool).
lighting: Option<AreaLighting>Optional supplemental-lighting declaration (DSL v0.5, spec-0010). When
present, the compiler’s relight pass guarantees min_light on every
reachable walkable cell of this area by placing the declared fixture, or
fails with DW0211. Absent = no relight (the area is judged as-assembled,
with DW0210 if a reachable walkable cell is dark and unmitigated).
mitigation: Option<AreaMitigation>Optional darkness-mitigation declaration (DSL v0.6). night-vision makes
the compiler emit a clocked effect give over this area’s placed bounds and
is the (only) declaration that satisfies DW0210 without lighting.
Independent of lighting: an area may declare both (fixtures and the
effect), either, or neither.
atmosphere: Option<AtmosphereId>The sky this place stands under from the first tick (spec-0080
§3.2): one of world.atmospheres[], painted at world setup over the
area’s placed bounds grown up and down as far as the client’s biome
blend reads. The volume is the placement’s, never typed.
Absent: the horizon’s biome.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Area
impl<'de> Deserialize<'de> for Area
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 JsonSchema for Area
impl JsonSchema for Area
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
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more