This was too tricky, it highlights that we definitely need refactor this
to share code with the flattener / unflattener pipeline. I'll look at
that next.
The JSON response to /api/active became malformed after #4465 because
raw hex strings need to be enclosed by quotes.
This commit changes the variant format in the /api/materials response
to be consistent with one used for /api/active. By using integers
instead of strings, we're avoiding the need to parse integers at run
time.
The JSON error did not appear in the Chrome console because it was being
silenced as a hack to appease "matinfo --web-server". I fix this by
removing the hack and simply emitting a valid response when there's
no live backend.
Also fixed the display of materials, which were always being marked
as active even when they had no active variants.
Recall that Ctrl + Up / Down navigates between materials while
Left / Right navigates between variants.
- Make this behavior more explicit in the documentation.
- Shortcuts now use the same ordering as the displayed list.
- Shortcuts now use Cmd on macOS instead of Ctrl to avoid conflict with
Mission Control defaults.
If the websocket message exceeds a certain size, we might receive it
in chunks and civetweb does not auto-consolidate for us.
Fixed this by adding a length prefix to the edit command.
matdbg
- Materials are now sorted by name and the sha id is hidden.
- PostProcess materials now separated from Surface materials.
- PostProcess details now hide the non-existing properties.
- Larger default pane size for the material list.
- Use nicer font.
matinfo
- Print out the Material Domain.
filament
- get*Slow methods in FMaterial are now private.