Add in-app project and Lua documentation browsers #24

Closed
opened 2026-07-18 20:48:48 +00:00 by hugo · 1 comment
Owner

Goal

Replace the Documentation and API Documentation placeholders with read-only, navigable documentation inside RuDS.

Current state

  • Translation QA is implemented.
  • Documentation and API Documentation tabs route to placeholders.
  • specs/editor_misc.allium defines DocumentationSurface.
  • Issue #12 owns the core Lua host API and generated documentation artifacts.

Required behavior

  • Open the active project's DOCUMENTATION.md in the Documentation tab, with a clear localized empty/missing state.
  • Open the generated Lua API reference and examples in the API Documentation tab.
  • Render safe GFM-style Markdown with headings, links, code blocks, tables, and in-document navigation needed by the supplied documents.
  • Keep documents read-only and reload when the underlying source changes or the user explicitly refreshes.
  • Open external links through the existing confirmed external-link path; do not execute embedded HTML, CSS, or JavaScript.
  • Preserve tab/session behavior and project switching rules from the existing workspace.

Implementation notes

  • Read docs/UI_STYLE_GUIDE.md before UI work.
  • Reuse an existing safe Markdown renderer/webview path; do not build a documentation framework.
  • Consume generated artifacts from issue #12 rather than maintaining a second Lua method inventory.
  • Add no CDN assets.
  • Follow red/green TDD.

Acceptance criteria

  • Existing, missing, malformed, refreshed, and project-switched document states are tested.
  • The Lua API browser displays the generated reference and examples without duplicating their source data.
  • External links use the existing confirmation behavior.
  • Raw script/HTML content cannot execute.
  • Both workspace placeholders are gone and all states are localized.
  • cargo fmt --all -- --check, cargo build --workspace, and cargo test --workspace pass.
## Goal Replace the Documentation and API Documentation placeholders with read-only, navigable documentation inside RuDS. ## Current state - Translation QA is implemented. - Documentation and API Documentation tabs route to placeholders. - specs/editor_misc.allium defines DocumentationSurface. - Issue #12 owns the core Lua host API and generated documentation artifacts. ## Required behavior - Open the active project's DOCUMENTATION.md in the Documentation tab, with a clear localized empty/missing state. - Open the generated Lua API reference and examples in the API Documentation tab. - Render safe GFM-style Markdown with headings, links, code blocks, tables, and in-document navigation needed by the supplied documents. - Keep documents read-only and reload when the underlying source changes or the user explicitly refreshes. - Open external links through the existing confirmed external-link path; do not execute embedded HTML, CSS, or JavaScript. - Preserve tab/session behavior and project switching rules from the existing workspace. ## Implementation notes - Read docs/UI_STYLE_GUIDE.md before UI work. - Reuse an existing safe Markdown renderer/webview path; do not build a documentation framework. - Consume generated artifacts from issue #12 rather than maintaining a second Lua method inventory. - Add no CDN assets. - Follow red/green TDD. ## Acceptance criteria - Existing, missing, malformed, refreshed, and project-switched document states are tested. - The Lua API browser displays the generated reference and examples without duplicating their source data. - External links use the existing confirmation behavior. - Raw script/HTML content cannot execute. - Both workspace placeholders are gone and all states are localized. - cargo fmt --all -- --check, cargo build --workspace, and cargo test --workspace pass.
hugo added the enhancement label 2026-07-18 20:48:48 +00:00
Author
Owner

Implemented in 7d20139. Replaced both placeholders with localized read-only native documentation browsers; bundled the global RuDS user guide; rendered the generated Lua API reference, public types, and runnable examples directly from issue #12 artifacts; added safe headings, lists, code blocks, tables, document anchors, guide-to-API navigation, explicit/file-change refresh, stale-load protection, external-link confirmation, and raw HTML/CSS/JS isolation; added the native Help menu action and script intercept. Neutral review against issue #24, bDS2, and Allium confirmed the guide is global and remains loaded across project switches. Verified with packaged macOS visual QA, allium check specs, cargo fmt --all -- --check, cargo clippy --workspace --all-targets -- -D warnings, cargo build --workspace, and cargo test --workspace.

Implemented in 7d20139. Replaced both placeholders with localized read-only native documentation browsers; bundled the global RuDS user guide; rendered the generated Lua API reference, public types, and runnable examples directly from issue #12 artifacts; added safe headings, lists, code blocks, tables, document anchors, guide-to-API navigation, explicit/file-change refresh, stale-load protection, external-link confirmation, and raw HTML/CSS/JS isolation; added the native Help menu action and script intercept. Neutral review against issue #24, bDS2, and Allium confirmed the guide is global and remains loaded across project switches. Verified with packaged macOS visual QA, allium check specs, cargo fmt --all -- --check, cargo clippy --workspace --all-targets -- -D warnings, cargo build --workspace, and cargo test --workspace.
hugo closed this issue 2026-07-19 16:59:06 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: hugo/RuDS#24