diff --git a/docs/book/art/diagrams/config-precedence.svg b/docs/book/art/diagrams/config-precedence.svg
new file mode 100644
index 0000000..c6e2520
--- /dev/null
+++ b/docs/book/art/diagrams/config-precedence.svg
@@ -0,0 +1,17 @@
+
diff --git a/docs/book/art/diagrams/cqrs-dispatch.svg b/docs/book/art/diagrams/cqrs-dispatch.svg
new file mode 100644
index 0000000..08e1f66
--- /dev/null
+++ b/docs/book/art/diagrams/cqrs-dispatch.svg
@@ -0,0 +1,17 @@
+
diff --git a/docs/book/art/diagrams/di-graph.svg b/docs/book/art/diagrams/di-graph.svg
new file mode 100644
index 0000000..acc2152
--- /dev/null
+++ b/docs/book/art/diagrams/di-graph.svg
@@ -0,0 +1,15 @@
+
diff --git a/docs/book/art/diagrams/dual-port.svg b/docs/book/art/diagrams/dual-port.svg
new file mode 100644
index 0000000..6b47163
--- /dev/null
+++ b/docs/book/art/diagrams/dual-port.svg
@@ -0,0 +1,9 @@
+
diff --git a/docs/book/art/diagrams/event-sourcing.svg b/docs/book/art/diagrams/event-sourcing.svg
new file mode 100644
index 0000000..6c5fb23
--- /dev/null
+++ b/docs/book/art/diagrams/event-sourcing.svg
@@ -0,0 +1,15 @@
+
diff --git a/docs/book/art/diagrams/four-tier.svg b/docs/book/art/diagrams/four-tier.svg
new file mode 100644
index 0000000..6a217bc
--- /dev/null
+++ b/docs/book/art/diagrams/four-tier.svg
@@ -0,0 +1,53 @@
+
diff --git a/docs/book/art/diagrams/layered-crates.svg b/docs/book/art/diagrams/layered-crates.svg
new file mode 100644
index 0000000..f592e8e
--- /dev/null
+++ b/docs/book/art/diagrams/layered-crates.svg
@@ -0,0 +1,17 @@
+
diff --git a/docs/book/art/diagrams/macros.svg b/docs/book/art/diagrams/macros.svg
new file mode 100644
index 0000000..57f2a64
--- /dev/null
+++ b/docs/book/art/diagrams/macros.svg
@@ -0,0 +1,21 @@
+
diff --git a/docs/book/art/diagrams/openapi.svg b/docs/book/art/diagrams/openapi.svg
new file mode 100644
index 0000000..5978394
--- /dev/null
+++ b/docs/book/art/diagrams/openapi.svg
@@ -0,0 +1,21 @@
+
diff --git a/docs/book/art/diagrams/reactive.svg b/docs/book/art/diagrams/reactive.svg
new file mode 100644
index 0000000..67becca
--- /dev/null
+++ b/docs/book/art/diagrams/reactive.svg
@@ -0,0 +1,24 @@
+
diff --git a/docs/book/art/diagrams/request-lifecycle.svg b/docs/book/art/diagrams/request-lifecycle.svg
new file mode 100644
index 0000000..1c621e6
--- /dev/null
+++ b/docs/book/art/diagrams/request-lifecycle.svg
@@ -0,0 +1,11 @@
+
diff --git a/docs/book/art/diagrams/saga-compensation.svg b/docs/book/art/diagrams/saga-compensation.svg
new file mode 100644
index 0000000..8a8b975
--- /dev/null
+++ b/docs/book/art/diagrams/saga-compensation.svg
@@ -0,0 +1,11 @@
+
diff --git a/docs/book/art/diagrams/tcc.svg b/docs/book/art/diagrams/tcc.svg
new file mode 100644
index 0000000..27bbd09
--- /dev/null
+++ b/docs/book/art/diagrams/tcc.svg
@@ -0,0 +1,21 @@
+
diff --git a/docs/book/art/diagrams/workflow-dag.svg b/docs/book/art/diagrams/workflow-dag.svg
new file mode 100644
index 0000000..5a80927
--- /dev/null
+++ b/docs/book/art/diagrams/workflow-dag.svg
@@ -0,0 +1,10 @@
+
diff --git a/docs/book/build/gen_diagrams.py b/docs/book/build/gen_diagrams.py
new file mode 100644
index 0000000..de6b32f
--- /dev/null
+++ b/docs/book/build/gen_diagrams.py
@@ -0,0 +1,906 @@
+"""Generate the on-brand inline concept diagrams for *Firefly for Rust by Example*.
+
+These are the in-text technical figures (NOT the chapter openers — see
+``gen_openers.py`` for those). Each diagram is a self-contained ````
+holding one ``