Skip to content

Latest commit

 

History

History

render-fidelity-tools

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Render fidelity tools

This package contains tools and testing processes that enable the <model-viewer> project to ensure high-fidelity 3D model rendering.

If you are looking for the <model-viewer> web component, please refer to the <model-viewer> package and also the live docs and examples on modelviewer.dev.

Development

To get started, follow the instructions in the main README.md file.

In order to run npm run render-goldens, you must have imagemagick installed.

On macOS, you can install imagemagick with homebrew: brew install imagemagick

On Debian/Ubuntu/Pop!_OS you can install imagemagick with apt: sudo apt install imagemagick

The following commands are available when developing modelviewer.dev:

Command Description
npm run build Build artifacts required to run testing and review tools
npm run clean Deletes all build artifacts
npm run test Run a render fidelity check comparing <model-viewer> to other renderers
npm run render-goldens Render the "golden" images for all renderers

Fidelity Test CLI

For npm run test, we support these command line options:

Command Default Description
-c, --config Path to configuration json.
-s, --scenario Limit to specific scenarios. This now also allows you to specify multiple scenarios in the whitelist. You can use a full name or a partial name of scenarios and it will match against all that contain that scenario substring.
-p, --port 9040 Port for web server.
-d, --dry-run false Lists which images would be rendered but doesn't render. Useful when trying to figure out which tests will run given that command line.
-q, --quiet false Hide the puppeteer controlled browser. This can allow you to work on the computer while it is running in the background.

To run a subset of scenarios do something like this:

% npm run test -- --scenario=texture --quiet

NOTE: In the above example, the -- is required to separate the arguments to npm run test from the arguments to the script itself.

After running npm run test, you can look at the results by starting a local web server (e.g. npx http-server) in this folder, then opening test/results-viewer.html in a browser.

Render Goldens CLI

For npm run render-goldens, we support these command line options:

Command Default Description
-c, --config Path to configuration json.
-s, --scenario Limit to specific scenarios. This now also allows you to specify multiple scenarios in the whitelist. You can use a full name or a partial name of scenarios and it will match against all that contain that scenario substring.
-p, --port 9040 Port for web server.
-m, --missing-only false Only render if an output image is missing. Very useful when adding new tests.
-d, --dry-run false Lists which images would be rendered but doesn't render. Useful when trying to figure out which tests will run given that command line.
-q, --quiet false Hide the puppeteer controlled browser. This can allow you to work on the computer while it is running in the background.

To run a subset of renders or scenarios do something like this:

% npm run render-goldens -- --scenario=clearcoat -q 

NOTE: In the above example, the -- is required to separate the arguments to npm run render-goldens from the arguments to the script itself.