diff --git a/doc/book/src/images/content-updates/content-update-legend.png b/doc/book/src/images/content-updates/content-update-legend.png
new file mode 100644
index 00000000..84f12e76
Binary files /dev/null and b/doc/book/src/images/content-updates/content-update-legend.png differ
diff --git a/doc/book/src/images/content-updates/content-updates.drawio b/doc/book/src/images/content-updates/content-updates.drawio
new file mode 100644
index 00000000..5d780213
--- /dev/null
+++ b/doc/book/src/images/content-updates/content-updates.drawio
@@ -0,0 +1,1528 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/book/src/images/content-updates/simple-desynchronized-state-1.png b/doc/book/src/images/content-updates/simple-desynchronized-state-1.png
new file mode 100644
index 00000000..d319ac25
Binary files /dev/null and b/doc/book/src/images/content-updates/simple-desynchronized-state-1.png differ
diff --git a/doc/book/src/images/content-updates/simple-desynchronized-state-2.png b/doc/book/src/images/content-updates/simple-desynchronized-state-2.png
new file mode 100644
index 00000000..ecd284cd
Binary files /dev/null and b/doc/book/src/images/content-updates/simple-desynchronized-state-2.png differ
diff --git a/doc/book/src/images/content-updates/simple-desynchronized-state-3.png b/doc/book/src/images/content-updates/simple-desynchronized-state-3.png
new file mode 100644
index 00000000..73da57f8
Binary files /dev/null and b/doc/book/src/images/content-updates/simple-desynchronized-state-3.png differ
diff --git a/doc/book/src/images/content-updates/simple-desynchronized-state-4.png b/doc/book/src/images/content-updates/simple-desynchronized-state-4.png
new file mode 100644
index 00000000..83dcc063
Binary files /dev/null and b/doc/book/src/images/content-updates/simple-desynchronized-state-4.png differ
diff --git a/doc/book/src/images/content-updates/simple-desynchronized-state-5.png b/doc/book/src/images/content-updates/simple-desynchronized-state-5.png
new file mode 100644
index 00000000..d4e42d8f
Binary files /dev/null and b/doc/book/src/images/content-updates/simple-desynchronized-state-5.png differ
diff --git a/doc/book/src/images/content-updates/simple-desynchronized-state-6.png b/doc/book/src/images/content-updates/simple-desynchronized-state-6.png
new file mode 100644
index 00000000..ebb88d81
Binary files /dev/null and b/doc/book/src/images/content-updates/simple-desynchronized-state-6.png differ
diff --git a/doc/book/src/images/content-updates/simple-desynchronized.drawio b/doc/book/src/images/content-updates/simple-desynchronized.drawio
new file mode 100644
index 00000000..c1adfd60
--- /dev/null
+++ b/doc/book/src/images/content-updates/simple-desynchronized.drawio
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/book/src/images/content-updates/simple-synchronized-state-1.png b/doc/book/src/images/content-updates/simple-synchronized-state-1.png
new file mode 100644
index 00000000..be101446
Binary files /dev/null and b/doc/book/src/images/content-updates/simple-synchronized-state-1.png differ
diff --git a/doc/book/src/images/content-updates/simple-synchronized-state-2.png b/doc/book/src/images/content-updates/simple-synchronized-state-2.png
new file mode 100644
index 00000000..af6c64ff
Binary files /dev/null and b/doc/book/src/images/content-updates/simple-synchronized-state-2.png differ
diff --git a/doc/book/src/images/content-updates/simple-synchronized-state-3.png b/doc/book/src/images/content-updates/simple-synchronized-state-3.png
new file mode 100644
index 00000000..7ca9ae69
Binary files /dev/null and b/doc/book/src/images/content-updates/simple-synchronized-state-3.png differ
diff --git a/doc/book/src/images/content-updates/simple-synchronized-state-4.png b/doc/book/src/images/content-updates/simple-synchronized-state-4.png
new file mode 100644
index 00000000..e8b9b3db
Binary files /dev/null and b/doc/book/src/images/content-updates/simple-synchronized-state-4.png differ
diff --git a/doc/book/src/images/content-updates/simple-synchronized-state-5.png b/doc/book/src/images/content-updates/simple-synchronized-state-5.png
new file mode 100644
index 00000000..21c3414a
Binary files /dev/null and b/doc/book/src/images/content-updates/simple-synchronized-state-5.png differ
diff --git a/doc/book/src/images/content-updates/simple-synchronized.drawio b/doc/book/src/images/content-updates/simple-synchronized.drawio
new file mode 100644
index 00000000..a478ae02
--- /dev/null
+++ b/doc/book/src/images/content-updates/simple-synchronized.drawio
@@ -0,0 +1,207 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/book/src/images/content-updates/sync-subsurf-case1-1.png b/doc/book/src/images/content-updates/sync-subsurf-case1-1.png
new file mode 100644
index 00000000..1f7ff8e4
Binary files /dev/null and b/doc/book/src/images/content-updates/sync-subsurf-case1-1.png differ
diff --git a/doc/book/src/images/content-updates/sync-subsurf-case1-2.png b/doc/book/src/images/content-updates/sync-subsurf-case1-2.png
new file mode 100644
index 00000000..6839b679
Binary files /dev/null and b/doc/book/src/images/content-updates/sync-subsurf-case1-2.png differ
diff --git a/doc/book/src/images/content-updates/sync-subsurf-case1-3.png b/doc/book/src/images/content-updates/sync-subsurf-case1-3.png
new file mode 100644
index 00000000..9810a028
Binary files /dev/null and b/doc/book/src/images/content-updates/sync-subsurf-case1-3.png differ
diff --git a/doc/book/src/images/content-updates/sync-subsurf-case1-4.png b/doc/book/src/images/content-updates/sync-subsurf-case1-4.png
new file mode 100644
index 00000000..bf3c04bc
Binary files /dev/null and b/doc/book/src/images/content-updates/sync-subsurf-case1-4.png differ
diff --git a/doc/book/src/images/content-updates/sync-subsurf-case1-5.png b/doc/book/src/images/content-updates/sync-subsurf-case1-5.png
new file mode 100644
index 00000000..1b2ebc3b
Binary files /dev/null and b/doc/book/src/images/content-updates/sync-subsurf-case1-5.png differ
diff --git a/doc/book/src/images/content-updates/sync-subsurf-case1.drawio b/doc/book/src/images/content-updates/sync-subsurf-case1.drawio
new file mode 100644
index 00000000..385c6fd7
--- /dev/null
+++ b/doc/book/src/images/content-updates/sync-subsurf-case1.drawio
@@ -0,0 +1,500 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/book/src/images/content-updates/sync-subsurf-case2-1.png b/doc/book/src/images/content-updates/sync-subsurf-case2-1.png
new file mode 100644
index 00000000..25408cfc
Binary files /dev/null and b/doc/book/src/images/content-updates/sync-subsurf-case2-1.png differ
diff --git a/doc/book/src/images/content-updates/sync-subsurf-case2-2.png b/doc/book/src/images/content-updates/sync-subsurf-case2-2.png
new file mode 100644
index 00000000..63ea066c
Binary files /dev/null and b/doc/book/src/images/content-updates/sync-subsurf-case2-2.png differ
diff --git a/doc/book/src/images/content-updates/sync-subsurf-case2-3.png b/doc/book/src/images/content-updates/sync-subsurf-case2-3.png
new file mode 100644
index 00000000..3948988d
Binary files /dev/null and b/doc/book/src/images/content-updates/sync-subsurf-case2-3.png differ
diff --git a/doc/book/src/images/content-updates/sync-subsurf-case2.drawio b/doc/book/src/images/content-updates/sync-subsurf-case2.drawio
new file mode 100644
index 00000000..c1eaff66
--- /dev/null
+++ b/doc/book/src/images/content-updates/sync-subsurf-case2.drawio
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/book/src/images/content-updates/sync-to-desync-subsurf-1.png b/doc/book/src/images/content-updates/sync-to-desync-subsurf-1.png
new file mode 100644
index 00000000..3a56f260
Binary files /dev/null and b/doc/book/src/images/content-updates/sync-to-desync-subsurf-1.png differ
diff --git a/doc/book/src/images/content-updates/sync-to-desync-subsurf-2.png b/doc/book/src/images/content-updates/sync-to-desync-subsurf-2.png
new file mode 100644
index 00000000..9cb6210c
Binary files /dev/null and b/doc/book/src/images/content-updates/sync-to-desync-subsurf-2.png differ
diff --git a/doc/book/src/images/content-updates/sync-to-desync-subsurf-3.png b/doc/book/src/images/content-updates/sync-to-desync-subsurf-3.png
new file mode 100644
index 00000000..34bf7475
Binary files /dev/null and b/doc/book/src/images/content-updates/sync-to-desync-subsurf-3.png differ
diff --git a/doc/book/src/images/content-updates/sync-to-desync-subsurf.drawio b/doc/book/src/images/content-updates/sync-to-desync-subsurf.drawio
new file mode 100644
index 00000000..7a72e0f6
--- /dev/null
+++ b/doc/book/src/images/content-updates/sync-to-desync-subsurf.drawio
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/book/src/images/content-updates/sync-to-desync-transition-1.png b/doc/book/src/images/content-updates/sync-to-desync-transition-1.png
new file mode 100644
index 00000000..cd69f3c3
Binary files /dev/null and b/doc/book/src/images/content-updates/sync-to-desync-transition-1.png differ
diff --git a/doc/book/src/images/content-updates/sync-to-desync-transition-2.png b/doc/book/src/images/content-updates/sync-to-desync-transition-2.png
new file mode 100644
index 00000000..677a0cdb
Binary files /dev/null and b/doc/book/src/images/content-updates/sync-to-desync-transition-2.png differ
diff --git a/doc/book/src/images/content-updates/sync-to-desync-transition-3.png b/doc/book/src/images/content-updates/sync-to-desync-transition-3.png
new file mode 100644
index 00000000..bdfdb8eb
Binary files /dev/null and b/doc/book/src/images/content-updates/sync-to-desync-transition-3.png differ
diff --git a/doc/book/src/images/content-updates/sync-to-desync-transition.drawio b/doc/book/src/images/content-updates/sync-to-desync-transition.drawio
new file mode 100644
index 00000000..9843acb6
--- /dev/null
+++ b/doc/book/src/images/content-updates/sync-to-desync-transition.drawio
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/book/src/images/icon.svg b/doc/book/src/images/icon.svg
new file mode 100644
index 00000000..b2f16d0f
--- /dev/null
+++ b/doc/book/src/images/icon.svg
@@ -0,0 +1,19 @@
+
+
diff --git a/doc/book/src/images/wayland-architecture.gv b/doc/book/src/images/wayland-architecture.gv
new file mode 100644
index 00000000..f2c35075
--- /dev/null
+++ b/doc/book/src/images/wayland-architecture.gv
@@ -0,0 +1,36 @@
+digraph arch_wayland {
+ edge[
+ fontname="DejaVu Sans",
+ dir="both",
+ arrowtail="dot",
+ arrowsize=.5,
+ fontname="DejaVu Sans",
+ fontsize="18",
+ ]
+
+ node[
+ color=none,
+ margin=0,
+ fontname="DejaVu Sans",
+ fontsize="18",
+ ]
+
+ c1 [label=<
>, URL="#c1"]
+ c2 [label=<>, URL="#c2"]
+
+ comp [tooltip="Wayland Compositor", label=<>, URL="#comp"]
+
+ impl [tooltip="KMS evdev Kernel", label=<>, URL="#impl"]
+
+ c1 -> comp [taillabel="③", labeldistance=2.5, URL="#step_3"];
+ c2 -> comp;
+
+ comp -> c1 [label="②", URL="#step_2"];
+ comp -> c2;
+
+ comp -> impl [xlabel = "④", URL="#step_4"];
+ comp -> impl [style = invis, label=" "];
+ impl -> comp [xlabel = "①", URL="#step_1"];
+
+ c1 -> c2 [style=invis];
+}
diff --git a/doc/book/src/images/wayland-architecture.png b/doc/book/src/images/wayland-architecture.png
new file mode 100644
index 00000000..2be7da00
Binary files /dev/null and b/doc/book/src/images/wayland-architecture.png differ
diff --git a/doc/book/src/images/wayland.png b/doc/book/src/images/wayland.png
new file mode 100644
index 00000000..c9937928
Binary files /dev/null and b/doc/book/src/images/wayland.png differ
diff --git a/doc/book/src/images/x-architecture.gv b/doc/book/src/images/x-architecture.gv
new file mode 100644
index 00000000..b223d1dc
--- /dev/null
+++ b/doc/book/src/images/x-architecture.gv
@@ -0,0 +1,53 @@
+digraph arch_x {
+ edge[
+ fontname="DejaVu Sans",
+ dir="both",
+ arrowtail="dot",
+ arrowsize=.5,
+ fontname="DejaVu Sans",
+ fontsize="18",
+ ]
+
+ node[
+ shape="none",
+ color=none,
+ margin=0,
+ fontname="DejaVu Sans",
+ fontsize="18",
+ ]
+
+ {
+ rank=same;
+ c1 [label=<>, URL="#c1"]
+ c3 [label=<>, URL="#c3"]
+ }
+ c2 [label=<>, URL="#c2"]
+
+ {
+ rank=same;
+ xserver [tooltip="X Server", label=<>, URL="#xserver"]
+ comp [tooltip="Compositor", label=<>, URL="#comp"]
+ }
+
+ impl [tooltip="KMS evdev Kernel", label=<>, URL="#impl"]
+
+ c1 -> xserver [taillabel="③", labeldistance=2, URL="#step_3"];
+ c2 -> xserver;
+ c3 -> xserver;
+
+ xserver -> c1 [taillabel="②", labeldistance=2, URL="#step_2"];
+ xserver -> c2;
+ xserver -> c3;
+
+ xserver -> impl [taillabel="⑥", labeldistance=1.75, URL="#step_6"];
+ xserver -> impl [style=invis, label=" "];
+ impl -> xserver [taillabel="①", labeldistance=1.75, URL="#step_1"];
+
+ xserver -> comp [style=invis];
+ xserver -> comp [taillabel="④", labeldistance=1.75, labelangle=-45, URL="#step_4"];
+ comp -> xserver [taillabel="⑤", URL="#step_5"];
+ comp -> xserver [style=invis]
+
+ c1 -> c2 [style=invis];
+ c3 -> c2 [style=invis];
+ }
diff --git a/doc/book/src/images/x-architecture.png b/doc/book/src/images/x-architecture.png
new file mode 100644
index 00000000..549e262d
Binary files /dev/null and b/doc/book/src/images/x-architecture.png differ
diff --git a/doc/book/src/images/xwayland-architecture.png b/doc/book/src/images/xwayland-architecture.png
new file mode 100644
index 00000000..f24dc183
Binary files /dev/null and b/doc/book/src/images/xwayland-architecture.png differ