Update rdl2_json_exporter to include node outputs

Open
#299 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
58/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
cpp, json
Domain
tooling

Research direction

Start with cmd/rdl2_cmd/rdl2_json_exporter and inspect how the exporter writes the existing attributes record and names its attribute types. Add output records containing the name, type, zero-based order, and uniform flag as described, then check the generated JSON and how its consumers handle unrecognized records.

Written by the indexing model from the issue text.

Description

scene_rdl2: cmd/rdl2_cmd/rdl2_json_exporter needs to be updated to export information about outputs. The information will include name, type, position in the order, and whether the output is uniform or not.

Some Implementation Thoughts
  • add an "outputs" record which is a peer to "attributes"
  • add a record for each output name
  • in each record have
    "attrType" - using the same type names as in attributes. The "attr" prefix isn't quite perfect for an output but matching the naming in the "attributes" records to clarify they are the same seems valuable
    "uniform" - a boolean value to indicate whether the output is uniform or not. This could default to false and be left out for false.
    "order" - a positive integer to indicate the 0 based numbering of the output. The order is important so the output record of an evaluation can be properly interpreted.
Question

Will users of the json generated by rdl2_json_exporter be able to ignore the extra "outputs" record until they're updated to use the new record or will they error on the unrecognized record name?

Dominant language
CMake
Stars
4.7k
Forks
321
Avg merge
13m
Merged PRs (30d)
3

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from OpenMoonRay/openmoonray

All issues in OpenMoonRay/openmoonray

Similar issues

More DevTools issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.