openscad-cpp-evaluator 0.26.0__tar.gz → 0.26.1__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.
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/PKG-INFO +1 -1
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/pyproject.toml +1 -1
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/debug_profile.cpp +24 -2
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_debug_hooks.cpp +40 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/.github/workflows/ci.yml +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/.github/workflows/wheels.yml +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/.gitignore +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/.gitmodules +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/CLAUDE.md +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/LICENSE +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/README.md +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/bindings/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/bindings/ast_to_py.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/bindings/module.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/cmake/embed_font.cmake +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/examples/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/examples/eval_perf_benchmark.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/examples/manifold_cache_reuse.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/examples/minimal_debugger.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/.github/workflows/ci.yml +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/.gitignore +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/CLAUDE.md +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/README.md +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/api.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/ast_node.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/comments.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/declarations.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/expression.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/module_instantiation.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/scope_builder.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/vector_element.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/comments.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/position.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/pretty_print.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/scope.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/serialization.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/source_map.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/api.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/ast/ast_node.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/ast/declarations.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/ast/expression.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/ast/format_utils.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/ast/module_instantiation.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/ast/scope_builder.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/ast/vector_element.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/comment_attach_internal.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/comments.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/grammar/driver.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/grammar/driver.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/grammar/lexer.l +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/grammar/lexer_api.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/grammar/oscad_location.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/grammar/parser.y +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/inline_comment_attach.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/position.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/pretty_print.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/scope.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/serialization/json_io.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/serialization/yaml_io.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/src/source_map.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_assignments.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_ast_generation.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_comments_and_files.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_const_borrow.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_control.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_expressions.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_functions.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_helpers.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_inline_comments.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_lexical.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_modules.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_node_str.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_pretty_print.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_scope.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_serialization.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_smoke.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_source_map.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_use_include.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tests/test_vectors.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tools/cli/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/external/openscad_cpp_parser/tools/cli/main.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/bound_args.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/bytecode.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/bytecode_compiler.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/bytecode_vm.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/call_args.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/colored_body.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/csg_node.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/css_colors.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/debug_hooks.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/debug_repl.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/dispatch.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/dxf_svg_import.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/eval_context.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/eval_error.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/eval_use.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/evaluator.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/export.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/font_provider.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/function_builtins.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/import_builtin.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/manifold_cache.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/mesh_check.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/mesh_import.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/osc_range.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/profile.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/scope_trail.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/segments.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/stb_font_provider.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/surface_load.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/text_metrics.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/value.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/include/openscad_cpp_evaluator/zip_stored.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/python/openscad_cpp_evaluator/__init__.py +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/resources/fonts/LICENSE +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/resources/fonts/LiberationSans-Regular.ttf +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/booleans.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/builtins.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/call_args.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/color.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/control.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/extrude.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/function_builtins.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/import.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/modifiers.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/primitives_2d.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/primitives_3d.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/registry.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/roof.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/segments.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/surface.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/text.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/topology.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/transforms.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/bytecode_compiler.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/bytecode_vm.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/colored_body.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/csg_generate.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/csg_resolve.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/css_colors.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/debug/debug_repl.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/eval_context.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/eval_error.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/eval_use.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/export.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/expr_eval.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/import/dxf_import.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/import/mesh_import.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/import/surface_load.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/import/svg_import.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/manifold_cache.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/mesh_check.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/stmt_eval.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/text/stb_font_provider.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/text/text_metrics.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/user_calls.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/value.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/zip_stored.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_booleans.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_bytecode_compiler.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_cli.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_control_flow.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_csg_tree.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_dxf_svg_import.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_eval_context.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_export.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_expr_eval.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_extrude_roof.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_function_builtins.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_helpers.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_import_export.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_manifold_cache.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_mesh_check.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_multi_color_merge.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_primitives.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_profiling.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_python_bindings.py +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_scope_trail.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_scoping.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_surface.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_tail_calls.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_text.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_transforms.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_use.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_value.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_viewport_params.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_zip_stored.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tools/cli/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tools/cli/cli_lib.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tools/cli/cli_lib.hpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tools/cli/main.cpp +0 -0
- {openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/uv.lock +0 -0
|
@@ -9,9 +9,31 @@ namespace {
|
|
|
9
9
|
// call), if any. See Evaluator::lastChildrenPositions()'s own doc comment
|
|
10
10
|
// for what this feeds. Mirrors the reference's own
|
|
11
11
|
// Evaluator._child_statement_positions.
|
|
12
|
-
|
|
12
|
+
// Where a debugger's "step into child" should aim from `node`.
|
|
13
|
+
//
|
|
14
|
+
// Normally the node's own children -- `framed(20) leaf(3);` aims at
|
|
15
|
+
// `leaf(3)`. But a `children()` call has no children of its own: it
|
|
16
|
+
// forwards the enclosing invocation's, which live on the context. Without
|
|
17
|
+
// that case, stepping to a child from the one statement whose entire job
|
|
18
|
+
// is to run the children found nothing to aim at, and the step silently
|
|
19
|
+
// degraded into a continue -- running to the next breakpoint or off the
|
|
20
|
+
// end of the script.
|
|
21
|
+
std::optional<std::vector<std::pair<std::string, int>>> childStatementPositions(const oscad::ASTNode& node,
|
|
22
|
+
const EvalContext& ctx) {
|
|
13
23
|
if (node.kind() != oscad::NodeKind::ModularCall) return std::nullopt;
|
|
14
24
|
const auto& call = static_cast<const oscad::ModularCall&>(node);
|
|
25
|
+
if (call.name && call.name->name == "children") {
|
|
26
|
+
if (!ctx.childrenNodes || ctx.childrenNodes->empty()) return std::nullopt;
|
|
27
|
+
std::vector<std::pair<std::string, int>> forwarded;
|
|
28
|
+
for (const oscad::ASTNode* c : *ctx.childrenNodes) {
|
|
29
|
+
if (c) forwarded.emplace_back(c->position().origin, c->position().line);
|
|
30
|
+
}
|
|
31
|
+
if (forwarded.empty()) return std::nullopt;
|
|
32
|
+
// Every forwarded child, even when an index argument (children(0),
|
|
33
|
+
// children([1:2])) will run only some: a position that is never
|
|
34
|
+
// reached can never be stopped at, so the extra targets are inert.
|
|
35
|
+
return forwarded;
|
|
36
|
+
}
|
|
15
37
|
std::vector<std::pair<std::string, int>> positions;
|
|
16
38
|
for (const auto& c : call.children) {
|
|
17
39
|
if (c->kind() == oscad::NodeKind::Assignment || c->kind() == oscad::NodeKind::ModuleDeclaration ||
|
|
@@ -121,7 +143,7 @@ void Evaluator::checkDebug(const oscad::ASTNode& node, EvalContext& ctx, bool fo
|
|
|
121
143
|
}
|
|
122
144
|
const int depth = static_cast<int>(callStack_.size());
|
|
123
145
|
const DebugFramesFn getFrame = [this, &ctx]() { return buildDebugFrames(&ctx); };
|
|
124
|
-
lastChildrenPositions_ = childStatementPositions(node);
|
|
146
|
+
lastChildrenPositions_ = childStatementPositions(node, ctx);
|
|
125
147
|
|
|
126
148
|
DebugAction action = debugHooks_.debugHook(pos.line, depth, forced, exprLevel, pos.origin, callStack_, getFrame);
|
|
127
149
|
for (auto& [k, v] : action.mods) ctx.let_->set(k, v);
|
|
@@ -641,6 +641,46 @@ TEST(DebugHooksParity, CallSiteOnItsOwnLineStillStops) {
|
|
|
641
641
|
EXPECT_EQ(line4, 2);
|
|
642
642
|
}
|
|
643
643
|
|
|
644
|
+
// Step-into-child aims at the children a `children()` call forwards, not
|
|
645
|
+
// at its own (it has none). Without this, the one statement whose entire
|
|
646
|
+
// job is to run the children offered a debugger nothing to aim at, and the
|
|
647
|
+
// step degraded into a continue -- running off the end of the script.
|
|
648
|
+
TEST(DebugHooksChildren, ChildrenCallForwardsItsCallersChildrenAsStepTargets) {
|
|
649
|
+
// Line 5 is the child; line 2 is the `children();` that forwards it.
|
|
650
|
+
const char* src = "module framed(gap) {\n"
|
|
651
|
+
" children();\n"
|
|
652
|
+
"}\n"
|
|
653
|
+
"framed(20)\n"
|
|
654
|
+
" leaf();\n"
|
|
655
|
+
"module leaf() { cube(1); }\n";
|
|
656
|
+
std::vector<std::pair<int, std::vector<std::pair<std::string, int>>>> seen;
|
|
657
|
+
DebugHooks hooks;
|
|
658
|
+
Evaluator* evp = nullptr;
|
|
659
|
+
hooks.debugHook = [&](int line, int, bool, bool exprLevel, const std::string&,
|
|
660
|
+
const std::vector<CallStackFrame>&, const DebugFramesFn&) {
|
|
661
|
+
if (!exprLevel && evp && evp->lastChildrenPositions())
|
|
662
|
+
seen.emplace_back(line, *evp->lastChildrenPositions());
|
|
663
|
+
return DebugAction{};
|
|
664
|
+
};
|
|
665
|
+
Evaluator ev(EchoFn{}, nullptr, nullptr, hooks);
|
|
666
|
+
evp = &ev;
|
|
667
|
+
auto ast = parseSrc(src);
|
|
668
|
+
auto scope = oscad::buildScopes(ast);
|
|
669
|
+
EvalContext ctx = EvalContext::makeRoot(scope.get());
|
|
670
|
+
ev.evaluate(ast, ctx);
|
|
671
|
+
|
|
672
|
+
// At `children();` on line 2, the target is the forwarded child on
|
|
673
|
+
// line 5 -- not nothing, and not the children() call's own position.
|
|
674
|
+
bool found = false;
|
|
675
|
+
for (const auto& [line, positions] : seen) {
|
|
676
|
+
if (line != 2) continue;
|
|
677
|
+
found = true;
|
|
678
|
+
ASSERT_EQ(positions.size(), 1u);
|
|
679
|
+
EXPECT_EQ(positions.front().second, 5);
|
|
680
|
+
}
|
|
681
|
+
EXPECT_TRUE(found) << "no statement-level stop at the children() call";
|
|
682
|
+
}
|
|
683
|
+
|
|
644
684
|
TEST(DebugHooksParity, BuiltinFunctionCallGetsNoCallSiteStop) {
|
|
645
685
|
// Only the assignment is statement-level; the 3 expr-level stops are
|
|
646
686
|
// the argument list literal's own elements, not a call-site stop.
|
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/.github/workflows/wheels.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/examples/eval_perf_benchmark.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/examples/manifold_cache_reuse.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/examples/minimal_debugger.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/function_builtins.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/primitives_2d.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/builtins/primitives_3d.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/src/text/stb_font_provider.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_bytecode_compiler.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_dxf_svg_import.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_function_builtins.cpp
RENAMED
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_import_export.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_manifold_cache.cpp
RENAMED
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_multi_color_merge.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_python_bindings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.26.0 → openscad_cpp_evaluator-0.26.1}/tests/test_viewport_params.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|