diff --git a/_config.yml b/_config.yml
index dfa4cde6e8..0e27ad0d93 100644
--- a/_config.yml
+++ b/_config.yml
@@ -134,39 +134,46 @@ defaults:
-
scope:
- path: "doc/user/COLOR_MAPS.md"
+ path: "doc/user/PARSING.md"
values:
parent: User Documentation
nav_order: 8
-
scope:
- path: "doc/user/FINAL_SHADER.md"
+ path: "doc/user/COLOR_MAPS.md"
values:
parent: User Documentation
nav_order: 9
-
scope:
- path: "doc/user/DESKTOP_INTEGRATION.md"
+ path: "doc/user/FINAL_SHADER.md"
values:
parent: User Documentation
nav_order: 10
-
scope:
- path: "doc/user/PLUGINS.md"
+ path: "doc/user/DESKTOP_INTEGRATION.md"
values:
parent: User Documentation
nav_order: 11
+ -
+ scope:
+ path: "doc/user/PLUGINS.md"
+ values:
+ parent: User Documentation
+ nav_order: 12
+
-
scope:
path: "doc/user/LIMITATIONS_AND_TROUBLESHOOTING.md"
values:
title: Limitations and Troubleshooting
parent: User Documentation
- nav_order: 12
+ nav_order: 13
# libf3d doc
-
diff --git a/doc/libf3d/OPTIONS.md b/doc/libf3d/OPTIONS.md
index 3e04f64476..3da4b753ec 100644
--- a/doc/libf3d/OPTIONS.md
+++ b/doc/libf3d/OPTIONS.md
@@ -24,7 +24,7 @@ Option|Type Default Trigger|Description|F3D option
:---:|:---:|:---|:---:
scene.animation.autoplay|bool false load|Automatically start animation.|\-\-animation-autoplay
scene.animation.index|int 0 load|Select the animation to load. Any negative value means all animations (glTF only). The default scene always has at most one animation.|\-\-animation-index
-scene.animation.speed_factor|double 1 render|Set the animation speed factor to slow, speed up or even invert animation.|\-\-animation-speed-factor
+scene.animation.speed_factor|ratio 1 render|Set the animation speed factor to slow, speed up or even invert animation.|\-\-animation-speed-factor
scene.animation.time|double optional load|Set the animation time to load.|\-\-animation-time
scene.camera.index|int optional load|Select the scene camera to use when available in the file. The default scene always uses automatic camera.|\-\-camera-index
scene.up_direction|string +Y load|Define the Up direction. It impacts the grid, the axis, the HDRI and the camera.|\-\-up
@@ -148,7 +148,7 @@ It's even more true with the few optional boolean options as std::optional has a
## String API
The most generic and flexible API, as it rely on parsing and string generation.
-The documentation about option parsing is upcoming.
+See the [parsing documentation](../user/PARSING.md) for more details.
```cpp
f3d::engine eng = f3d::engine::create();
diff --git a/doc/user/COMMANDS.md b/doc/user/COMMANDS.md
index 2f237f0c63..d3942a6324 100644
--- a/doc/user/COMMANDS.md
+++ b/doc/user/COMMANDS.md
@@ -111,3 +111,4 @@ Command syntax is similar to bash, as in they will be split by "token" to be pro
- Other escaped character will be processed as if the escape was not present, eg: `set scene.up.direction +\Z`
- Unfinished quoted section is invalid, eg: `set scene.up.direction "+Z`
- A escape at the end is also invalid, eg: `set scene.up.direction +Z\`
+ - Options values are [parsed](PARSING.md) according to their types.
diff --git a/doc/user/OPTIONS.md b/doc/user/OPTIONS.md
index 15cc4be8ee..3d34fd8b47 100644
--- a/doc/user/OPTIONS.md
+++ b/doc/user/OPTIONS.md
@@ -6,141 +6,141 @@ F3D behavior can be fully controlled from the command line using the following o
## Application Options
-Options|Default|Description
+Options|Type Default|Description
------|------|------
-\-\-input=\||The input file or files to read, can also be provided as a positional argument.
-\-\-output=\||Instead of showing a render view and render into it, *render directly into a png file*. When used with \-\-ref option, only outputs on failure. If `-` is specified instead of a filename, the PNG file is streamed to the stdout. Can use [template variables](#filename-templating).
-\-\-no-background||Use with \-\-output to output a png file with a transparent background.
+\-\-input=\|string -|The input file or files to read, can also be provided as a positional argument.
+\-\-output=\|string -|Instead of showing a render view and render into it, *render directly into a png file*. When used with \-\-ref option, only outputs on failure. If `-` is specified instead of a filename, the PNG file is streamed to the stdout. Can use [template variables](#filename-templating).
+\-\-no-background|bool false|Use with \-\-output to output a png file with a transparent background.
-h, \-\-help||Print *help* and exit. Ignore `--verbose`.
\-\-version||Show *version* information and exit. Ignore `--verbose`.
\-\-readers-list||List available *readers* and exit. Ignore `--verbose`.
-\-\-config=\|config|Specify the [configuration file](CONFIGURATION_FILE.md) to use. Supports absolute/relative path but also filename/filestem to search for in standard configuration file locations.
-\-\-dry-run||Do not read any configuration file and consider only the command line options.
-\-\-no-render||Do not render anything and quit just after loading the first file, use with \-\-verbose to recover information about a file.
-\-\-max-size=\||Prevent F3D to load a file bigger than the provided size in Mib, leave empty for unlimited, useful for thumbnails.
-\-\-watch||Watch current file and automatically reload it whenever it is modified on disk.
-\-\-frame-rate=\|30.0|Frame rate used to refresh animation and other repeated tasks (watch, UI). Does not impact rendering frame rate.
-\-\-load-plugins=\||List of plugins to load separated with a comma. Official plugins are `alembic`, `assimp`, `draco`, `exodus`, `occt`, `usd`, `vdb`. See [plugins](PLUGINS.md) for more info.
+\-\-config=\|string config|Specify the [configuration file](CONFIGURATION_FILE.md) to use. Supports absolute/relative path but also filename/filestem to search for in standard configuration file locations.
+\-\-dry-run|bool false|Do not read any configuration file and consider only the command line options.
+\-\-no-render|bool false|Do not render anything and quit just after loading the first file, use with \-\-verbose to recover information about a file.
+\-\-max-size=\|int -1|Prevent F3D to load a file bigger than the provided size in Mib, leave empty for unlimited, useful for thumbnails.
+\-\-watch|bool false|Watch current file and automatically reload it whenever it is modified on disk.
+\-\-frame-rate=\|double 30.0|Frame rate used to refresh animation and other repeated tasks (watch, UI). Does not impact rendering frame rate.
+\-\-load-plugins=\|string -|List of plugins to load separated with a comma. Official plugins are `alembic`, `assimp`, `draco`, `exodus`, `occt`, `usd`, `vdb`. See [plugins](PLUGINS.md) for more info.
\-\-scan-plugins||Scan standard directories for plugins and display their names, results may be incomplete. See [plugins](PLUGINS.md) for more info.
-\-\-screenshot-filename=\|`{app}/{model}_{n}.png`|Filename to save [screenshots](INTERACTIONS.md#taking-screenshots) to. Can use [template variables](#filename-templating).
-\-\-rendering-backend=\|auto|Rendering backend to load, `auto` means to let F3D pick the correct one for you depending on your system capabilities. Use `egl` or `osmesa` on linux to force headless rendering.
+\-\-screenshot-filename=\|string `{app}/{model}_{n}.png`|Filename to save [screenshots](INTERACTIONS.md#taking-screenshots) to. Can use [template variables](#filename-templating).
+\-\-rendering-backend=\|string auto|Rendering backend to load, `auto` means to let F3D pick the correct one for you depending on your system capabilities. Use `egl` or `osmesa` on linux to force headless rendering.
## General Options
-Options|Default|Description
+Options|Type Default|Description
------|------|------
-\-\-verbose=\<[debug\|info\|warning\|error\|quiet]\>|info| Set *verbose* level, in order to provide more information about the loaded data in the console output. If no level is provided, assume `debug`. Option parsing may ignore this flag.
-\-\-progress||Show a *progress bar* when loading the file.
-\-\-animation-progress||Show a *progress bar* when playing the animation.
-\-\-multi-file-mode=\||When opening multiple files, select if they should be grouped (`all`) or alone (`single`). Configuration files for all loaded files will be used in the order they are provided.
-\-\-up=\<[+\|-][X\|Y\|Z]\>|+Y|Define the Up direction.
--x, \-\-axis||Show *axes* as a trihedron in the scene.
--g, \-\-grid||Show *a grid* aligned with the horizontal (orthogonal to the Up direction) plane.
-\-\-grid\-unit=\||Set the size of the *unit square* for the grid. If set to non-positive (the default) a suitable value will be automatically computed.
-\-\-grid\-subdivisions=\||Set the number of subdivisions for the grid.
-\-\-grid\-color=\|(0,0,0)|Set the color grid lines.
--e, \-\-edges||Show the *cell edges*.
-\-\-camera-index=\||Select the scene camera to use when available in the file. Automatically computed by default.
--k, \-\-trackball||Enable trackball interaction.
-\-\-animation-autoplay||Automatically start animation.
-\-\-animation-index=\|0|Select the animation to show. Any negative value means all animations (glTF only). The default scene always has at most one animation.
-\-\-animation-speed-factor=\|1|Set the animation speed factor to slow, speed up or even invert animation time.
-\-\-animation-time=\||Set the animation time to load.
-\-\-font-file=\||Use the provided FreeType compatible font file to display text. Can be useful to display non-ASCII filenames.
-\-\-command-script=\||Provide a script file containing a list of commands to be executed sequentially. Allows automation of multiple commands or pre-defined tasks.
+\-\-verbose=\<[debug\|info\|warning\|error\|quiet]\>|string info| Set *verbose* level, in order to provide more information about the loaded data in the console output. If no level is provided, assume `debug`. Option parsing may ignore this flag.
+\-\-progress|bool false|Show a *progress bar* when loading the file.
+\-\-animation-progress|bool false|Show a *progress bar* when playing the animation.
+\-\-multi-file-mode=\|string single|When opening multiple files, select if they should be grouped (`all`) or alone (`single`). Configuration files for all loaded files will be used in the order they are provided.
+\-\-up=\<[+\|-][X\|Y\|Z]\>|string +Y|Define the Up direction.
+-x, \-\-axis|bool false|Show *axes* as a trihedron in the scene.
+-g, \-\-grid|bool false|Show *a grid* aligned with the horizontal (orthogonal to the Up direction) plane.
+\-\-grid\-unit=\|double -|Set the size of the *unit square* for the grid. If not set (the default) a suitable value will be automatically computed.
+\-\-grid\-subdivisions=\|int 10|Set the number of subdivisions for the grid.
+\-\-grid\-color=\|vector\ (0,0,0)|Set the color grid lines.
+-e, \-\-edges|bool false|Show the *cell edges*.
+\-\-camera-index=\|int -|Select the scene camera to use when available in the file. Automatically computed by default.
+-k, \-\-trackball|bool false|Enable trackball interaction.
+\-\-animation-autoplay|bool false|Automatically start animation.
+\-\-animation-index=\|int 0|Select the animation to show. Any negative value means all animations (glTF only). The default scene always has at most one animation.
+\-\-animation-speed-factor=\|ratio 1|Set the animation speed factor to slow, speed up or even invert animation time.
+\-\-animation-time=\