openscad-cpp-evaluator 0.4.0__tar.gz → 0.4.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.
Files changed (194) hide show
  1. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/CMakeLists.txt +15 -14
  2. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/PKG-INFO +1 -1
  3. openscad_cpp_evaluator-0.4.1/cmake/embed_font.cmake +28 -0
  4. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/pyproject.toml +1 -1
  5. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/CMakeLists.txt +2 -0
  6. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/text/stb_font_provider.cpp +7 -10
  7. openscad_cpp_evaluator-0.4.0/include/openscad_cpp_evaluator/bundled_font_path.hpp.in +0 -6
  8. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/.github/workflows/ci.yml +0 -0
  9. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/.github/workflows/wheels.yml +0 -0
  10. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/.gitignore +0 -0
  11. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/.gitmodules +0 -0
  12. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/CLAUDE.md +0 -0
  13. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/LICENSE +0 -0
  14. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/README.md +0 -0
  15. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/bindings/CMakeLists.txt +0 -0
  16. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/bindings/module.cpp +0 -0
  17. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/examples/CMakeLists.txt +0 -0
  18. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/examples/eval_perf_benchmark.cpp +0 -0
  19. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/examples/manifold_cache_reuse.cpp +0 -0
  20. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/examples/minimal_debugger.cpp +0 -0
  21. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/.github/workflows/ci.yml +0 -0
  22. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/.gitignore +0 -0
  23. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/CLAUDE.md +0 -0
  24. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/CMakeLists.txt +0 -0
  25. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/README.md +0 -0
  26. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/api.hpp +0 -0
  27. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/ast_node.hpp +0 -0
  28. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/comments.hpp +0 -0
  29. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/declarations.hpp +0 -0
  30. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/expression.hpp +0 -0
  31. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/module_instantiation.hpp +0 -0
  32. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/scope_builder.hpp +0 -0
  33. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/vector_element.hpp +0 -0
  34. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast.hpp +0 -0
  35. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/comments.hpp +0 -0
  36. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/position.hpp +0 -0
  37. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/pretty_print.hpp +0 -0
  38. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/scope.hpp +0 -0
  39. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/serialization.hpp +0 -0
  40. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/include/openscad_cpp_parser/source_map.hpp +0 -0
  41. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/CMakeLists.txt +0 -0
  42. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/api.cpp +0 -0
  43. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/ast/ast_node.cpp +0 -0
  44. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/ast/declarations.cpp +0 -0
  45. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/ast/expression.cpp +0 -0
  46. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/ast/format_utils.hpp +0 -0
  47. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/ast/module_instantiation.cpp +0 -0
  48. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/ast/scope_builder.cpp +0 -0
  49. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/ast/vector_element.cpp +0 -0
  50. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/comment_attach_internal.hpp +0 -0
  51. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/comments.cpp +0 -0
  52. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/grammar/driver.cpp +0 -0
  53. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/grammar/driver.hpp +0 -0
  54. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/grammar/lexer.l +0 -0
  55. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/grammar/lexer_api.hpp +0 -0
  56. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/grammar/oscad_location.hpp +0 -0
  57. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/grammar/parser.y +0 -0
  58. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/inline_comment_attach.cpp +0 -0
  59. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/position.cpp +0 -0
  60. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/pretty_print.cpp +0 -0
  61. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/scope.cpp +0 -0
  62. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/serialization/json_io.cpp +0 -0
  63. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/serialization/yaml_io.cpp +0 -0
  64. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/src/source_map.cpp +0 -0
  65. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/CMakeLists.txt +0 -0
  66. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_assignments.cpp +0 -0
  67. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_ast_generation.cpp +0 -0
  68. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_comments_and_files.cpp +0 -0
  69. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_const_borrow.cpp +0 -0
  70. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_control.cpp +0 -0
  71. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_expressions.cpp +0 -0
  72. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_functions.cpp +0 -0
  73. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_helpers.hpp +0 -0
  74. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_inline_comments.cpp +0 -0
  75. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_lexical.cpp +0 -0
  76. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_modules.cpp +0 -0
  77. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_node_str.cpp +0 -0
  78. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_pretty_print.cpp +0 -0
  79. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_scope.cpp +0 -0
  80. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_serialization.cpp +0 -0
  81. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_smoke.cpp +0 -0
  82. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_source_map.cpp +0 -0
  83. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_use_include.cpp +0 -0
  84. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tests/test_vectors.cpp +0 -0
  85. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tools/cli/CMakeLists.txt +0 -0
  86. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/external/openscad_cpp_parser/tools/cli/main.cpp +0 -0
  87. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/bound_args.hpp +0 -0
  88. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/bytecode.hpp +0 -0
  89. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/bytecode_compiler.hpp +0 -0
  90. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/bytecode_vm.hpp +0 -0
  91. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/call_args.hpp +0 -0
  92. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/colored_body.hpp +0 -0
  93. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/csg_node.hpp +0 -0
  94. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/css_colors.hpp +0 -0
  95. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/debug_hooks.hpp +0 -0
  96. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/debug_repl.hpp +0 -0
  97. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/dispatch.hpp +0 -0
  98. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/dxf_svg_import.hpp +0 -0
  99. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/eval_context.hpp +0 -0
  100. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/eval_error.hpp +0 -0
  101. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/eval_use.hpp +0 -0
  102. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/evaluator.hpp +0 -0
  103. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/export.hpp +0 -0
  104. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/font_provider.hpp +0 -0
  105. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/function_builtins.hpp +0 -0
  106. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/import_builtin.hpp +0 -0
  107. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/manifold_cache.hpp +0 -0
  108. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/mesh_import.hpp +0 -0
  109. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/osc_range.hpp +0 -0
  110. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/profile.hpp +0 -0
  111. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/scope_trail.hpp +0 -0
  112. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/segments.hpp +0 -0
  113. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/stb_font_provider.hpp +0 -0
  114. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/surface_load.hpp +0 -0
  115. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/text_metrics.hpp +0 -0
  116. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/value.hpp +0 -0
  117. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/include/openscad_cpp_evaluator/zip_stored.hpp +0 -0
  118. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/python/openscad_cpp_evaluator/__init__.py +0 -0
  119. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/resources/fonts/LICENSE +0 -0
  120. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/resources/fonts/LiberationSans-Regular.ttf +0 -0
  121. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/booleans.cpp +0 -0
  122. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/builtins.hpp +0 -0
  123. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/call_args.cpp +0 -0
  124. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/color.cpp +0 -0
  125. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/control.cpp +0 -0
  126. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/extrude.cpp +0 -0
  127. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/function_builtins.cpp +0 -0
  128. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/import.cpp +0 -0
  129. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/modifiers.cpp +0 -0
  130. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/primitives_2d.cpp +0 -0
  131. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/primitives_3d.cpp +0 -0
  132. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/registry.cpp +0 -0
  133. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/roof.cpp +0 -0
  134. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/segments.cpp +0 -0
  135. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/surface.cpp +0 -0
  136. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/text.cpp +0 -0
  137. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/topology.cpp +0 -0
  138. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/builtins/transforms.cpp +0 -0
  139. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/bytecode_compiler.cpp +0 -0
  140. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/bytecode_vm.cpp +0 -0
  141. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/colored_body.cpp +0 -0
  142. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/csg_generate.cpp +0 -0
  143. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/csg_resolve.cpp +0 -0
  144. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/css_colors.cpp +0 -0
  145. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/debug/debug_repl.cpp +0 -0
  146. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/debug_profile.cpp +0 -0
  147. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/eval_context.cpp +0 -0
  148. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/eval_error.cpp +0 -0
  149. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/eval_use.cpp +0 -0
  150. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/export.cpp +0 -0
  151. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/expr_eval.cpp +0 -0
  152. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/import/dxf_import.cpp +0 -0
  153. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/import/mesh_import.cpp +0 -0
  154. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/import/surface_load.cpp +0 -0
  155. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/import/svg_import.cpp +0 -0
  156. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/manifold_cache.cpp +0 -0
  157. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/stmt_eval.cpp +0 -0
  158. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/text/text_metrics.cpp +0 -0
  159. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/user_calls.cpp +0 -0
  160. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/value.cpp +0 -0
  161. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/src/zip_stored.cpp +0 -0
  162. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/CMakeLists.txt +0 -0
  163. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_booleans.cpp +0 -0
  164. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_bytecode_compiler.cpp +0 -0
  165. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_cli.cpp +0 -0
  166. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_control_flow.cpp +0 -0
  167. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_csg_tree.cpp +0 -0
  168. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_debug_hooks.cpp +0 -0
  169. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_dxf_svg_import.cpp +0 -0
  170. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_eval_context.cpp +0 -0
  171. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_export.cpp +0 -0
  172. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_expr_eval.cpp +0 -0
  173. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_extrude_roof.cpp +0 -0
  174. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_function_builtins.cpp +0 -0
  175. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_helpers.hpp +0 -0
  176. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_import_export.cpp +0 -0
  177. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_manifold_cache.cpp +0 -0
  178. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_multi_color_merge.cpp +0 -0
  179. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_primitives.cpp +0 -0
  180. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_profiling.cpp +0 -0
  181. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_python_bindings.py +0 -0
  182. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_scoping.cpp +0 -0
  183. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_surface.cpp +0 -0
  184. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_tail_calls.cpp +0 -0
  185. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_text.cpp +0 -0
  186. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_transforms.cpp +0 -0
  187. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_use.cpp +0 -0
  188. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_value.cpp +0 -0
  189. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_viewport_params.cpp +0 -0
  190. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tests/test_zip_stored.cpp +0 -0
  191. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tools/cli/CMakeLists.txt +0 -0
  192. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tools/cli/cli_lib.cpp +0 -0
  193. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tools/cli/cli_lib.hpp +0 -0
  194. {openscad_cpp_evaluator-0.4.0 → openscad_cpp_evaluator-0.4.1}/tools/cli/main.cpp +0 -0
