openscad-cpp-evaluator 1.28.0__tar.gz → 1.28.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-1.28.0 → openscad_cpp_evaluator-1.28.1}/PKG-INFO +1 -1
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/pyproject.toml +1 -1
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/primitives_3d.cpp +15 -8
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_primitives.cpp +29 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/uv.lock +1 -1
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/.github/workflows/ci.yml +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/.github/workflows/wheels.yml +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/.gitignore +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/.gitmodules +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/CLAUDE.md +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/LICENSE +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/README.md +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/bindings/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/bindings/ast_to_py.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/bindings/module.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/cmake/embed_font.cmake +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/examples/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/examples/eval_perf_benchmark.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/examples/manifold_cache_reuse.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/examples/minimal_debugger.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/.github/workflows/ci.yml +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/.gitignore +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/CLAUDE.md +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/README.md +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/api.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/ast_node.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/comments.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/declarations.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/expression.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/module_instantiation.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/scope_builder.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/vector_element.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/comments.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/position.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/pretty_print.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/scope.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/scope_table.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/serialization.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/source_map.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/api.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/ast/ast_node.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/ast/declarations.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/ast/expression.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/ast/format_utils.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/ast/module_instantiation.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/ast/scope_builder.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/ast/vector_element.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/comment_attach_internal.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/comments.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/grammar/driver.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/grammar/driver.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/grammar/lexer.l +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/grammar/lexer_api.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/grammar/oscad_location.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/grammar/parser.y +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/inline_comment_attach.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/position.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/pretty_print.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/scope.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/serialization/json_io.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/serialization/yaml_io.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/src/source_map.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_assignments.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_ast_generation.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_comments_and_files.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_const_borrow.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_control.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_expressions.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_functions.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_helpers.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_inline_comments.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_lexical.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_modules.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_node_str.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_pretty_print.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_render_expression.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_scope.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_serialization.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_smoke.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_source_map.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_strict_commas.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_use_include.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tests/test_vectors.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tools/cli/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/external/openscad_cpp_parser/tools/cli/main.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/bound_args.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/bytecode.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/bytecode_compiler.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/bytecode_vm.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/call_args.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/colored_body.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/coverage.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/csg_node.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/css_colors.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/debug_hooks.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/debug_repl.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/dispatch.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/dxf_svg_import.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/eval_context.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/eval_error.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/eval_use.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/evaluator.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/export.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/font_match.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/font_provider.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/format_closure.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/freetype_font_provider.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/function_builtins.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/import_builtin.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/manifold_cache.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/mesh_check.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/mesh_import.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/osc_range.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/profile.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/scope_trail.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/segments.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/surface_load.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/text_metrics.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/utf8.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/value.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/include/openscad_cpp_evaluator/zip_stored.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/python/openscad_cpp_evaluator/__init__.py +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/resources/fonts/LICENSE +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/resources/fonts/LiberationSans-Bold.ttf +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/resources/fonts/LiberationSans-BoldItalic.ttf +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/resources/fonts/LiberationSans-Italic.ttf +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/resources/fonts/LiberationSans-Regular.ttf +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/booleans.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/builtins.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/call_args.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/color.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/control.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/dxf_dim.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/extrude.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/function_builtins.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/import.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/modifiers.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/primitives_2d.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/registry.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/roof.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/segments.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/surface.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/text.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/topology.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/transforms.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/bytecode_compiler.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/bytecode_vm.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/colored_body.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/coverage.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/csg_generate.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/csg_resolve.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/css_colors.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/debug/debug_repl.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/debug_profile.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/eval_context.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/eval_error.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/eval_use.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/export.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/expr_eval.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/format_closure.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/import/dxf_import.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/import/mesh_import.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/import/surface_load.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/import/svg_import.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/manifold_cache.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/measure_geometry.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/mesh_check.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/stmt_eval.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/text/font_match.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/text/freetype_font_provider.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/text/text_metrics.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/user_calls.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/utf8.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/value.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/zip_stored.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_booleans.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_bytecode_compiler.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_children_separate.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_cli.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_control_flow.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_coverage.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_csg_tree.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_debug_hooks.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_dxf_svg_import.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_eval_context.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_export.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_expr_eval.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_extrude_roof.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_feature_detection.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_function_builtins.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_helpers.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_import_export.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_include_cache.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_manifold_cache.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_mesh_check.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_multi_color_merge.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_profiling.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_python_bindings.py +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_render_expr.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_scope_trail.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_scoping.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_surface.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_tail_calls.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_text.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_transforms.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_unexpected_args.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_use.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_value.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_viewport_params.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_zip_stored.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tools/cli/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tools/cli/cli_lib.cpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tools/cli/cli_lib.hpp +0 -0
- {openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tools/cli/main.cpp +0 -0
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/primitives_3d.cpp
RENAMED
|
@@ -102,18 +102,25 @@ std::string describeEdge(const M& mesh, std::pair<uint32_t, uint32_t> edge) {
|
|
|
102
102
|
|
|
103
103
|
CSGParams resolveCube(Evaluator& ev, const oscad::ModularCall& node, EvalContext& ctx) {
|
|
104
104
|
auto [args, effCtx] = resolveCallArgs(ev, node.arguments, ctx);
|
|
105
|
-
Value sizeArg = getArg(args, 0, "size", Value{
|
|
105
|
+
const Value sizeArg = getArg(args, 0, "size", Value{});
|
|
106
106
|
const bool center = truthy(getArg(args, 1, "center", Value{false}));
|
|
107
107
|
|
|
108
|
-
|
|
108
|
+
// As OpenSCAD reads it: undef (absent or explicit) is the default of 1, a
|
|
109
|
+
// number or three numbers are the size, and anything else warns and
|
|
110
|
+
// falls back to 1. Explicit undef built a zero-size cube -- nothing --
|
|
111
|
+
// and a 2-vector or a string was converted leniently, without a word.
|
|
112
|
+
std::vector<Value> sizeVec(3, Value{1.0});
|
|
113
|
+
const ListPtr* l = std::get_if<ListPtr>(&sizeArg);
|
|
109
114
|
if (const double* s = std::get_if<double>(&sizeArg)) {
|
|
110
115
|
sizeVec = {Value{*s}, Value{*s}, Value{*s}};
|
|
111
|
-
} else if (
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
} else {
|
|
116
|
-
|
|
116
|
+
} else if (l && *l && (*l)->items.size() == 3 &&
|
|
117
|
+
std::all_of((*l)->items.begin(), (*l)->items.end(),
|
|
118
|
+
[](const Value& v) { return std::holds_alternative<double>(v); })) {
|
|
119
|
+
sizeVec = (*l)->items;
|
|
120
|
+
} else if (!std::holds_alternative<std::monostate>(sizeArg)) {
|
|
121
|
+
ev.warn("Unable to convert cube(size=" + fmtValue(sizeArg) +
|
|
122
|
+
", ...) parameter to a number or a vec3 of numbers",
|
|
123
|
+
&node.position());
|
|
117
124
|
}
|
|
118
125
|
|
|
119
126
|
CSGParams params;
|
|
@@ -438,3 +438,32 @@ TEST(SphereStyle, StyleRespectsFnAndRadius) {
|
|
|
438
438
|
const double v20 = sphereStats("sphere(r=20, style=\"aligned\", $fn=24);").volume;
|
|
439
439
|
EXPECT_NEAR(v20 / v10, 8.0, 1e-6); // volume goes as r^3
|
|
440
440
|
}
|
|
441
|
+
|
|
442
|
+
// cube()'s size as OpenSCAD 2026.02.01 reads it: undef, absent or explicit,
|
|
443
|
+
// is the default of 1; anything but a number or three numbers warns and
|
|
444
|
+
// falls back to 1. Explicit undef built a zero-size cube -- nothing at all.
|
|
445
|
+
TEST(Primitives, CubeBadSizeIsAUnitCube) {
|
|
446
|
+
const std::pair<const char*, const char*> cases[] = {
|
|
447
|
+
{"undef", ""},
|
|
448
|
+
{"\"a\"", "size=\"a\""},
|
|
449
|
+
{"[1,2]", "size=[1, 2]"},
|
|
450
|
+
{"[1,2,undef]", "size=[1, 2, undef]"},
|
|
451
|
+
{"true", "size=true"},
|
|
452
|
+
{"[1,\"a\",3]", "size=[1, \"a\", 3]"},
|
|
453
|
+
};
|
|
454
|
+
for (const auto& [arg, shown] : cases) {
|
|
455
|
+
std::vector<std::string> log;
|
|
456
|
+
Evaluated e = evalSrc(std::string("cube(") + arg + ");", [&](const std::string& m) { log.push_back(m); });
|
|
457
|
+
ASSERT_EQ(e.bodies.size(), 1u) << arg;
|
|
458
|
+
ASSERT_TRUE(e.bodies[0].body.has_value()) << arg;
|
|
459
|
+
EXPECT_NEAR(e.bodies[0].body->Volume(), 1.0, 1e-9) << arg;
|
|
460
|
+
if (*shown == '\0') {
|
|
461
|
+
EXPECT_TRUE(log.empty()) << arg;
|
|
462
|
+
} else {
|
|
463
|
+
ASSERT_EQ(log.size(), 1u) << arg;
|
|
464
|
+
EXPECT_EQ(log[0], std::string("WARNING: Unable to convert cube(") + shown +
|
|
465
|
+
", ...) parameter to a number or a vec3 of numbers in file <string>, line 1")
|
|
466
|
+
<< arg;
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
}
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.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-1.28.0 → openscad_cpp_evaluator-1.28.1}/examples/eval_perf_benchmark.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/examples/manifold_cache_reuse.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.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
|
|
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-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/function_builtins.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/builtins/primitives_2d.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
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/src/text/freetype_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
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_bytecode_compiler.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_children_separate.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.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-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_feature_detection.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_function_builtins.cpp
RENAMED
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_import_export.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_include_cache.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_manifold_cache.cpp
RENAMED
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_multi_color_merge.cpp
RENAMED
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.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
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.1}/tests/test_unexpected_args.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-1.28.0 → openscad_cpp_evaluator-1.28.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
|