gfxreconstruct icon indicating copy to clipboard operation
gfxreconstruct copied to clipboard

docs: Add an overview of block definitions

Open ncesario-lunarg opened this issue 1 month ago • 19 comments

Adds a markdown file containing a high level overview of blocks along with generated block definitions for reference.

ncesario-lunarg avatar Oct 31 '25 18:10 ncesario-lunarg

CI gfxreconstruct build queued with queue ID 568678.

ci-tester-lunarg avatar Oct 31 '25 18:10 ci-tester-lunarg

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Oct 31 '25 18:10 CLAassistant

CI gfxreconstruct build # 8097 running.

ci-tester-lunarg avatar Oct 31 '25 18:10 ci-tester-lunarg

CI gfxreconstruct build # 8097 passed.

ci-tester-lunarg avatar Oct 31 '25 19:10 ci-tester-lunarg

I think it's a little hard to read in it's current state:

Maybe hand-modify the tables to get rid of tables in tables.

image

Instead, merge the sub-tables into columns with the main table:

Name Block Type Payload/Variants
Name Type Count Details
FunctionCall kFunctionCallBlock api_call_id APICallId 1
thread_id u64 1 Uniquely identifies the thread that made the API call.
parameter_buffer compressible_bytes 1 A sequence of bytes containing the serialized parameters for the API call.

OR, you could also just pull out the payload/variant tables into separate areas and just reference them from each block.

My concern is right now it's very hard to read.

MarkY-LunarG avatar Nov 01 '25 17:11 MarkY-LunarG

I agree it's not very readable and I don't have a good grasp on a solution to make it more "digestable," so I'll give this a try.

For the "separating payloads out" approach, are you thinking a table with block names that references another table of payloads?

Another possibility is to have each block be a subsection (see example below), but again I'm not sure if that's any clearer.

Blocks

FunctionCall (kFunctionCallBlock)

Record of a function called in the application.

Payload
Field name Type Count Details
api_call_id APICallId 1
thread_id u64 1 Uniquely identifies the thread that made the API call.
parameter_buffer compressible_bytes 1 A sequence of bytes containing the serialized parameters for the API call.

MethodCall (kMethodCallBlock)

Record of a function call that was invoked on a specific object.

Payload
Field name Type Count Details
api_call_id APICallId 1
object_id u64 1 Handle to the object this function call was invoked on.
thread_id u64 1 Uniquely identifies the thread that made the API call.
parameter_buffer compressible_bytes 1 A sequence of bytes containing the serialized parameters for the API call.

ncesario-lunarg avatar Nov 03 '25 17:11 ncesario-lunarg

For the "separating payloads out" approach, are you thinking a table with block names that references another table of payloads?

Anything like that. I was thinking along the lines of either that or something else. Although you may have better ideas.

MarkY-LunarG avatar Nov 03 '25 22:11 MarkY-LunarG

CI gfxreconstruct build queued with queue ID 570998.

ci-tester-lunarg avatar Nov 04 '25 18:11 ci-tester-lunarg

CI gfxreconstruct build # 8111 running.

ci-tester-lunarg avatar Nov 04 '25 18:11 ci-tester-lunarg

CI gfxreconstruct build # 8111 passed.

ci-tester-lunarg avatar Nov 04 '25 19:11 ci-tester-lunarg

CI gfxreconstruct build queued with queue ID 571115.

ci-tester-lunarg avatar Nov 04 '25 22:11 ci-tester-lunarg

CI gfxreconstruct build # 8113 running.

ci-tester-lunarg avatar Nov 04 '25 22:11 ci-tester-lunarg

CI gfxreconstruct build # 8113 passed.

ci-tester-lunarg avatar Nov 04 '25 22:11 ci-tester-lunarg

CI gfxreconstruct build queued with queue ID 571300.

ci-tester-lunarg avatar Nov 05 '25 06:11 ci-tester-lunarg

CI gfxreconstruct build # 8115 running.

ci-tester-lunarg avatar Nov 05 '25 06:11 ci-tester-lunarg

CI gfxreconstruct build # 8115 failed.

ci-tester-lunarg avatar Nov 05 '25 07:11 ci-tester-lunarg

CI gfxreconstruct build queued with queue ID 578712.

ci-tester-lunarg avatar Nov 14 '25 18:11 ci-tester-lunarg

CI gfxreconstruct build # 8209 running.

ci-tester-lunarg avatar Nov 14 '25 20:11 ci-tester-lunarg

CI gfxreconstruct build # 8209 passed.

ci-tester-lunarg avatar Nov 14 '25 20:11 ci-tester-lunarg

CI gfxreconstruct build queued with queue ID 587990.

ci-tester-lunarg avatar Nov 26 '25 17:11 ci-tester-lunarg

CI gfxreconstruct build # 8279 running.

ci-tester-lunarg avatar Nov 26 '25 17:11 ci-tester-lunarg

CI gfxreconstruct build # 8279 passed.

ci-tester-lunarg avatar Nov 26 '25 17:11 ci-tester-lunarg