lvkit 0.8.0__tar.gz → 0.8.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lvkit-0.8.0 → lvkit-0.8.2}/.pre-commit-config.yaml +4 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/PKG-INFO +1 -1
- {lvkit-0.8.0 → lvkit-0.8.2}/pyproject.toml +1 -1
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/__init__.py +1 -1
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/builders/operations.py +8 -1
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/construction.py +1 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/core.py +39 -1
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/loading.py +573 -176
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/models.py +25 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/op_walk.py +81 -13
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/queries.py +4 -3
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/models.py +50 -2
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/__init__.py +0 -4
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/constants.py +2 -0
- lvkit-0.8.2/src/lvkit/parser/image_resources.py +103 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/layout.py +634 -25
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/metadata.py +150 -68
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/models.py +19 -4
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/node_types.py +99 -1
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/nodes/case.py +26 -7
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/nodes/constant.py +34 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/vi.py +83 -19
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/__init__.py +50 -1
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/backend.py +12 -2
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/composite.py +116 -5
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/draw.py +386 -40
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyph.py +13 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/decorations/__init__.py +2 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/decorations/arrow.py +17 -8
- lvkit-0.8.2/src/lvkit/render/glyphs/decorations/factory.py +65 -0
- lvkit-0.8.2/src/lvkit/render/glyphs/decorations/line.py +28 -0
- lvkit-0.8.2/src/lvkit/render/glyphs/decorations/picture.py +28 -0
- lvkit-0.8.2/src/lvkit/render/glyphs/nodes/array_constant.py +214 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/base.py +24 -0
- lvkit-0.8.2/src/lvkit/render/glyphs/nodes/bundle_by_name.py +129 -0
- lvkit-0.8.2/src/lvkit/render/glyphs/nodes/class_glyph.py +115 -0
- lvkit-0.8.2/src/lvkit/render/glyphs/nodes/cluster_constant.py +206 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/constant.py +12 -3
- lvkit-0.8.2/src/lvkit/render/glyphs/nodes/event_reg_node.py +103 -0
- lvkit-0.8.2/src/lvkit/render/glyphs/nodes/path_glyph.py +71 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/property_node.py +41 -9
- lvkit-0.8.2/src/lvkit/render/glyphs/nodes/refnum_glyph.py +299 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/nodes.py +404 -31
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/scene.py +64 -97
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/style.py +205 -23
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/theme_web.py +3 -1
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/structure.py +203 -26
- lvkit-0.8.2/tests/corpus/issues/82/Pictures And Decorations.vi +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/helpers.py +52 -0
- lvkit-0.8.2/tests/test_class_wire_appearance.py +119 -0
- lvkit-0.8.2/tests/test_cluster_wire_color.py +49 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_issue_corpus.py +103 -1
- lvkit-0.8.2/tests/test_livi_vipi.py +166 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_parser.py +712 -16
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_parser_regression.py +5 -9
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_render.py +1902 -137
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_type_loading.py +39 -0
- lvkit-0.8.2/tests/test_web_progressive_staging.py +75 -0
- lvkit-0.8.0/src/lvkit/render/glyphs/decorations/factory.py +0 -47
- lvkit-0.8.0/src/lvkit/render/glyphs/decorations/line.py +0 -21
- lvkit-0.8.0/src/lvkit/render/glyphs/nodes/bundle_by_name.py +0 -49
- lvkit-0.8.0/src/lvkit/render/glyphs/nodes/cluster_constant.py +0 -92
- {lvkit-0.8.0 → lvkit-0.8.2}/.gitignore +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/LICENSE +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/NOTICE +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/README.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/deploy/cloudrun/README.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/docs/_internal/xml-schema/README.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/editors/vscode/LICENSE +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/editors/vscode/README.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/mcpb/README.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/plugin/README.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/audit_primitive_consistency.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/audit_terminal_order.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/audit_unresolved.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/build_example_pages.sh +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/build_hero.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/build_ni_function_catalog.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/connector_geometry_audit.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/dump_primitive_context.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/extract_corpus.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/gen_semantics_probe.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/generate_docs.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/generate_driver_data.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/generate_python.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/import_nodes_primitives.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/list_unknown_primitives.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/populate_vilib.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/pull_samples.sh +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/recategorize_vilib.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/render_gallery.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/reproduce_openg_corpus.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/study_unwired_direction.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/scripts/wire_decode_probe.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/__main__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/_data.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/_pylabview_patches.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/cache_paths.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/cli.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/README.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/ast_optimizer.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/ast_utils.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/builder.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/class_builder/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/class_builder/_shared.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/class_builder/config.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/class_builder/core.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/class_builder/init_builder.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/class_builder/methods.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/class_builder/naming.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/class_builder/properties.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/class_builder/terminals.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/condition_builder.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/context.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/dataflow.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/elementwise.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/error_handler.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/expressions.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/fragment.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/function.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/imports.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/base.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/case.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/compound.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/constant.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/event.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/first_call.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/formula.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/in_place.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/invoke_node.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/loop.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/nmux.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/primitive.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/printf.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/property_node.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/queue_ops.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/sequence.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/nodes/subvi.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/stubs.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/codegen/unresolved.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/connector_geometry.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/connector_pane_geometry.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/builtin_types.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/connector_pane_patterns.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/drivers/_index.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/drivers/daqmx.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/drivers/nidcpower.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/drivers/nidigital.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/drivers/nidmm.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/drivers/nifgen.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/drivers/niscope.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/drivers/niswitch.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/drivers/serial.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/drivers/visa.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/labview_error_codes.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/measure_data.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/openg/_index.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/openg/array.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/openg/file.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/openg/string.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/openg/time.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/openg/variant.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/primitives.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/_index.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/_pending_terminals.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/_types.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/addons.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/application-control.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/array.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/boolean.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/cluster-class-variant.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/collection.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/comparison.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/connectivity.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/control-simulation.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/data-communication.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/dialog-user-interface.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/express.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/file-io.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/graphics-sound.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/instrument-io.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/mathematics.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/measurement-io.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/numeric.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/report-generation.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/signal-processing.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/string.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/structures.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/synchronization.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/timing.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/data/vilib/waveform.json +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/docs/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/docs/generate.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/docs/html_generator/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/docs/html_generator/assets.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/docs/html_generator/class_page.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/docs/html_generator/core.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/docs/html_generator/index_page.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/docs/html_generator/naming.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/docs/html_generator/vi_page.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/docs/template.css +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/docs/utils.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/extractor.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/flattened_typedesc.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/formula/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/formula/cparser.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/formula/emit.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/formula/lexer.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/formula/nodes.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/analysis.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/builders/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/builders/context.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/builders/refs.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/builders/structures.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/describe.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/diff.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/interface_order.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/lvnet_grammar.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/lvnet_parse.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/lvnet_reconstruct.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/netlist.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/netlist_build.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/netlist_diff_helpers.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/netlist_json.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/netlist_models.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/operations.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/parallel_parse.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/graph/render_lvnet.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/index/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/index/build.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/index/model.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/index/project.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/index/query.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/index/sql.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/index/store.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/labview_error.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/labview_error_codes.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/labview_queue.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/load_mode.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/lv_detect.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/mcp/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/mcp/schemas.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/mcp/server/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/mcp/server/__main__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/mcp/server/_compat.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/mcp/server/app.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/mcp/server/index_tools.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/mcp/server/resolvers.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/mcp/server/roots.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/mcp/server/vi_tools.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/measure_data.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/num_format.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/output_cache.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/conp_types.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/defaults.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/flags.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/fp_heap_type.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/front_panel.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/naming.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/nodes/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/nodes/base.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/nodes/decompose.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/nodes/disable.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/nodes/event.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/nodes/free_label.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/nodes/loop.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/nodes/sequence.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/type_mapping.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/type_resolution.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/utils.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/parser/wire_table.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/pipeline.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/primitive_resolver/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/primitive_resolver/exceptions.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/primitive_resolver/models.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/primitive_resolver/resolver.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/project_store.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/py.typed +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/ARCHITECTURE.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/connector_pane.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/connector_pane_panel.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/diff_viewer.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/decorations/base.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/decorations/fallback.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/decorations/frame.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/arith.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/array_build.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/array_reverse.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/array_search.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/array_size.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/array_sort.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/array_split.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/boolean_constant.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/boolean_gate.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/bundle.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/centered_svg.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/compound_arith.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/control_ref_const.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/convert.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/error_cluster.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/event_data.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/formula_node.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/icon_image.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/in_place_element.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/inline_svg.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/invoke_node.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/label.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/local_variable.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/unbundle.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/variant.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/nodes/wrapped_box.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/structures/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/structures/base.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/structures/case.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/structures/disable.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/structures/event.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/structures/factory.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/structures/flat_sequence.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/structures/for_loop.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/structures/generic.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/structures/in_place.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/structures/selectable.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/structures/stacked_sequence.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/structures/while_loop.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/terminals/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/terminals/autoindex.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/terminals/base.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/terminals/concatenate.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/terminals/conditional.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/terminals/event_dyn.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/terminals/event_timeout.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/terminals/factory.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/terminals/generic.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/terminals/loop_count.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/terminals/selector.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/terminals/shift_register.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/glyphs/terminals/tunnel.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/help_tip.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/icons.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/lane_pass.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/properties_panel.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/render_viewer.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/templates/diff_viewer.html +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/templates/render_viewer.html +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/theme_control.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/render/wire_router.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/runtime/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/runtime/lv.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/skill_templates/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/skill_templates/lvkit/SKILL.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/skill_templates/lvkit-convert/SKILL.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/skill_templates/lvkit-describe/SKILL.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/skill_templates/lvkit-document/SKILL.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/skill_templates/lvkit-query/SKILL.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/skill_templates/lvkit-resolve/SKILL.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/skill_templates/lvkit-review/SKILL.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/terminal_collector.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/text_encoding.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/tools/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/tools/connector_geometry_profile.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/type_defaults.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/unresolved.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/vi_diff.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/vilib_resolver/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/vilib_resolver/exceptions.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/vilib_resolver/loader.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/vilib_resolver/lookup.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/vilib_resolver/models.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/vilib_resolver/naming.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/vilib_resolver/resolver.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/src/lvkit/vilib_resolver/variants.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/__init__.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/conftest.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/29/PROVENANCE.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/29/Test LVKit/Lib1/Class/Class.lvclass +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/29/Test LVKit/Lib1/Class/Do.vi +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/29/Test LVKit/Lib1/Lib1.lvlib +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/29/Test LVKit/Lib2/Class/Class.lvclass +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/29/Test LVKit/Lib2/Class/Do.vi +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/29/Test LVKit/Lib2/Class/Test.vi +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/29/Test LVKit/Lib2/Lib2.lvlib +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/29/Test LVKit/Test LVKit.aliases +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/29/Test LVKit/Test LVKit.lvlps +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/29/Test LVKit/Test LVKit.lvproj +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/30/PROVENANCE.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/30/visible-frame-case-sequence.vi +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/30/visible-frame-conditional-disable.vi +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/31/PROVENANCE.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/31/disable-structure-frame-names.vi +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/32/PROVENANCE.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/32/comments-and-decorations.vi +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/33/PROVENANCE.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/33/coercion-dot-consistency.vi +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/34/PROVENANCE.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/34/hidden-iteration-terminal.vi +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/35/PROVENANCE.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/35/objects-hidden-by-structures.vi +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/36/PROVENANCE.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/36/bundle-unbundle-names.vi +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/37/PROVENANCE.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/37/structure-tunnel-wire-bends.vi +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/38/PROVENANCE.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/38/auto-concatenating-tunnel.vi +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/39/PROVENANCE.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/39/zorder-not-respected.vi +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/corpus/issues/README.md +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_array_ops_codegen.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_ast_builder.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_ast_optimizer.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_case_codegen.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_case_parser.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_class_field_walkup.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_class_parent_linkinfo.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_class_properties.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_cli.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_cli_cache.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_cli_describe_lvnet.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_cli_graph_ops.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_cli_query.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_codegen_context.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_compound_codegen.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_condition_builder.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_connector_geometry.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_connector_pane_label_recovery.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_connector_pane_patterns.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_connector_pane_render.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_conp_types.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_constant_decoding.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_dependency_path_refs.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_determinism.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_diff.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_diff_properties.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_diff_viewer.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_disable_graph.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_disable_parser.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_docs_class_hierarchy.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_docs_render.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_driver_codegen.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_dynamic_dispatch.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_e2e_codegen.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_elementwise.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_error_codegen.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_error_handling.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_error_terminal_label_fallback.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_event_codegen.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_event_parser.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_extraction_cache.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_extractor_concurrency.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_extractor_long_path.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_first_call_codegen.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_formula_codegen.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_formula_runtime.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_formula_semantics.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_formula_transpile.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_fp_heap_type.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_frame_attribution.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_frame_zplane.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_glyphs.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_graceful_degradation.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_help_tip.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_import_startup.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_in_place_codegen.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_index.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_index_sql.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_index_warm_no_downgrade.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_interface_order.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_label_extraction.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_labview_queue.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_load_mode.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_load_upgrade.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_loop_codegen.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_lv_detect.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_lvnet_identity.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_lvnet_reconstruct.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_lvnet_roundtrip.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_lvpy.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_mcp_cache.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_mcp_evals.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_mcp_read_vi_lvnet.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_mcp_roots.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_naming.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_netlist_json.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_new_codegen.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_node_properties.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_output_cache.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_parallel_codegen.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_parallel_parse.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_primitive_name_uniqueness.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_primitive_positional_order.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_primitive_resolutions.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_progressive_index.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_progressive_warm.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_project_store.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_queue_codegen.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_render_emission_order.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_render_lvnet.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_render_title_identity.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_render_viewer.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_sequence.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_soft_codegen.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_structure_lvproj.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_subvi_nav.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_text_encoding.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_type_driven_fixes.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_type_fields.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_type_mapping.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_unknown_nodes.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_unresolved.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_vi_graph.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_vi_properties.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_viewer_properties.py +0 -0
- {lvkit-0.8.0 → lvkit-0.8.2}/tests/test_vilib_docurls.py +0 -0
|
@@ -26,6 +26,10 @@ repos:
|
|
|
26
26
|
- id: check-toml
|
|
27
27
|
- id: check-added-large-files
|
|
28
28
|
args: ["--maxkb=500"]
|
|
29
|
+
# Issue #82's regression fixture embeds a real ~3.6MB photograph (the
|
|
30
|
+
# bug is an embedded PICTURE decoration), so it can't fit the 500KB cap.
|
|
31
|
+
# Whitelist just that one file — the cap still guards every other fixture.
|
|
32
|
+
exclude: ^tests/corpus/issues/82/Pictures And Decorations\.vi$
|
|
29
33
|
- id: check-merge-conflict
|
|
30
34
|
- id: mixed-line-ending
|
|
31
35
|
args: ["--fix=lf"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: lvkit
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.2
|
|
4
4
|
Summary: Understand and convert LabVIEW VIs to Python without a LabVIEW license
|
|
5
5
|
Project-URL: Repository, https://github.com/pragmatest-dev/lvkit
|
|
6
6
|
Project-URL: Issues, https://github.com/pragmatest-dev/lvkit/issues
|
|
@@ -4,7 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
from typing import TYPE_CHECKING
|
|
6
6
|
|
|
7
|
-
__version__ = "0.8.
|
|
7
|
+
__version__ = "0.8.2"
|
|
8
8
|
|
|
9
9
|
# The public API is exposed LAZILY (PEP 562 module ``__getattr__``): the graph /
|
|
10
10
|
# parser / structure stacks (networkx, pydantic, pylabview, PIL — ~230 ms) load
|
|
@@ -16,6 +16,7 @@ from typing import Any
|
|
|
16
16
|
from lvkit.models import PropertyDef, Terminal
|
|
17
17
|
from lvkit.parser.node_types import (
|
|
18
18
|
CpdArithNode,
|
|
19
|
+
EventRegNode,
|
|
19
20
|
InvokeNode,
|
|
20
21
|
PropertyNode,
|
|
21
22
|
SubVINode,
|
|
@@ -95,7 +96,7 @@ class PrimitiveBuildHandler(NodeBuildHandler):
|
|
|
95
96
|
prim_kwargs["prim_index"] = node.prim_index
|
|
96
97
|
if isinstance(node, CpdArithNode):
|
|
97
98
|
prim_kwargs["operation"] = node.operation
|
|
98
|
-
if isinstance(node, (PropertyNode, InvokeNode)):
|
|
99
|
+
if isinstance(node, (PropertyNode, InvokeNode, EventRegNode)):
|
|
99
100
|
prim_kwargs["object_name"] = node.object_name
|
|
100
101
|
prim_kwargs["object_method_id"] = node.object_method_id
|
|
101
102
|
if isinstance(node, PropertyNode):
|
|
@@ -106,12 +107,18 @@ class PrimitiveBuildHandler(NodeBuildHandler):
|
|
|
106
107
|
prim_kwargs["property_value_terminal_ids"] = [
|
|
107
108
|
ctx.qid(uid) for uid in node.dco_terminal_uids
|
|
108
109
|
]
|
|
110
|
+
prim_kwargs["bound_control_uid"] = node.bound_control_uid
|
|
111
|
+
prim_kwargs["bound_control_type"] = node.bound_control_type
|
|
109
112
|
elif isinstance(node, InvokeNode):
|
|
110
113
|
prim_kwargs["method_name"] = node.method_name
|
|
111
114
|
prim_kwargs["method_code"] = node.method_code
|
|
112
115
|
prim_kwargs["invoke_row_terminal_ids"] = [
|
|
113
116
|
ctx.qid(uid) for uid in node.row_terminal_uids
|
|
114
117
|
]
|
|
118
|
+
elif isinstance(node, EventRegNode):
|
|
119
|
+
prim_kwargs["event_row_terminal_ids"] = [
|
|
120
|
+
ctx.qid(uid) for uid in node.event_row_terminal_uids
|
|
121
|
+
]
|
|
115
122
|
|
|
116
123
|
return GraphPrimitiveNode(
|
|
117
124
|
id=q_node_uid,
|
|
@@ -13,7 +13,7 @@ from typing import TYPE_CHECKING
|
|
|
13
13
|
import networkx as nx
|
|
14
14
|
|
|
15
15
|
from ..load_mode import LoadMode
|
|
16
|
-
from ..models import ClusterField, LVType, LVTypeKind
|
|
16
|
+
from ..models import ClusterField, LVType, LVTypeKind, WireStyle
|
|
17
17
|
from ..parser.models import ParsedType, ParsedVI
|
|
18
18
|
|
|
19
19
|
if TYPE_CHECKING:
|
|
@@ -330,6 +330,13 @@ class InMemoryVIGraph(
|
|
|
330
330
|
# Class/typedef fields: codegen queries dep_graph or vilib_resolver
|
|
331
331
|
# by classname/typedef_name. No copies.
|
|
332
332
|
|
|
333
|
+
# A class instance carries its OWN wire style (color/width/line style),
|
|
334
|
+
# resolved from its .lvclass, so the one render lookup draws every class
|
|
335
|
+
# wire in the class's style with no graph — see LVType.wire_style /
|
|
336
|
+
# render.style.wire_style.
|
|
337
|
+
if parsed_type.classname:
|
|
338
|
+
lv_type.wire_style = self.get_class_wire_style(parsed_type.classname)
|
|
339
|
+
|
|
333
340
|
return lv_type
|
|
334
341
|
|
|
335
342
|
def _dep_key_for_ref(
|
|
@@ -431,6 +438,37 @@ class InMemoryVIGraph(
|
|
|
431
438
|
return parent_fields + own_fields
|
|
432
439
|
return own_fields
|
|
433
440
|
|
|
441
|
+
def get_class_wire_style(
|
|
442
|
+
self,
|
|
443
|
+
classname: str,
|
|
444
|
+
caller_vi_key: str | None = None,
|
|
445
|
+
) -> WireStyle | None:
|
|
446
|
+
"""A class's own wire style, or None when it (and every ancestor) uses the
|
|
447
|
+
default/generic look.
|
|
448
|
+
|
|
449
|
+
``classname`` is resolved to its PATH-key node via :meth:`_dep_key_for_ref`
|
|
450
|
+
(pass the CALLER VI key so a duplicated class name resolves by the
|
|
451
|
+
caller's edge). A class with no custom pen inherits its parent's (LabVIEW's
|
|
452
|
+
"use parent's/default design"), so the parent chain is walked by
|
|
453
|
+
``parent_key`` (:meth:`_parent_class_key`) until a custom style is found.
|
|
454
|
+
"""
|
|
455
|
+
node_key = self._dep_key_for_ref(classname, caller_vi_key)
|
|
456
|
+
if node_key is None or not self._dep_graph.has_node(node_key):
|
|
457
|
+
return None
|
|
458
|
+
return self._class_wire_style_by_key(node_key)
|
|
459
|
+
|
|
460
|
+
def _class_wire_style_by_key(self, node_key: str) -> WireStyle | None:
|
|
461
|
+
"""This class's own wire style, else the nearest ancestor's — the
|
|
462
|
+
inherited case. Follows the parent's PATH key by IDENTITY
|
|
463
|
+
(:meth:`_parent_class_key`), same as :meth:`_class_fields_by_key`."""
|
|
464
|
+
style: WireStyle | None = self._dep_graph.nodes[node_key].get("wire_style")
|
|
465
|
+
if style is not None:
|
|
466
|
+
return style
|
|
467
|
+
parent_key = self._parent_class_key(node_key)
|
|
468
|
+
if parent_key is not None:
|
|
469
|
+
return self._class_wire_style_by_key(parent_key)
|
|
470
|
+
return None
|
|
471
|
+
|
|
434
472
|
def get_type_fields(
|
|
435
473
|
self,
|
|
436
474
|
lv_type: LVType,
|