Frontend
The frontend is a Yew CSR application compiled to WebAssembly via wasm-pack.
Entry point
frontend/src/lib.rs contains the root App component and the #[wasm_bindgen(start)] entry point that initialises the logger, panic hook, and Yew renderer.
Styles
SCSS lives in frontend/styles/screen.scss. The dev server compiles it to CSS in memory and serves it at /styles/screen.css. It is never written to disk during development — the compiled screen.css is only produced by wasm-drydock release.
A CSS reset based on Josh Comeau's modern reset is included by default.
Public assets
Static files placed in frontend/public/ are served as-is at their filename. For example, frontend/public/favicon.png is served at /favicon.png.
index.html
frontend/index.html bootstraps the application. The WASM module is loaded via an ES module script:
<script type="module">
import init from '/pkg/my_app_frontend.js';
init();
</script>
Note the absolute path — relative paths break on SPA subroutes.