markstream-vue 1.0.0-rc.0 → 1.0.1-beta.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
@@ -28,7 +28,7 @@ Looking for other frameworks?
28
28
 
29
29
  Experimental surfaces are the cross-framework adapters, repository skills/prompts, low-level worker entrypoints beyond documented clients, and internal performance/debug props such as `indexKey`, `renderAsFragment`, `debugPerformance`, batch budget internals, and height-estimation experiments.
30
30
 
31
- For the full release contract and Go / No-Go checklist, see [1.0 Release Readiness](./docs/guide/release-1-0.md).
31
+ For the full release contract and Go / No-Go checklist, see [1.0 Release Readiness](./docs/guide/release-1-0.md). For reproducible performance evidence, run `pnpm benchmark:1.0` and use the generated [1.0 Benchmark Report](./docs/guide/benchmark-1-0.md).
32
32
 
33
33
  ## Contents
34
34
 
@@ -81,6 +81,8 @@ For the full release contract and Go / No-Go checklist, see [1.0 Release Readine
81
81
  - Playground (interactive demo): https://markstream-vue.simonhe.me/
82
82
  - Interactive test page (shareable links, easy reproduction): https://markstream-vue.simonhe.me/test
83
83
  - Docs: https://markstream-vue-docs.simonhe.me/guide/
84
+ - Showcase: https://markstream-vue-docs.simonhe.me/guide/showcase
85
+ - 1.0 benchmark report: run `pnpm benchmark:1.0`
84
86
  - AI/LLM context (project map): https://markstream-vue-docs.simonhe.me/llms
85
87
  - AI/LLM context (中文): https://markstream-vue-docs.simonhe.me/llms.zh-CN
86
88
  - One-click StackBlitz demo: https://stackblitz.com/github/Simon-He95/markstream-vue?file=playground/src/App.vue
@@ -316,6 +318,14 @@ const nodes = parseMarkdownToStructure('# Hello\n\nThis is parsed once', md)
316
318
  // send `nodes` JSON to the client
317
319
  ```
318
320
 
321
+ > Warning: `parseMarkdownToStructure` defaults to `streamParse: 'auto'`: compatible `md` instances use `md.stream.parse` for non-final top-level parses and retain the latest source/token cache. Final one-shot parses use the regular parser unless you pass `{ streamParse: true }`; pass `{ streamParse: false }` to opt out. If you reuse one `md` instance for unrelated one-shot documents, pass `{ final: true }` or `{ streamParse: false }`.
322
+
323
+ ```ts
324
+ const nodes = parseMarkdownToStructure(source, md, { final: true })
325
+ ```
326
+
327
+ When `MarkdownRender` parses its own `content`, it intentionally defaults `parseOptions.streamParse` to `true` so streaming parses use `md.stream.parse`. When `final` changes, the renderer invalidates the stream cache and reparses with final semantics to avoid stale loading or unclosed-token state. Pass `:parse-options="{ streamParse: 'auto' }"` to keep final content parses on the regular parser, or `false` to opt out entirely.
328
+
319
329
  ```vue
320
330
  <!-- client -->
321
331
  <MarkdownRender :nodes="nodesFromServer" />
@@ -438,17 +448,19 @@ Parse hooks example (match server + client):
438
448
 
439
449
  - Latest: [Releases](https://github.com/Simon-He95/markstream-vue/releases) — see highlights and upgrade notes.
440
450
  - Full history: [CHANGELOG.md](./CHANGELOG.md)
441
- - Recent highlights (0.0.3-beta.1/beta.0):
442
- - Parser bumped to `stream-markdown-parser@0.0.36` for parsing fixes.
443
- - Monaco upgrades with more languages/themes + diff-friendly code block tweaks.
444
- - HTML/SVG preview dialog and AST debug view in the playground.
451
+ - 1.0 launch notes:
452
+ - Stable Vue 3 renderer API, SSR imports, CSS exports, Tailwind export, worker client exports, and safe HTML defaults.
453
+ - `markstream-vue@1.0.0`, `markstream-core@1.0.0`, and `stream-markdown-parser@1.0.0` ship together.
454
+ - Public benchmark report: run `pnpm benchmark:1.0` or use the `1.0 Benchmark` workflow artifact.
455
+ - Migration guide: [Migrating to 1.0](./docs/guide/migration-1-0.md).
445
456
 
446
457
  ## 🧭 Showcase & examples
447
458
 
448
459
  Build something with markstream-vue? Open a PR to add it here (include a link + 1 screenshot/GIF). Ideal fits: AI/chat UIs, streaming docs, diff/code-review panes, or Markdown-driven pages with embedded Vue components.
449
460
 
450
461
  - **FlowNote** — streaming Markdown note app demo (SSE + virtual window) — https://markstream-vue.simonhe.me/
451
- - **AI Chat surface** — playground “test” page showing incremental batches + share links — https://markstream-vue.simonhe.me/test
462
+ - **Diagnostic Studio** — shareable repro links, render-mode switching, diff/thinking/stress samples, annotations, PDF export — https://markstream-vue.simonhe.me/test
463
+ - **1.0 Showcase guide** — launch-ready demo matrix for chat, long docs, code review, diagrams, custom components, and safe HTML — https://markstream-vue-docs.simonhe.me/guide/showcase
452
464
 
453
465
  ## 📺 Introduction Video
454
466
 
package/README.zh-CN.md CHANGED
@@ -74,6 +74,8 @@
74
74
  - Playground(交互演示): https://markstream-vue.simonhe.me/
75
75
  - 交互测试页(可分享链接,便于复现): https://markstream-vue.simonhe.me/test
76
76
  - 文档: https://markstream-vue-docs.simonhe.me/zh/guide/
77
+ - Showcase: https://markstream-vue-docs.simonhe.me/zh/guide/showcase
78
+ - 1.0 benchmark 报告:`pnpm benchmark:1.0`
77
79
  - AI/LLM 项目索引(中文): https://markstream-vue-docs.simonhe.me/llms.zh-CN
78
80
  - AI/LLM 项目索引(英文): https://markstream-vue-docs.simonhe.me/llms
79
81
  - 一键 StackBlitz 体验: https://stackblitz.com/github/Simon-He95/markstream-vue?file=playground/src/App.vue
@@ -308,6 +310,8 @@ const nodes = parseMarkdownToStructure('# Hello\n\n服务端解析一次', md)
308
310
  // 将 nodes JSON 下发到客户端
309
311
  ```
310
312
 
313
+ > 注意:`parseMarkdownToStructure` 默认是 `streamParse: 'auto'`:兼容的 `md` 实例会在非 final 顶层解析时使用 `md.stream.parse`,并保留最近一次 source/token cache。final 一次性解析默认走普通 parser;需要强制 stream 时传 `{ streamParse: true }`,需要关闭时传 `{ streamParse: false }`。如果复用同一个 `md` 解析互不相关的一次性文档,请传 `{ final: true }` 或 `{ streamParse: false }`。
314
+
311
315
  ```vue
312
316
  <!-- client -->
313
317
  <MarkdownRender :nodes="nodesFromServer" />