There's a problem here: id and title are extracted from the root, I suppose. Is there a way to directly specify that id and title belong to rialight.application? Or do I need a dynamic access to skip rialight.application?
Serde will by default follow any nested structure in your statically-typed domain types. If you wrap your ApplicationConfig accordingly, behind the appropriate fields, then the deserializer will look for it under that path. Playground.
The serde way is creating two wrapper structs to model the same data hierarchy of your toml file with your Rust structs. This allows you to serialize the data back.