pub struct LumenToml {Show 19 fields
pub raw: Table,
pub app: AppCfg,
pub pages: PagesCfg,
pub window: WindowCfg,
pub skin: SkinCfg,
pub mcp: McpCfg,
pub profile: ProfileCfg,
pub asset_roots: AssetRootsCfg,
pub script: ScriptCfg,
pub render: RenderCfg,
pub perf: PerfCfg,
pub runtime: RuntimeCfg,
pub capabilities: CapabilitiesCfg,
pub web: WebCfg,
pub hooks: Vec<HookCfg>,
pub plugins: Vec<Value>,
pub dependencies: DependenciesCfg,
pub target: TargetTables,
pub signals: SignalsCfg,
}Expand description
Parsed lumen.toml config, all fields optional.
Fields§
§raw: TableThe whole file, parsed but untyped. What an optional subsystem reads its own section from: the typed fields above are the runtime’s, and a subsystem the runtime does not name has no field here.
app: AppCfg[app] section.
pages: PagesCfg[pages] section - file-based multi-page navigation config.
window: WindowCfg[window] section.
skin: SkinCfg[skin] section.
mcp: McpCfg[mcp] section.
profile: ProfileCfg[profile] section.
asset_roots: AssetRootsCfg[asset_roots] section.
script: ScriptCfg[script] section - script-engine selection.
render: RenderCfg[render] section - which render backend draws the app.
perf: PerfCfg[perf] section - per-cache memory budgets.
runtime: RuntimeCfg[runtime] section - subsystem init overrides (MCP /
hot-reload / thread budget).
capabilities: CapabilitiesCfg[capabilities] section - per-app COMPILE-TIME subsystem trim toggles
for the static --bundle build (Part B tree-shaking).
web: WebCfg[web] section - how lumenc web emits the app as a static site.
hooks: Vec<HookCfg>[[hooks]] array - project-declared build/setup commands, run at the
prebuild / prerun trigger points by lumenc run / build /
bundle. See crate::hooks for the execution semantics (ordering,
OS filtering, staleness skip) and HookCfg for the field reference.
plugins: Vec<Value>[[plugins]] array - compiler plugins, run in declaration order by
every compile path, check included. This field only accepts the
array (deny_unknown_fields would otherwise reject any app declaring
one); nothing reads it. The schema, the loader, and the validation
live in lumenc-plugin (see its PluginCfg), lumenc reads the file
itself, and the chain reaches the pipeline through the injected
crate::compiler_plugins::CompilerPlugins boundary, the same
inversion the parser uses.
dependencies: DependenciesCfg[dependencies] table - prebuilt dylibs loaded at startup in
sorted-name order: engine-linked runtime modules and portable C-ABI
plugins, told apart by their exports. The schema, the loader, and
the failure policy live in lumen-modules (re-exported as
crate::modules); build_app runs the table through the loader
when the modules feature is on.
target: TargetTables[target.web] and [target.desktop]: what a build for one target
adds. Each may carry a dependencies table of the same shape as
[dependencies], laid over it for that target’s builds; read the
combined table through Self::dependencies_for.
signals: SignalsCfg[signals] table - optional typed schema. Each key declares
the expected SignalType. Used by lumenc lint --signals
to flag untyped writes / schema mismatches. Schema entries
are optional: missing keys just downgrade the lint severity.
Implementations§
Source§impl LumenToml
impl LumenToml
Sourcepub fn load_or_default(dir: &Path) -> Result<Self, ConfigError>
pub fn load_or_default(dir: &Path) -> Result<Self, ConfigError>
Loads <dir>/lumen.toml when present and returns the parsed config; returns Self::default when the file is absent.
Sourcepub fn dependencies_for(&self, target: Target) -> DependenciesCfg
pub fn dependencies_for(&self, target: Target) -> DependenciesCfg
The dependencies a build for target takes: [dependencies], with
[target.<name>.dependencies] laid over it entry by entry.
Sourcepub fn resolved_asset_roots(&self, dir: &Path) -> Vec<PathBuf>
pub fn resolved_asset_roots(&self, dir: &Path) -> Vec<PathBuf>
Returns [asset_roots].paths resolved against dir, leaving absolute entries unchanged and joining relative entries onto dir.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for LumenToml
impl<'de> Deserialize<'de> for LumenToml
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>,
Auto Trait Implementations§
impl Freeze for LumenToml
impl RefUnwindSafe for LumenToml
impl Send for LumenToml
impl Sync for LumenToml
impl Unpin for LumenToml
impl UnsafeUnpin for LumenToml
impl UnwindSafe for LumenToml
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<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> FromTemplate for T
impl<T> FromTemplate for T
§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self using default().
§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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
§impl<F, T, S> SimdInto<T, S> for Fwhere
T: SimdFrom<F, S>,
S: Simd,
impl<F, T, S> SimdInto<T, S> for Fwhere
T: SimdFrom<F, S>,
S: Simd,
§impl<T> Template for T
impl<T> Template for T
§fn build_template(
&self,
_context: &mut TemplateContext<'_, '_>,
) -> Result<<T as Template>::Output, BevyError>
fn build_template( &self, _context: &mut TemplateContext<'_, '_>, ) -> Result<<T as Template>::Output, BevyError>
entity context to produce a [Template::Output].§fn clone_template(&self) -> T
fn clone_template(&self) -> T
Clone.