@@ -147,21 +147,22 @@ FetchContent_MakeAvailable(stb)
147
147
  FetchContent_Declare(cpp_linenoise GIT_REPOSITORY https://github.com/yhirose/cpp-linenoise.git GIT_TAG master GIT_SHALLOW TRUE)
148
148
  FetchContent_MakeAvailable(cpp_linenoise)
149
149
 
150
- # Bakes an absolute path to the bundled default font (resources/fonts/) into
151
- # a generated header, so StbFontProvider's default constructor doesn't need
152
- # a runtime-configurable resource search path.
153
- #
154
- # ponytail: fine for this repo's own tests/CLI (always built from this
155
- # source tree) but not how a packaged/installed build should ship a font --
156
- # a real install needs either the resource file copied alongside the
157
- # installed binary or the font bytes embedded directly into the binary
158
- # (e.g. via a generated byte-array header). Upgrade when packaging is
159
- # actually needed; not worth building now for a resource this project only
160
- # consumes from its own build tree so far.
161
- configure_file(
162
- ${CMAKE_CURRENT_SOURCE_DIR}/include/openscad_cpp_evaluator/bundled_font_path.hpp.in
163
- ${CMAKE_CURRENT_BINARY_DIR}/generated/openscad_cpp_evaluator/bundled_font_path.hpp
150
+ # Embeds the bundled default font's (resources/fonts/) raw bytes into a
151
+ # generated header (kBundledFontData/kBundledFontDataSize), so
152
+ # StbFontProvider's default constructor needs no runtime file path at all --
153
+ # a real installed/packaged build (e.g. the PyPI wheel) has no guarantee the
154
+ # source tree's resources/fonts/ is present or at any predictable path
155
+ # alongside the installed shared library.
156
+ set(BUNDLED_FONT_SRC ${CMAKE_CURRENT_SOURCE_DIR}/resources/fonts/LiberationSans-Regular.ttf)
157
+ set(BUNDLED_FONT_HEADER ${CMAKE_CURRENT_BINARY_DIR}/generated/openscad_cpp_evaluator/bundled_font_data.hpp)
158
+ add_custom_command(
159
+ OUTPUT ${BUNDLED_FONT_HEADER}
160
+ COMMAND ${CMAKE_COMMAND} -DIN_FILE=${BUNDLED_FONT_SRC} -DOUT_FILE=${BUNDLED_FONT_HEADER}
161
+ -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/embed_font.cmake
162
+ DEPENDS ${BUNDLED_FONT_SRC} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/embed_font.cmake
163
+ COMMENT "Embedding bundled font bytes into bundled_font_data.hpp"
164
164
  )
165
+ add_custom_target(generate_bundled_font DEPENDS ${BUNDLED_FONT_HEADER})
165
166
 
166
167
  option(BUILD_TESTING "Build tests" ON)
167
168
  option(BUILD_EXAMPLES "Build the examples/ programs (e.g. minimal_debugger)" ON)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openscad_cpp_evaluator
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: C++ OpenSCAD evaluator with Python bindings
5
5
  Author: NeuSCAD Contributors
6
6
  License-Expression: MIT
@@ -0,0 +1,28 @@
1
+ # Reads IN_FILE (binary) and writes OUT_FILE: a C++ header exposing its
2
+ # bytes as a static array (kBundledFontData/kBundledFontDataSize). Run via
3
+ # `cmake -DIN_FILE=... -DOUT_FILE=... -P embed_font.cmake` as a build-time
4
+ # add_custom_command, not configure_file -- a font baked in as bytes has no
5
+ # runtime file path to go stale once the shared library is installed
6
+ # somewhere other than its own build tree (see this script's own call site
7
+ # in the top-level CMakeLists.txt for the packaging bug this replaces).
8
+ if(NOT DEFINED IN_FILE OR NOT DEFINED OUT_FILE)
9
+ message(FATAL_ERROR "embed_font.cmake requires -DIN_FILE=... -DOUT_FILE=...")
10
+ endif()
11
+
12
+ file(READ "${IN_FILE}" _hex HEX)
13
+ string(LENGTH "${_hex}" _hexLen)
14
+ math(EXPR _byteCount "${_hexLen} / 2")
15
+ string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1," _bytesCsv "${_hex}")
16
+
17
+ file(WRITE "${OUT_FILE}"
18
+ "// Auto-generated by cmake/embed_font.cmake from ${IN_FILE} -- do not edit.
19
+ #pragma once
20
+ #include <cstddef>
21
+
22
+ namespace oscadeval {
23
+ inline constexpr unsigned char kBundledFontData[] = {
24
+ ${_bytesCsv}
25
+ };
26
+ inline constexpr std::size_t kBundledFontDataSize = ${_byteCount};
27
+ } // namespace oscadeval
28
+ ")
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
4
4
 
5
5
  [project]
6
6
  name = "openscad_cpp_evaluator"
7
- version = "0.4.0"
7
+ version = "0.4.1"
8
8
  description = "C++ OpenSCAD evaluator with Python bindings"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -47,6 +47,8 @@ target_include_directories(openscad_cpp_evaluator PUBLIC
47
47
  )
48
48
  target_include_directories(openscad_cpp_evaluator PRIVATE ${stb_SOURCE_DIR} ${CMAKE_BINARY_DIR}/generated)
49
49
 
50
+ add_dependencies(openscad_cpp_evaluator generate_bundled_font)
51
+
50
52
  target_link_libraries(openscad_cpp_evaluator PUBLIC openscad_cpp_parser manifold Boost::polygon)
51
53
  target_link_libraries(openscad_cpp_evaluator PRIVATE linenoise)
52
54
  target_compile_options(openscad_cpp_evaluator PRIVATE
@@ -1,11 +1,10 @@
1
1
  #include "openscad_cpp_evaluator/stb_font_provider.hpp"
2
2
 
3
- #include "openscad_cpp_evaluator/bundled_font_path.hpp"
3
+ #include "openscad_cpp_evaluator/bundled_font_data.hpp"
4
4
 
5
5
  #define STB_TRUETYPE_IMPLEMENTATION
6
6
  #include <stb_truetype.h>
7
7
 
8
- #include <fstream>
9
8
  #include <stdexcept>
10
9
 
11
10
  namespace oscadeval {
@@ -82,16 +81,14 @@ struct StbFontProvider::Impl {
82
81
  };
83
82
 
84
83
  StbFontProvider::StbFontProvider() : impl_(std::make_unique<Impl>()) {
85
- std::ifstream in(kBundledFontPath, std::ios::binary);
86
- if (!in) throw std::runtime_error(std::string("could not open bundled font '") + kBundledFontPath + "'");
87
- in.seekg(0, std::ios::end);
88
- const auto size = in.tellg();
89
- in.seekg(0);
90
- impl_->data.resize(static_cast<size_t>(size));
91
- in.read(reinterpret_cast<char*>(impl_->data.data()), size);
84
+ // Embedded at build time (cmake/embed_font.cmake) -- no runtime file
85
+ // path to resolve, so this works identically whether running from this
86
+ // repo's own build tree or a packaged/installed wheel on another
87
+ // machine entirely.
88
+ impl_->data.assign(kBundledFontData, kBundledFontData + kBundledFontDataSize);
92
89
 
93
90
  if (!stbtt_InitFont(&impl_->info, impl_->data.data(), 0)) {
94
- throw std::runtime_error(std::string("failed to parse bundled font '") + kBundledFontPath + "'");
91
+ throw std::runtime_error("failed to parse bundled font");
95
92
  }
96
93
  impl_->family = fontNameString(impl_->info, 1);
97
94
  impl_->style = fontNameString(impl_->info, 2);
@@ -1,6 +0,0 @@
1
- #pragma once
2
-
3
- // Generated by CMake (configure_file) -- see CMakeLists.txt.
4
- namespace oscadeval {
5
- inline constexpr const char* kBundledFontPath = "@CMAKE_CURRENT_SOURCE_DIR@/resources/fonts/LiberationSans-Regular.ttf";
6
- } // namespace oscadeval