Update camera paths docs and add page on scripting - #60
Conversation
…elopment. Add development to both pages
There was a problem hiding this comment.
🟡 Changes recommended
There are multiple spelling/grammar issues and at least one broken intra-doc link that should be corrected before merging.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR refreshes the existing camera-path documentation to be clearer and more current, and adds a new documentation page describing how to control camera paths via the scripting API.
Changes:
- Reworks the camera paths page structure (fly-to options, aborting, caveats, settings, and path type explanations).
- Adds a new “Creating Camera Paths Using Scripting” page with Lua examples for
openspace.navigation.*andopenspace.pathnavigation.createPath. - Adds a toctree entry to surface the new scripting page from the camera paths docs.
File summaries
| File | Description |
|---|---|
| using-openspace/navigation/camera-paths.md | Updates and reorganizes camera path documentation; adds scripting section linking to the new page. |
| using-openspace/navigation/camera-paths-scripting.md | New page documenting scripting API usage for camera paths with examples and links to the reference. |
Review details
Suppressed comments (5)
using-openspace/navigation/camera-paths.md:38
- Typo: "gerenated" should be "generated".
The settings for the gerenated camera paths can be found in the settings menu under {menuselection}`Navigation handler --> Path Navigator`. Some useful settings are:
using-openspace/navigation/camera-paths.md:47
- Typo: "unconfortable" should be "uncomfortable" (also add commas around "however" for readability).
| {menuselection}`Include roll` | If false, any roll is removed from the rotation interpolation. This is disabled by default as it might introduce fast rotations that are unconfortable for a viewer. You might however want to enable this if you need the camera to have a specific orientation at the end of the path, such as when flying to a navigation state. |
using-openspace/navigation/camera-paths.md:88
- Capitalization: "Github" should be "GitHub".
If you encounter any issues, or have ideas for improvement, please report them on Github or contact the OpenSpace team.
using-openspace/navigation/camera-paths-scripting.md:46
- Grammar: "possible to some specify" should be "possible to specify" (and the sentence should end with a period).
For all of these, it is also possible to some specify additional parameters such as the duration of the path and the up-direction of the target node. Below are some examples
using-openspace/navigation/camera-paths-scripting.md:157
- Capitalization: "Github" should be "GitHub".
If you encounter any issues, or have ideas for improvement, please report them on Github or contact the OpenSpace team.
- Files reviewed: 2/3 changed files
- Comments generated: 8
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
| ::: | ||
|
|
||
| ## Fly to a Target | ||
| To fly to a target using the scripting API, you can use the `openspace.navigation.flyTo` function. This function takes a single parameter, which is the name of the target node in the scene graph. The target node must have a valid bounding sphere for the fly-to to work correctly. |
There was a problem hiding this comment.
Some slightly other language for the bounding sphere? Could we use the "Is Focussable" as a good standin for the things that have a bounding sphere? Thinking some text like:
For the fly-to to work correctly, the target node must have a valid size; if an object is focussable in the user interface is a good indicator whether that size has been set.
There was a problem hiding this comment.
Sounds good to me :)
| -- Fly to a target node using the up-direction of the target node computing the | ||
| -- target orientation at the end of the path |
There was a problem hiding this comment.
Is there a specific reason for the manual line break? I'd have guessed that the text will be broken correctly when rendering the doc?
Co-authored-by: Alexander Bock <mail@alexanderbock.eu>

Update the page about camera paths to make it a bit more up to date and easier to read, and add a page about how to do camera paths using scripting.
The latter has been a TODO on my side for a while... 4 years can still be considered "soon", right? ;) 😅
Considering how many users have started playing with the camera paths by now, it felt like a good time to make sure we have this docs.