openscad-cpp-evaluator 0.4.1__tar.gz → 0.4.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.
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/PKG-INFO +1 -1
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/bindings/module.cpp +15 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/pyproject.toml +1 -1
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/python/openscad_cpp_evaluator/__init__.py +2 -1
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_python_bindings.py +27 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/.github/workflows/ci.yml +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/.github/workflows/wheels.yml +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/.gitignore +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/.gitmodules +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/CLAUDE.md +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/LICENSE +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/README.md +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/bindings/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/cmake/embed_font.cmake +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/examples/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/examples/eval_perf_benchmark.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/examples/manifold_cache_reuse.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/examples/minimal_debugger.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/.github/workflows/ci.yml +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/.gitignore +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/CLAUDE.md +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/README.md +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/api.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/ast_node.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/comments.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/declarations.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/expression.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/module_instantiation.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/scope_builder.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/vector_element.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/comments.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/position.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/pretty_print.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/scope.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/serialization.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/include/openscad_cpp_parser/source_map.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/api.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/ast/ast_node.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/ast/declarations.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/ast/expression.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/ast/format_utils.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/ast/module_instantiation.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/ast/scope_builder.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/ast/vector_element.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/comment_attach_internal.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/comments.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/grammar/driver.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/grammar/driver.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/grammar/lexer.l +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/grammar/lexer_api.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/grammar/oscad_location.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/grammar/parser.y +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/inline_comment_attach.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/position.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/pretty_print.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/scope.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/serialization/json_io.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/serialization/yaml_io.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/src/source_map.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_assignments.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_ast_generation.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_comments_and_files.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_const_borrow.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_control.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_expressions.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_functions.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_helpers.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_inline_comments.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_lexical.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_modules.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_node_str.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_pretty_print.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_scope.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_serialization.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_smoke.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_source_map.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_use_include.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tests/test_vectors.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tools/cli/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/tools/cli/main.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/bound_args.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/bytecode.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/bytecode_compiler.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/bytecode_vm.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/call_args.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/colored_body.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/csg_node.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/css_colors.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/debug_hooks.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/debug_repl.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/dispatch.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/dxf_svg_import.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/eval_context.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/eval_error.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/eval_use.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/evaluator.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/export.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/font_provider.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/function_builtins.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/import_builtin.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/manifold_cache.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/mesh_import.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/osc_range.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/profile.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/scope_trail.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/segments.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/stb_font_provider.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/surface_load.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/text_metrics.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/value.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/include/openscad_cpp_evaluator/zip_stored.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/resources/fonts/LICENSE +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/resources/fonts/LiberationSans-Regular.ttf +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/booleans.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/builtins.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/call_args.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/color.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/control.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/extrude.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/function_builtins.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/import.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/modifiers.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/primitives_2d.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/primitives_3d.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/registry.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/roof.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/segments.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/surface.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/text.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/topology.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/transforms.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/bytecode_compiler.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/bytecode_vm.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/colored_body.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/csg_generate.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/csg_resolve.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/css_colors.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/debug/debug_repl.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/debug_profile.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/eval_context.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/eval_error.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/eval_use.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/export.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/expr_eval.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/import/dxf_import.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/import/mesh_import.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/import/surface_load.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/import/svg_import.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/manifold_cache.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/stmt_eval.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/text/stb_font_provider.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/text/text_metrics.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/user_calls.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/value.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/zip_stored.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_booleans.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_bytecode_compiler.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_cli.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_control_flow.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_csg_tree.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_debug_hooks.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_dxf_svg_import.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_eval_context.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_export.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_expr_eval.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_extrude_roof.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_function_builtins.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_helpers.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_import_export.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_manifold_cache.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_multi_color_merge.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_primitives.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_profiling.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_scoping.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_surface.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_tail_calls.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_text.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_transforms.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_use.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_value.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_viewport_params.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_zip_stored.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tools/cli/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tools/cli/cli_lib.cpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tools/cli/cli_lib.hpp +0 -0
- {openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tools/cli/main.cpp +0 -0
|
@@ -130,6 +130,21 @@ nb::dict bodyToDict(oscadeval::ColoredBody& cb) {
|
|
|
130
130
|
d["color"] = nb::make_tuple((*cb.color)[0], (*cb.color)[1], (*cb.color)[2], (*cb.color)[3]);
|
|
131
131
|
else
|
|
132
132
|
d["color"] = nb::none();
|
|
133
|
+
// Per-triangle RGBA, set only for a real multi-color CSG merge (see
|
|
134
|
+
// Evaluator::attachTriColors) -- None for the common single-material
|
|
135
|
+
// case, matching the reference's ColoredBody.tri_colors exactly (an
|
|
136
|
+
// (numTri, 4) float32 array or None). The renderer reads this to split
|
|
137
|
+
// one merged body's triangles across separate opaque/translucent draw
|
|
138
|
+
// buffers.
|
|
139
|
+
if (cb.triColors) {
|
|
140
|
+
const std::vector<std::array<float, 4>>& src = *cb.triColors;
|
|
141
|
+
std::vector<float> flat;
|
|
142
|
+
flat.reserve(src.size() * 4);
|
|
143
|
+
for (const auto& rgba : src) flat.insert(flat.end(), rgba.begin(), rgba.end());
|
|
144
|
+
d["tri_colors"] = vecToNumpy(std::move(flat), {src.size(), 4});
|
|
145
|
+
} else {
|
|
146
|
+
d["tri_colors"] = nb::none();
|
|
147
|
+
}
|
|
133
148
|
return d;
|
|
134
149
|
}
|
|
135
150
|
|
|
@@ -287,6 +287,7 @@ class ColoredBody:
|
|
|
287
287
|
color: Optional[tuple] # RGBA 0-1, or None to follow the theme
|
|
288
288
|
section: object = None # kept for API parity (always None here)
|
|
289
289
|
flat_preview: bool = False
|
|
290
|
+
tri_colors: Optional[object] = None # (numTri, 4) float32 ndarray, real multi-color CSG merges only
|
|
290
291
|
|
|
291
292
|
|
|
292
293
|
def bodies_from_dicts(body_dicts) -> list:
|
|
@@ -295,7 +296,7 @@ def bodies_from_dicts(body_dicts) -> list:
|
|
|
295
296
|
instances. Shared by Evaluator.evaluate() and a debug session's own live
|
|
296
297
|
partial-render (see debug_evaluate()'s `generate_partial` hook kwarg,
|
|
297
298
|
module.cpp) so both paths convert identically."""
|
|
298
|
-
return [ColoredBody(_BodyShim(d), d["color"], None, d["flat_preview"]) for d in body_dicts]
|
|
299
|
+
return [ColoredBody(_BodyShim(d), d["color"], None, d["flat_preview"], d.get("tri_colors")) for d in body_dicts]
|
|
299
300
|
|
|
300
301
|
|
|
301
302
|
class Evaluator:
|
|
@@ -192,6 +192,33 @@ def test_dyn_explicit_distinguishes_seeded_from_script_assigned():
|
|
|
192
192
|
assert "$fa" not in ev.dyn_explicit
|
|
193
193
|
|
|
194
194
|
|
|
195
|
+
def test_tri_colors_populated_for_a_real_multicolor_csg_merge():
|
|
196
|
+
# Found via BelfrySCAD's own renderer crashing on ColoredBody.tri_colors
|
|
197
|
+
# missing entirely -- the C++ core (Evaluator::attachTriColors,
|
|
198
|
+
# booleans.cpp) already computes this, bodyToDict() just never exposed
|
|
199
|
+
# it. union()-ing an opaque cube with a translucent sphere forces a real
|
|
200
|
+
# merge with two distinct triangle colors.
|
|
201
|
+
path = _write("union() { color([1,0,0,1]) cube(10); "
|
|
202
|
+
"color([0,1,0,0.5]) translate([5,5,5]) sphere(8); }")
|
|
203
|
+
ev = Evaluator()
|
|
204
|
+
bodies, _ = ev.evaluate(path)
|
|
205
|
+
assert len(bodies) == 1
|
|
206
|
+
tri_colors = bodies[0].tri_colors
|
|
207
|
+
assert tri_colors is not None
|
|
208
|
+
num_tris = bodies[0].body.to_mesh().tri_verts.shape[0]
|
|
209
|
+
assert tri_colors.shape == (num_tris, 4)
|
|
210
|
+
# Two distinct colors actually present, not e.g. all-default filler.
|
|
211
|
+
assert len({tuple(row) for row in tri_colors}) >= 2
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
def test_tri_colors_is_none_for_an_ordinary_single_color_body():
|
|
215
|
+
path = _write("cube(1);")
|
|
216
|
+
ev = Evaluator()
|
|
217
|
+
bodies, _ = ev.evaluate(path)
|
|
218
|
+
assert len(bodies) == 1
|
|
219
|
+
assert bodies[0].tri_colors is None
|
|
220
|
+
|
|
221
|
+
|
|
195
222
|
def main():
|
|
196
223
|
tests = [v for k, v in sorted(globals().items()) if k.startswith("test_") and callable(v)]
|
|
197
224
|
failures = []
|
|
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.4.1 → openscad_cpp_evaluator-0.4.2}/examples/eval_perf_benchmark.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/examples/manifold_cache_reuse.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/CLAUDE.md
RENAMED
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/external/openscad_cpp_parser/README.md
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
|
{openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/function_builtins.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/src/builtins/primitives_2d.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/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.4.1 → openscad_cpp_evaluator-0.4.2}/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.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_bytecode_compiler.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
|
{openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_function_builtins.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_multi_color_merge.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
|
{openscad_cpp_evaluator-0.4.1 → openscad_cpp_evaluator-0.4.2}/tests/test_viewport_params.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|