dsh-plugin-lookatstudy 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,10 +6,10 @@ Turn any markdown document, local folder, or GitHub learning repository into a g
6
6
 
7
7
  | | |
8
8
  |---|---|
9
- | ![Three-column study panel: balloon course map, tutor chat, blackboard](docs/media/overview.png) | **The 学习 panel** — LookatStudy's Duolingo-dark UI 1:1: the floating XP/streak app header, the three-column surface ladder (rail / chat / notebook, depth by color step), 3D push-down buttons, and the chat's typing dots; opened from the sidebar's 学习 row. |
10
- | ![Lesson page with rendered math, code and diagrams](docs/media/blackboard-lesson.png) | **讲解** — server-sanitized markdown rendered rich on demand: KaTeX formulas, syntax-highlighted code, mermaid diagrams (CDN loaders, silent degrade offline). |
11
- | ![Concept map view](docs/media/concept-map.png) | **🕸 概念图** — the lesson's knowledge components laid out as a draw.io-style concept graph (bundled ELK layout, no external service). |
12
- | ![Course rail with the balloon map](docs/media/course-rail.png) | **课程栏** — the balloon course map: frosted gold-rim signposts, state spheres (stone-locked / glowing green / blue in-progress / gold mastered / purple exam boss), sagging brand ropes that draw themselves in as you walk them, sky backdrop, due badges; signposts still collapse. |
9
+ | ![Three-column study panel: balloon course map, tutor chat, blackboard](docs/media/overview.png)<br>![Same panel in light theme](docs/media/overview-light.png) | **The 学习 panel** — LookatStudy's UI 1:1 in **both themes** (the panel follows the host's dark/light switch live): the floating XP/streak app header, the three-column surface ladder (rail / chat / notebook, depth by color step), 3D push-down buttons, and the chat's typing dots; opened from the sidebar's 学习 row. |
10
+ | ![Lesson page with rendered math, code and diagrams](docs/media/blackboard-lesson.png)<br>![Lesson page, light theme](docs/media/blackboard-lesson-light.png) | **讲解** — server-sanitized markdown rendered rich on demand: KaTeX formulas, syntax-highlighted code (shared copy-to-clipboard blocks), mermaid diagrams with a zoomable canvas stage (CDN loaders, silent degrade offline). |
11
+ | ![Concept map view](docs/media/concept-map.png)<br>![Concept map, light theme](docs/media/concept-map-light.png) | **🕸 概念图** — the lesson's knowledge components laid out as a draw.io-style concept graph (bundled ELK layout, no external service). |
12
+ | ![Course rail with the balloon map](docs/media/course-rail.png)<br>![Course rail, light theme](docs/media/course-rail-light.png) | **课程栏** — the balloon course map: frosted gold-rim signposts, state spheres (stone-locked / glowing green / blue in-progress / gold mastered / purple exam boss), sagging brand ropes that draw themselves in as you walk them, seasonal sky + weather canvas, due badges; the map is a live physics playground (drag a ball, it swings back on its rope). |
13
13
 
14
14
  ## Install
15
15
 
@@ -32,7 +32,7 @@ Works with any profile. In the `web` profile the plugin additionally serves the
32
32
  - **Learner memory** — three slots (global style / per-course pattern / per-lesson gap), read-merge-write (`study_remember`).
33
33
  - A dynamic **learner snapshot** (focus, strategy band, weak concepts, friction, memory, due count, pending proposal) is injected as runtime context every turn.
34
34
 
35
- **2. The study panel (`dsh.client`).** A 「学习」 row in the dsh sidebar (below 新会话, alongside other plugin entries) opens a full-takeover panel arranged like upstream LookatStudy's own app — three columns styled entirely with dsh's `--dsw-*` tokens; closing it (or navigating to any session) hands the center column straight back to the host:
35
+ **2. The study panel (`dsh.client`).** A 「学习」 row in the dsh sidebar (below 新会话, alongside other plugin entries) opens a full-takeover panel arranged like upstream LookatStudy's own app — three columns wearing the upstream v0.28 skin (LookatStudy's verbatim token ladder under `.lks-ui`, riding the host's `--dsw-*` tokens for host-chrome surfaces) and following the host's dark/light theme live; closing it (or navigating to any session) hands the center column straight back to the host:
36
36
 
37
37
  | Column | What you get |
38
38
  |---|---|
@@ -42,6 +42,8 @@ Works with any profile. In the `web` profile the plugin additionally serves the
42
42
 
43
43
  Clicking a lesson in the rail only FOCUSES it — progress updates, the blackboard switches, zero model traffic (upstream's exact interaction). The tutor engages only when you send. Every course-tree glyph, tag, and mastery bar carries a hover tooltip explaining its meaning.
44
44
 
45
+ **The 0.16–0.18 alignment round** brought the rest of upstream's surface 1:1: the physics map (vendored matter-js + upstream's island solver — draggable balls, rope-chain swings, snow/wind weather channels, FPS-guarded with a reduced-motion static path), celebration particles anchored to the card/ball that earned them, exam-v2's five-state flow (generating → ready → answering with a per-question timer + KC chips → star settlement with KC breakdown and review → retry; a leave guard intercepts mid-exam navigation), in-stream artifact cards you can answer inline, a tabbed import pane with an installer-style progress screen, selection-to-note anchors with 回到原文 locate, the review surface, full-text search with world switching, the companion creature, ErrorBoundary-guarded markdown with shared copyable code blocks, per-message read-aloud with sentence karaoke (n/total), attachments (paperclip/paste → study workspace → the tutor cites them), a context meter + model chip on the composer, Cmd+K lesson palette, a thread switcher for open lesson threads, A−/A+ zoom tiers, and the C1 scroll contract (sticky follow, back-to-bottom FAB with the streaming pulse, stop button mid-turn).
46
+
45
47
  All study state comes from one shared 3 s poll over `/lookatstudy/api/state`. The host is exactly the conversation-model + agent-turn engine; the panel owns the UI, the host owns the loop.
46
48
 
47
49
  ## dsh-native surfaces