# Internals
## File view
This is mainly relevant for the `watch` mode.
```mermaid
graph TD;
subgraph Watcher[watch]
Watch[FS Notifier];
end
Watch-->|"*.rs"| BIN;
Watch-->|"assets/**"| Mirror;
subgraph style
TailW[Tailwind CSS];
Sass;
CSSProc[CSS Processor<br>Lightning CSS]
end
TailW --> CSSProc;
Sass --> CSSProc;
subgraph rust
WASM[Client WASM];
BIN[Server BIN];
end
subgraph asset
Mirror
end
subgraph update
WOC[target/site/<br>Write-on-change FS];
Live[Live Reload];
Server;
end
Browser;
Server -.- Browser;
```
## Concurrency view
Very approximate
```mermaid
stateDiagram-v2
wasm: Build front
bin: Build server
style: Build style
asset: Mirror assets
serve: Run server
state wait_for_start <<fork>>
[*] --> wait_for_start
wait_for_start --> wasm
wait_for_start --> bin
wait_for_start --> style
wait_for_start --> asset
reload: Reload
state join_state <<join>>
wasm --> join_state
bin --> join_state
style --> join_state
asset --> join_state
state if_state <<choice>>
join_state --> if_state
if_state --> reload: Ok
if_state --> serve: Ok
if_state --> [*] : Err
```