diff --git a/README.en.md b/README.en.md
index 09cb11a..4050420 100644
--- a/README.en.md
+++ b/README.en.md
@@ -1,7 +1,7 @@
# ClawScope
-
+
**Memory Made Visible, Evolution Enabled** · [中文](README.zh.md)
@@ -17,6 +17,12 @@ An OpenClaw memory and evolution management tool — a cross-platform desktop ap
- **Configuration Management** — Centrally manage OpenClaw node configurations and state
- **Cross-Platform** — Native desktop app for Windows / macOS / Linux
+## Architecture Overview
+
+ClawScope is a local-first desktop control plane: React renders the memory, configuration, and evolution workspaces; Tauri IPC forwards UI actions into the Rust command layer; and Rust talks to OpenClaw Gateway over WebSocket to access agents, memory, configuration, and evolution targets. Local JSON storage only keeps connection identity, endpoints, audit history, and snapshots for reconnect, traceability, and rollback.
+
+
+
## Quick Start
```bash
diff --git a/README.md b/README.md
index 09cb11a..4050420 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# ClawScope
-
+
**Memory Made Visible, Evolution Enabled** · [中文](README.zh.md)
@@ -17,6 +17,12 @@ An OpenClaw memory and evolution management tool — a cross-platform desktop ap
- **Configuration Management** — Centrally manage OpenClaw node configurations and state
- **Cross-Platform** — Native desktop app for Windows / macOS / Linux
+## Architecture Overview
+
+ClawScope is a local-first desktop control plane: React renders the memory, configuration, and evolution workspaces; Tauri IPC forwards UI actions into the Rust command layer; and Rust talks to OpenClaw Gateway over WebSocket to access agents, memory, configuration, and evolution targets. Local JSON storage only keeps connection identity, endpoints, audit history, and snapshots for reconnect, traceability, and rollback.
+
+
+
## Quick Start
```bash
diff --git a/public/images/covers/clawscope-cover-v5-animated-en.gif b/public/images/covers/clawscope-cover-v5-animated-en.gif
new file mode 100644
index 0000000..5469bcf
Binary files /dev/null and b/public/images/covers/clawscope-cover-v5-animated-en.gif differ
diff --git a/public/images/covers/clawscope-cover-v5-animated-en.webp b/public/images/covers/clawscope-cover-v5-animated-en.webp
new file mode 100644
index 0000000..4ed651e
Binary files /dev/null and b/public/images/covers/clawscope-cover-v5-animated-en.webp differ
diff --git a/public/images/covers/clawscope-cover-v5-final-en.meta.txt b/public/images/covers/clawscope-cover-v5-final-en.meta.txt
new file mode 100644
index 0000000..4176ad2
--- /dev/null
+++ b/public/images/covers/clawscope-cover-v5-final-en.meta.txt
@@ -0,0 +1,12 @@
+ClawScope README cover post-processing
+locale=en
+background=D:\Dev\claw-scope\public\images\covers\clawscope-cover-bg-v3.png
+icon=D:\Dev\claw-scope\icon-source.png
+static=D:\Dev\claw-scope\public\images\covers\clawscope-cover-v5-final-en.png
+animated_webp=D:\Dev\claw-scope\public\images\covers\clawscope-cover-v5-animated-en.webp
+animated_gif=D:\Dev\claw-scope\public\images\covers\clawscope-cover-v5-animated-en.gif
+canvas=3840x2160
+icon_display=900x900
+icon_center=(860, 1080)
+icon_policy=uniform upscale from icon-source.png, preserve silhouette/proportions/colors/transparency; no redraw or recolor
+motion_language=flowing memory currents, pulsing knowledge nodes, semantic search ripples, OpenClaw ecosystem paths, evolution diff streams
diff --git a/public/images/covers/clawscope-cover-v5-final-en.png b/public/images/covers/clawscope-cover-v5-final-en.png
new file mode 100644
index 0000000..bc7bb20
Binary files /dev/null and b/public/images/covers/clawscope-cover-v5-final-en.png differ
diff --git a/tmp/cover-restore/v5-en-frame0.png b/tmp/cover-restore/v5-en-frame0.png
new file mode 100644
index 0000000..310f32c
Binary files /dev/null and b/tmp/cover-restore/v5-en-frame0.png differ
diff --git a/tmp/imagegen/postprocess_clawscope_cover.py b/tmp/imagegen/postprocess_clawscope_cover.py
index 990ca19..d5b6cd7 100644
--- a/tmp/imagegen/postprocess_clawscope_cover.py
+++ b/tmp/imagegen/postprocess_clawscope_cover.py
@@ -14,7 +14,7 @@
OUT_DIR = ROOT / "public/images/covers"
LOCALE = os.environ.get("COVER_LOCALE", "zh").strip().lower()
IS_EN = LOCALE in {"en", "eng", "english"}
-OUTPUT_VERSION = "v4"
+OUTPUT_VERSION = os.environ.get("COVER_VERSION", "v4").strip() or "v4"
OUTPUT_SUFFIX = "-en" if IS_EN else ""
OUT_STATIC = OUT_DIR / f"clawscope-cover-{OUTPUT_VERSION}-final{OUTPUT_SUFFIX}.png"
OUT_WEBP = OUT_DIR / f"clawscope-cover-{OUTPUT_VERSION}-animated{OUTPUT_SUFFIX}.webp"
@@ -246,7 +246,7 @@ def draw_typography(base: Image.Image, scale: float) -> None:
draw = ImageDraw.Draw(base)
title_font = font(LATIN_FONT_BOLD, max(24, int(286 * scale)))
- slogan_font = font(LATIN_FONT_BOLD if IS_EN else SC_FONT, max(20, int((98 if IS_EN else 116) * scale)))
+ slogan_font = font(LATIN_FONT if IS_EN else SC_FONT, max(20, int((98 if IS_EN else 116) * scale)))
sub_font = font(LATIN_FONT if IS_EN else SC_FONT, max(12, int((60 if IS_EN else 68) * scale)))
label_font = font(LATIN_FONT_BOLD, max(10, int(42 * scale)))
@@ -280,8 +280,9 @@ def draw_typography(base: Image.Image, scale: float) -> None:
slogan = "Memory Made Visible, Evolution Enabled" if IS_EN else "记忆可见,进化可期"
sy = y + 370 * scale
slogan_color = (4, 50, 76, 255)
- # Same-color micro-offsets create weight without a visible shadow or outline.
- for dx, dy in ((0, 0), (1 * scale, 0), (0, 1 * scale), (1 * scale, 1 * scale)):
+ slogan_offsets = ((0, 0),) if IS_EN else ((0, 0), (1 * scale, 0), (0, 1 * scale), (1 * scale, 1 * scale))
+ # Chinese glyphs need slight reinforcement at README scale; English stays lighter.
+ for dx, dy in slogan_offsets:
draw.text((x + dx, sy + dy), slogan, font=slogan_font, fill=slogan_color)
sub = (