gitextract_tbwiaigk/ ├── .gitignore ├── Cargo.toml ├── README.md ├── build.rs ├── examples/ │ ├── dataset/ │ │ ├── email_data_edge.csv │ │ ├── small_data_edge.csv │ │ ├── small_data_edge_raw.csv │ │ ├── test_data_edge.csv │ │ ├── test_data_edge_single.csv │ │ ├── test_data_node.csv │ │ └── test_data_node_very_very_long_name.csv │ └── test_file.rs ├── lib/ │ └── naga/ │ ├── .github/ │ │ └── workflows/ │ │ ├── lazy.yml │ │ ├── pipeline.yml │ │ ├── validation-linux.yml │ │ ├── validation-macos.yml │ │ └── validation-windows.yml │ ├── .gitignore │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── LICENSE-APACHE │ ├── LICENSE-MIT │ ├── Makefile │ ├── README.md │ ├── aa.metal │ ├── benches/ │ │ └── criterion.rs │ ├── cli/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ ├── debug/ │ │ ├── CS_boids.metal │ │ ├── CS_boids.spv │ │ ├── CS_boids.wgsl │ │ ├── atomic.metal │ │ ├── atomic.spv │ │ ├── atomic.spvasm │ │ └── atomic.wgsl │ ├── fuzz/ │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ └── fuzz_targets/ │ │ ├── glsl_parser.rs │ │ ├── ir.rs │ │ ├── spv_parser.rs │ │ └── wgsl_parser.rs │ ├── src/ │ │ ├── arena.rs │ │ ├── back/ │ │ │ ├── dot/ │ │ │ │ └── mod.rs │ │ │ ├── glsl/ │ │ │ │ ├── features.rs │ │ │ │ ├── keywords.rs │ │ │ │ └── mod.rs │ │ │ ├── hlsl/ │ │ │ │ ├── conv.rs │ │ │ │ ├── help.rs │ │ │ │ ├── keywords.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── storage.rs │ │ │ │ └── writer.rs │ │ │ ├── mod.rs │ │ │ ├── msl/ │ │ │ │ ├── keywords.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── sampler.rs │ │ │ │ └── writer.rs │ │ │ ├── spv/ │ │ │ │ ├── block.rs │ │ │ │ ├── helpers.rs │ │ │ │ ├── image.rs │ │ │ │ ├── index.rs │ │ │ │ ├── instructions.rs │ │ │ │ ├── layout.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── recyclable.rs │ │ │ │ ├── selection.rs │ │ │ │ └── writer.rs │ │ │ └── wgsl/ │ │ │ ├── mod.rs │ │ │ └── writer.rs │ │ ├── block.rs │ │ ├── front/ │ │ │ ├── glsl/ │ │ │ │ ├── ast.rs │ │ │ │ ├── builtins.rs │ │ │ │ ├── constants.rs │ │ │ │ ├── context.rs │ │ │ │ ├── error.rs │ │ │ │ ├── functions.rs │ │ │ │ ├── lex.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── offset.rs │ │ │ │ ├── parser/ │ │ │ │ │ ├── declarations.rs │ │ │ │ │ ├── expressions.rs │ │ │ │ │ ├── functions.rs │ │ │ │ │ └── types.rs │ │ │ │ ├── parser.rs │ │ │ │ ├── parser_tests.rs │ │ │ │ ├── token.rs │ │ │ │ ├── types.rs │ │ │ │ └── variables.rs │ │ │ ├── interpolator.rs │ │ │ ├── mod.rs │ │ │ ├── spv/ │ │ │ │ ├── convert.rs │ │ │ │ ├── error.rs │ │ │ │ ├── function.rs │ │ │ │ ├── image.rs │ │ │ │ ├── mod.rs │ │ │ │ └── null.rs │ │ │ └── wgsl/ │ │ │ ├── construction.rs │ │ │ ├── conv.rs │ │ │ ├── lexer.rs │ │ │ ├── mod.rs │ │ │ ├── number.rs │ │ │ └── tests.rs │ │ ├── keywords/ │ │ │ ├── mod.rs │ │ │ └── wgsl.rs │ │ ├── lib.rs │ │ ├── proc/ │ │ │ ├── index.rs │ │ │ ├── layouter.rs │ │ │ ├── mod.rs │ │ │ ├── namer.rs │ │ │ ├── terminator.rs │ │ │ └── typifier.rs │ │ ├── span.rs │ │ └── valid/ │ │ ├── analyzer.rs │ │ ├── compose.rs │ │ ├── expression.rs │ │ ├── function.rs │ │ ├── interface.rs │ │ ├── mod.rs │ │ └── type.rs │ └── tests/ │ ├── in/ │ │ ├── access.param.ron │ │ ├── access.wgsl │ │ ├── binding-arrays.param.ron │ │ ├── binding-arrays.wgsl │ │ ├── bitcast.params.ron │ │ ├── bitcast.wgsl │ │ ├── bits.param.ron │ │ ├── bits.wgsl │ │ ├── boids.param.ron │ │ ├── boids.wgsl │ │ ├── bounds-check-image-restrict.param.ron │ │ ├── bounds-check-image-restrict.wgsl │ │ ├── bounds-check-image-rzsw.param.ron │ │ ├── bounds-check-image-rzsw.wgsl │ │ ├── bounds-check-restrict.param.ron │ │ ├── bounds-check-restrict.wgsl │ │ ├── bounds-check-zero-atomic.param.ron │ │ ├── bounds-check-zero-atomic.wgsl │ │ ├── bounds-check-zero.param.ron │ │ ├── bounds-check-zero.wgsl │ │ ├── break-if.wgsl │ │ ├── collatz.param.ron │ │ ├── collatz.wgsl │ │ ├── control-flow.param.ron │ │ ├── control-flow.wgsl │ │ ├── cubeArrayShadow.wgsl │ │ ├── empty.param.ron │ │ ├── empty.wgsl │ │ ├── extra.param.ron │ │ ├── extra.wgsl │ │ ├── functions-webgl.param.ron │ │ ├── functions-webgl.wgsl │ │ ├── functions.param.ron │ │ ├── functions.wgsl │ │ ├── globals.param.ron │ │ ├── globals.wgsl │ │ ├── glsl/ │ │ │ ├── 210-bevy-2d-shader.frag │ │ │ ├── 210-bevy-2d-shader.vert │ │ │ ├── 210-bevy-shader.vert │ │ │ ├── 246-collatz.comp │ │ │ ├── 277-casting.vert │ │ │ ├── 280-matrix-cast.vert │ │ │ ├── 484-preprocessor-if.vert │ │ │ ├── 800-out-of-bounds-panic.vert │ │ │ ├── 896-push-constant.vert │ │ │ ├── 900-implicit-conversions.vert │ │ │ ├── 901-lhs-field-select.vert │ │ │ ├── 931-constant-emitting.vert │ │ │ ├── 932-for-loop-if.vert │ │ │ ├── bevy-pbr.frag │ │ │ ├── bevy-pbr.vert │ │ │ ├── bits_glsl.frag │ │ │ ├── bool-select.frag │ │ │ ├── buffer.frag │ │ │ ├── clamp-splat.vert │ │ │ ├── constant-array-size.vert │ │ │ ├── declarations.vert │ │ │ ├── expressions.frag │ │ │ ├── fma.frag │ │ │ ├── global-constant-array.vert │ │ │ ├── images.frag │ │ │ ├── long-form-matrix.vert │ │ │ ├── math-functions.vert │ │ │ ├── prepostfix.frag │ │ │ ├── quad_glsl.frag │ │ │ ├── quad_glsl.vert │ │ │ ├── sampler-functions.frag │ │ │ ├── samplers.frag │ │ │ ├── statements.frag │ │ │ └── swizzle_write.frag │ │ ├── image.param.ron │ │ ├── image.wgsl │ │ ├── interface.param.ron │ │ ├── interface.wgsl │ │ ├── interpolate.param.ron │ │ ├── interpolate.wgsl │ │ ├── lexical-scopes.wgsl │ │ ├── math-functions.param.ron │ │ ├── math-functions.wgsl │ │ ├── multiview.param.ron │ │ ├── multiview.wgsl │ │ ├── multiview_webgl.param.ron │ │ ├── multiview_webgl.wgsl │ │ ├── operators.param.ron │ │ ├── operators.wgsl │ │ ├── padding.param.ron │ │ ├── padding.wgsl │ │ ├── pointers.param.ron │ │ ├── pointers.wgsl │ │ ├── policy-mix.param.ron │ │ ├── policy-mix.wgsl │ │ ├── push-constants.param.ron │ │ ├── push-constants.wgsl │ │ ├── quad.param.ron │ │ ├── quad.wgsl │ │ ├── shadow.param.ron │ │ ├── shadow.wgsl │ │ ├── skybox.param.ron │ │ ├── skybox.wgsl │ │ ├── spv/ │ │ │ ├── degrees.spv │ │ │ ├── empty-global-name.spv │ │ │ ├── empty-global-name.spvasm │ │ │ ├── inv-hyperbolic-trig-functions.spv │ │ │ ├── quad-vert.spv │ │ │ └── shadow.spv │ │ ├── standard.param.ron │ │ ├── standard.wgsl │ │ ├── texture-arg.param.ron │ │ ├── texture-arg.wgsl │ │ └── variations.glsl │ ├── out/ │ │ ├── analysis/ │ │ │ ├── collatz.info.ron │ │ │ └── shadow.info.ron │ │ ├── dot/ │ │ │ └── quad.dot │ │ ├── glsl/ │ │ │ ├── access.assign_through_ptr.Compute.glsl │ │ │ ├── access.atomics.Compute.glsl │ │ │ ├── access.foo_frag.Fragment.glsl │ │ │ ├── access.foo_vert.Vertex.glsl │ │ │ ├── bitcast.main.Compute.glsl │ │ │ ├── bits.main.Compute.glsl │ │ │ ├── boids.main.Compute.glsl │ │ │ ├── bounds-check-image-restrict.fragment_shader.Fragment.glsl │ │ │ ├── bounds-check-image-rzsw.fragment_shader.Fragment.glsl │ │ │ ├── break-if.main.Compute.glsl │ │ │ ├── control-flow.main.Compute.glsl │ │ │ ├── cubeArrayShadow.fragment.Fragment.glsl │ │ │ ├── empty.main.Compute.glsl │ │ │ ├── functions-webgl.main.Vertex.glsl │ │ │ ├── functions.main.Compute.glsl │ │ │ ├── globals.main.Compute.glsl │ │ │ ├── image.gather.Fragment.glsl │ │ │ ├── image.main.Compute.glsl │ │ │ ├── image.queries.Vertex.glsl │ │ │ ├── image.texture_sample.Fragment.glsl │ │ │ ├── image.texture_sample_comparison.Fragment.glsl │ │ │ ├── interpolate.frag_main.Fragment.glsl │ │ │ ├── interpolate.vert_main.Vertex.glsl │ │ │ ├── math-functions.main.Vertex.glsl │ │ │ ├── multiview.main.Vertex.glsl │ │ │ ├── multiview_webgl.main.Vertex.glsl │ │ │ ├── operators.main.Compute.glsl │ │ │ ├── padding.vertex.Vertex.glsl │ │ │ ├── push-constants.main.Fragment.glsl │ │ │ ├── push-constants.vert_main.Vertex.glsl │ │ │ ├── quad-vert.main.Vertex.glsl │ │ │ ├── quad.frag_main.Fragment.glsl │ │ │ ├── quad.fs_extra.Fragment.glsl │ │ │ ├── quad.main.Fragment.glsl │ │ │ ├── quad.main.Vertex.glsl │ │ │ ├── quad.vert_main.Vertex.glsl │ │ │ ├── shadow.fs_main.Fragment.glsl │ │ │ ├── shadow.fs_main_without_storage.Fragment.glsl │ │ │ ├── shadow.vs_main.Vertex.glsl │ │ │ ├── skybox.fs_main.Fragment.glsl │ │ │ ├── skybox.vs_main.Vertex.glsl │ │ │ ├── standard.derivatives.Fragment.glsl │ │ │ ├── texture-arg.main.Fragment.glsl │ │ │ └── variations-glsl.main.Fragment.glsl │ │ ├── hlsl/ │ │ │ ├── access.hlsl │ │ │ ├── access.hlsl.config │ │ │ ├── binding-arrays.hlsl │ │ │ ├── binding-arrays.hlsl.config │ │ │ ├── boids.hlsl │ │ │ ├── boids.hlsl.config │ │ │ ├── break-if.hlsl │ │ │ ├── break-if.hlsl.config │ │ │ ├── collatz.hlsl │ │ │ ├── collatz.hlsl.config │ │ │ ├── control-flow.hlsl │ │ │ ├── control-flow.hlsl.config │ │ │ ├── empty-global-name.hlsl │ │ │ ├── empty-global-name.hlsl.config │ │ │ ├── empty.hlsl │ │ │ ├── empty.hlsl.config │ │ │ ├── functions.hlsl │ │ │ ├── functions.hlsl.config │ │ │ ├── globals.hlsl │ │ │ ├── globals.hlsl.config │ │ │ ├── image.hlsl │ │ │ ├── image.hlsl.config │ │ │ ├── interface.hlsl │ │ │ ├── interface.hlsl.config │ │ │ ├── interpolate.hlsl │ │ │ ├── interpolate.hlsl.config │ │ │ ├── inv-hyperbolic-trig-functions.hlsl │ │ │ ├── inv-hyperbolic-trig-functions.hlsl.config │ │ │ ├── math-functions.hlsl │ │ │ ├── math-functions.hlsl.config │ │ │ ├── operators.hlsl │ │ │ ├── operators.hlsl.config │ │ │ ├── padding.hlsl │ │ │ ├── padding.hlsl.config │ │ │ ├── push-constants.hlsl │ │ │ ├── push-constants.hlsl.config │ │ │ ├── quad-vert.hlsl │ │ │ ├── quad-vert.hlsl.config │ │ │ ├── quad.hlsl │ │ │ ├── quad.hlsl.config │ │ │ ├── shadow.hlsl │ │ │ ├── shadow.hlsl.config │ │ │ ├── skybox.hlsl │ │ │ ├── skybox.hlsl.config │ │ │ ├── standard.hlsl │ │ │ ├── standard.hlsl.config │ │ │ ├── texture-arg.hlsl │ │ │ └── texture-arg.hlsl.config │ │ ├── ir/ │ │ │ ├── collatz.ron │ │ │ └── shadow.ron │ │ ├── msl/ │ │ │ ├── access.msl │ │ │ ├── binding-arrays.msl │ │ │ ├── bitcast.msl │ │ │ ├── bits.msl │ │ │ ├── boids.msl │ │ │ ├── bounds-check-image-restrict.msl │ │ │ ├── bounds-check-image-rzsw.msl │ │ │ ├── bounds-check-restrict.msl │ │ │ ├── bounds-check-zero-atomic.msl │ │ │ ├── bounds-check-zero.msl │ │ │ ├── break-if.msl │ │ │ ├── collatz.msl │ │ │ ├── control-flow.msl │ │ │ ├── empty-global-name.msl │ │ │ ├── empty.msl │ │ │ ├── extra.msl │ │ │ ├── functions.msl │ │ │ ├── globals.msl │ │ │ ├── image.msl │ │ │ ├── interface.msl │ │ │ ├── interpolate.msl │ │ │ ├── math-functions.msl │ │ │ ├── operators.msl │ │ │ ├── padding.msl │ │ │ ├── policy-mix.msl │ │ │ ├── quad-vert.msl │ │ │ ├── quad.msl │ │ │ ├── shadow.msl │ │ │ ├── skybox.msl │ │ │ ├── standard.msl │ │ │ └── texture-arg.msl │ │ ├── spv/ │ │ │ ├── access.spvasm │ │ │ ├── binding-arrays.spvasm │ │ │ ├── bitcast.spvasm │ │ │ ├── bits.spvasm │ │ │ ├── boids.spvasm │ │ │ ├── bounds-check-image-restrict.spvasm │ │ │ ├── bounds-check-image-rzsw.spvasm │ │ │ ├── bounds-check-restrict.spvasm │ │ │ ├── bounds-check-zero.spvasm │ │ │ ├── break-if.spvasm │ │ │ ├── collatz.spvasm │ │ │ ├── control-flow.spvasm │ │ │ ├── empty.spvasm │ │ │ ├── extra.spvasm │ │ │ ├── functions.spvasm │ │ │ ├── globals.spvasm │ │ │ ├── image.spvasm │ │ │ ├── interface.compute.spvasm │ │ │ ├── interface.fragment.spvasm │ │ │ ├── interface.vertex.spvasm │ │ │ ├── interface.vertex_two_structs.spvasm │ │ │ ├── interpolate.spvasm │ │ │ ├── math-functions.spvasm │ │ │ ├── multiview.spvasm │ │ │ ├── operators.spvasm │ │ │ ├── padding.spvasm │ │ │ ├── pointer-access.spvasm │ │ │ ├── pointers.spvasm │ │ │ ├── policy-mix.spvasm │ │ │ ├── quad.spvasm │ │ │ ├── shadow.spvasm │ │ │ ├── skybox.spvasm │ │ │ ├── standard.spvasm │ │ │ └── texture-arg.spvasm │ │ └── wgsl/ │ │ ├── 210-bevy-2d-shader-frag.wgsl │ │ ├── 210-bevy-2d-shader-vert.wgsl │ │ ├── 210-bevy-shader-vert.wgsl │ │ ├── 246-collatz-comp.wgsl │ │ ├── 277-casting-vert.wgsl │ │ ├── 280-matrix-cast-vert.wgsl │ │ ├── 484-preprocessor-if-vert.wgsl │ │ ├── 800-out-of-bounds-panic-vert.wgsl │ │ ├── 896-push-constant-vert.wgsl │ │ ├── 900-implicit-conversions-vert.wgsl │ │ ├── 901-lhs-field-select-vert.wgsl │ │ ├── 931-constant-emitting-vert.wgsl │ │ ├── 932-for-loop-if-vert.wgsl │ │ ├── access.wgsl │ │ ├── bevy-pbr-frag.wgsl │ │ ├── bevy-pbr-vert.wgsl │ │ ├── binding-arrays.wgsl │ │ ├── binop-frag.wgsl │ │ ├── bitcast.wgsl │ │ ├── bits.wgsl │ │ ├── bits_glsl-frag.wgsl │ │ ├── boids.wgsl │ │ ├── bool-select-frag.wgsl │ │ ├── break-if.wgsl │ │ ├── buffer-frag.wgsl │ │ ├── clamp-splat-vert.wgsl │ │ ├── collatz.wgsl │ │ ├── constant-array-size-vert.wgsl │ │ ├── control-flow.wgsl │ │ ├── declarations-vert.wgsl │ │ ├── empty-global-name.wgsl │ │ ├── empty.wgsl │ │ ├── expressions-frag.wgsl │ │ ├── extra.wgsl │ │ ├── fma-frag.wgsl │ │ ├── functions.wgsl │ │ ├── global-constant-array-vert.wgsl │ │ ├── globals.wgsl │ │ ├── image.wgsl │ │ ├── images-frag.wgsl │ │ ├── interface.wgsl │ │ ├── interpolate.wgsl │ │ ├── inv-hyperbolic-trig-functions.wgsl │ │ ├── lexical-scopes.wgsl │ │ ├── long-form-matrix-vert.wgsl │ │ ├── math-functions-vert.wgsl │ │ ├── math-functions.wgsl │ │ ├── multiview.wgsl │ │ ├── operators.wgsl │ │ ├── padding.wgsl │ │ ├── pointers.wgsl │ │ ├── prepostfix-frag.wgsl │ │ ├── quad-vert.wgsl │ │ ├── quad.wgsl │ │ ├── quad_glsl-frag.wgsl │ │ ├── quad_glsl-vert.wgsl │ │ ├── sampler-functions-frag.wgsl │ │ ├── samplers-frag.wgsl │ │ ├── shadow.wgsl │ │ ├── skybox.wgsl │ │ ├── standard.wgsl │ │ ├── statements-frag.wgsl │ │ ├── swizzle_write-frag.wgsl │ │ └── texture-arg.wgsl │ ├── snapshots.rs │ ├── spirv-capabilities.rs │ └── wgsl-errors.rs ├── resources/ │ ├── Info.plist │ └── app.icns ├── scripts/ │ ├── create-dmg-1.1.0/ │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── .this-is-the-create-dmg-repo │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── builder/ │ │ │ └── create-dmg.builder │ │ ├── create-dmg │ │ ├── doc-project/ │ │ │ ├── Developer Notes.md │ │ │ └── Release Checklist.md │ │ ├── examples/ │ │ │ └── 01-main-example/ │ │ │ ├── sample │ │ │ └── source_folder/ │ │ │ └── Application.app │ │ ├── support/ │ │ │ ├── eula-resources-template.xml │ │ │ └── template.applescript │ │ └── tests/ │ │ └── 007-space-in-dir-name/ │ │ ├── my files/ │ │ │ └── hello.txt │ │ └── run-test │ ├── macos_build.sh │ ├── macos_build_entry.sh │ ├── macos_cross_compile.sh │ ├── macos_launch.sh │ └── windows_build.sh └── src/ ├── app.rs ├── assets/ │ └── shaders/ │ ├── CS_graph_solver.wgsl │ ├── S_axis.wgsl │ ├── S_bounding_box.wgsl │ ├── S_edge.wgsl │ └── S_node.wgsl ├── bootstrap.rs ├── components/ │ ├── detail_view.rs │ ├── dock_view.rs │ ├── drawer_view.rs │ ├── drawers/ │ │ ├── kernel_view.rs │ │ ├── message_view.rs │ │ └── mod.rs │ ├── export_modal_view.rs │ ├── graphics_view.rs │ ├── import_modal_view/ │ │ ├── config_page.rs │ │ └── file_picker_page.rs │ ├── import_modal_view.rs │ ├── inspector_view.rs │ ├── menubar_view.rs │ ├── mod.rs │ ├── shortcuts.rs │ └── table_view.rs ├── lib.rs ├── main.rs ├── models/ │ ├── app_model.rs │ ├── data_model.rs │ ├── graphics_lib/ │ │ ├── bind_group_layout.rs │ │ ├── buffer_dimensions.rs │ │ ├── camera.rs │ │ ├── camera_controls.rs │ │ ├── compute_shader.rs │ │ ├── mod.rs │ │ ├── render_pipeline.rs │ │ ├── texture.rs │ │ └── unifrom.rs │ ├── graphics_model.rs │ └── mod.rs ├── utils/ │ ├── constant.rs │ ├── csv_loader.rs │ ├── file.rs │ ├── message.rs │ └── mod.rs └── widgets/ ├── frames.rs ├── mod.rs └── modal.rs