Skip to content

Add links to the live demo across the documentation - #6812

Merged
Fedr merged 5 commits into
masterfrom
feat/gen-3904-demo-links
Sep 9, 2026
Merged

Add links to the live demo across the documentation#6812
Fedr merged 5 commits into
masterfrom
feat/gen-3904-demo-links

Conversation

@DmitryLambin

Copy link
Copy Markdown
Contributor

Summary

The interactive demo at https://demo.meshlib.io/ was mentioned only twice in the documentation (both inside the JavaScript setup guide), while the README and meshlib.io lead with it. This adds the demo where evaluators actually land:

  • Sidebar: a Live Demo entry in doxygen/layout_templates/base_struct.xml, so it shows up in all six modules including the API reference (^ prefix = absolute URL for navtree.js/menu.js).
  • Main page: a "Try it live first" paragraph in Getting Started and see it live deep links on the seven Key Features that have a demo scene (#boolean, #patch, #decimate, #offset, #registration, #deform, #deviation).
  • Examples: an overview line on the hub and a ▶ See it live in the browser line (before the code tabs) on the 12 example pages that match a demo scene.
  • One line each on the Getting Started hub, the Python/C++/C#/C guides, Tutorials and Switching from Other Libraries; the JavaScript guide mentions the demo in its first paragraph (its existing section is kept).
  • API section: JavaScript added to the API hub list (it was in the sidebar but missing from the page), a note on the JavaScript landing that this is the API behind the demo, and a short main page for the JavaScript module instead of an empty one.
  • doxygen/CustomStyle.css: styles for the Live demo header button whose markup is added in MeshInspector/MeshInspector.github.io (companion PR); harmless on its own.

Wording deliberately says "watch it run in your browser" — the demo runs its built-in scenes only.

Test plan

  • Built the Main and Js modules locally with Doxygen 1.14.0 (same version as the docs CI) for this branch and for origin/master: the warning set is identical (56 / 1), no new warnings.
  • Generated navtreedata.js / menudata.js contain ["Live Demo", "^https://demo.meshlib.io/"]; in headless Chromium the sidebar and the mobile menu resolve it to https://demo.meshlib.io/.
  • All nine #scene deep links return 200 and match the scene ids in the live demo bundle.
  • Rendered pages checked in Chromium: links present, example-page line sits before the tabbed code block, header button (with the companion PR) fits the sidebar-only header on desktop, dark mode and 390px mobile.

The interactive demo at https://demo.meshlib.io/ was mentioned only
twice in the whole documentation, both times deep inside the JavaScript
setup guide, while the README and meshlib.io already lead with it.
Evaluators landing on the docs from search or an IDE had no way to see
MeshLib run before installing anything.

- Sidebar: a "Live Demo" entry in the shared layout template, so it
  appears in all six modules including the API reference. The "^"
  prefix marks the URL as absolute for navtree.js/menu.js.
- Main page: a "Try it live first" paragraph in Getting Started and
  "see it live" deep links on the seven Key Features that have a demo
  scene (#boolean, #patch, #decimate, #offset, #registration, #deform,
  #deviation).
- Examples: an overview line on the hub and a "See it live in the
  browser" line on the twelve example pages that match a demo scene.
- One line each on the Getting Started hub, the Python/C++/C#/C guides,
  Tutorials and Switching from Other Libraries; the JavaScript guide
  now mentions the demo in its first paragraph.
- API section: JavaScript added to the API hub list (it was in the
  sidebar but missing from the page), the JavaScript landing notes that
  this is the API behind the demo, and the JavaScript module gets a
  short main page instead of an empty one.
- CustomStyle.css styles the "Live demo" header button whose markup
  lives in html_header.html of MeshInspector.github.io.

The demo runs only its built-in scenes, so the wording stays "watch it
run in your browser" rather than "try it on your mesh".
Give the JavaScript module main page a title distinct from the project name (the browser title repeated it) and stop duplicating its demo sentence on the API landing. Say the demo shows these operations rather than the reader's results, since it only runs built-in scenes. Move the Python guide's demo line next to the other guides' position before Prerequisites. Pin a darker button background in the dark theme to keep the label above 4.5:1 contrast, and correct the comment explaining the header height.
@oitel oitel added the update-doc-only force update dev documentation (without any checks) label Sep 9, 2026
Comment thread doxygen/examples/Examples.dox Outdated
Comment thread doxygen/general_pages/About.dox Outdated
Comment thread doxygen/general_pages/About.dox Outdated
Comment thread doxygen/general_pages/CppSetupGuide.dox Outdated
Comment thread doxygen/APIJsPage.dox Outdated
Dmitry OpenClaw added 2 commits September 9, 2026 16:17
The demo belongs where a reader is still deciding whether to try MeshLib,
not on the desktop setup guides, and one link per page is enough: repeated
identical links and an enumerated scene list age badly and read as ad copy.
The extra JavaScript main page duplicated the API landing text, so it is gone
as well - the other API modules have no main page either.
…links

# Conflicts:
#	doxygen/examples/MeshBoolean.dox
@DmitryLambin

Copy link
Copy Markdown
Contributor Author

All five comments addressed in a46114b — see the individual replies above. Net effect: the demo is now linked from 17 pages instead of 22, with one link per page.

Also merged current master into the branch: #6817 touched the same spot in MeshBoolean.dox. The BooleanResultMapper paragraph is kept as written and the demo line sits after it, right before the code tabs.

Verified with a local Doxygen 1.14.0 build of the Main and Js modules against a build of master from the same tree: the warning sets are identical (58 in Main, 1 in Js — the missing generated bindings.d.mts), no new ones. Checked in the rendered output that the setup guides for C++/C/C#/Python now carry no in-page demo link, that About and Examples carry exactly one each, and that Js/index.html is empty again, like the other API modules.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the leaked file.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed in 685813c — both files are gone from the branch and the PR no longer shows them under Files changed. They were scratch state from my local editing tooling, swept up by a directory-wide git add; sorry about the noise. I deleted them in a follow-up commit rather than rewriting history so your approval and the review threads stay intact, and I have excluded the pattern locally so it cannot happen again on this branch.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the leaked file.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed in 685813c — both files are gone from the branch and the PR no longer shows them under Files changed. They were scratch state from my local editing tooling, swept up by a directory-wide git add; sorry about the noise. I deleted them in a follow-up commit rather than rewriting history so your approval and the review threads stay intact, and I have excluded the pattern locally so it cannot happen again on this branch.

Two scratch files from the local editing tooling were picked up by a
directory-wide `git add` and do not belong in the repository.
@Fedr
Fedr merged commit b3cdb18 into master Sep 9, 2026
24 checks passed
@Fedr
Fedr deleted the feat/gen-3904-demo-links branch September 9, 2026 16:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

update-doc-only force update dev documentation (without any checks)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants