Abstract Rust is one thing; reading a real codebase is another. This lesson grounds everything you've learned by walking through the shape of a genuine Rust application: the native core of Cinder, a Tauri-based creative app. (Concepts and patterns only — there's no repository to clone here; the point is to read Rust, not fetch it.)
The Cargo.toml as a design document
Cinder's native core is a Tauri 2 app, and its Cargo.toml reads like a design rationale. Each dependency carries a comment explaining why it's there: tauri with the image-png feature (because the clipboard path decodes PNG), tauri-plugin-store (because the macOS WebView's localStorage is ephemeral under the app's sandbox, so persistence goes through Rust instead), serde for the protocol types. A well-kept Cargo.toml documents the architecture, not just the versions — exactly the Tooling-track lesson, in practice.
Every track, in one file tree
The core uses every track of this quest: structs and enums for the protocol types, Result and ? for fallible commands, serde derives (procedural macros) for serialization, ownership and borrowing throughout, and the Tauri builder pattern wiring it together in lib.rs. The native file-store module is plain ownership-and-Result Rust; the window module reaches into platform FFI. It's a compact tour of the whole language.
The objc2 window trick, decoded
One concrete example ties the FFI lesson to reality. On macOS, Tauri's own set_focus() doesn't reliably bring the window to the foreground — so keystrokes can land in whatever app held focus last. Cinder's window module wraps Cocoa's NSApplication.activate() through the objc2 family of crates: a small, audited FFI boundary that reaches a macOS-only capability and exposes it to the rest of the app as ordinary safe Rust. That's the 'wrap unsafe in safe' principle doing real work in a shipping app — and now you can read exactly why it's there. The Tauri Quest and the Ember & Cinder Quest now teach this native-bridge material formally — the objc2 frontmost trick, the store-plugin persistence, the thin bridge between web UI and native core — if you want the full walkthrough rather than the read-along.