zoo-kcl 0.3.115__tar.gz → 0.3.117__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 (273) hide show
  1. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/Cargo.lock +39 -74
  2. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/Cargo.toml +4 -2
  3. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/PKG-INFO +1 -1
  4. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/Cargo.toml +1 -1
  5. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/src/example_tests.rs +2 -0
  6. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-directory-test-macro/Cargo.toml +1 -1
  7. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-error/Cargo.toml +1 -1
  8. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/Cargo.toml +2 -2
  9. zoo_kcl-0.3.117/kcl-lib/src/collections.rs +3 -0
  10. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/coredump/local.rs +0 -4
  11. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/coredump/mod.rs +0 -5
  12. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/coredump/wasm.rs +0 -6
  13. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/docs/kcl_doc.rs +2 -0
  14. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/docs/mod.rs +2 -1
  15. zoo_kcl-0.3.117/kcl-lib/src/errors/details.rs +19 -0
  16. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/errors.rs +8 -12
  17. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/annotations.rs +11 -1
  18. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/artifact/mermaid_tests.rs +14 -0
  19. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/artifact.rs +25 -0
  20. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/cache.rs +6 -0
  21. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/cad_op.rs +36 -2
  22. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/exec_ast.rs +677 -132
  23. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/geometry.rs +199 -6
  24. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/id_generator.rs +5 -1
  25. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/kcl_value.rs +87 -11
  26. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/mod.rs +88 -9
  27. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/modeling.rs +33 -4
  28. zoo_kcl-0.3.117/kcl-lib/src/execution/sketch_solve.rs +552 -0
  29. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/state.rs +194 -12
  30. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/types.rs +59 -2
  31. zoo_kcl-0.3.115/kcl-api/src/lib.rs → zoo_kcl-0.3.117/kcl-lib/src/frontend/api.rs +99 -58
  32. zoo_kcl-0.3.117/kcl-lib/src/frontend/modify.rs +60 -0
  33. zoo_kcl-0.3.117/kcl-lib/src/frontend/sketch.rs +310 -0
  34. zoo_kcl-0.3.117/kcl-lib/src/frontend/traverse.rs +598 -0
  35. zoo_kcl-0.3.117/kcl-lib/src/frontend.rs +3760 -0
  36. zoo_kcl-0.3.117/kcl-lib/src/id.rs +42 -0
  37. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lib.rs +24 -3
  38. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lsp/kcl/mod.rs +11 -4
  39. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/ast/types/mod.rs +42 -7
  40. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/project/mod.rs +7 -8
  41. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/simulation_tests.rs +189 -0
  42. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/args.rs +49 -25
  43. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/clone.rs +2 -0
  44. zoo_kcl-0.3.117/kcl-lib/src/std/constraints.rs +1425 -0
  45. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/extrude.rs +26 -3
  46. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/loft.rs +2 -1
  47. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/mod.rs +37 -0
  48. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/planes.rs +23 -2
  49. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/revolve.rs +11 -1
  50. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/shapes.rs +6 -5
  51. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/sketch.rs +30 -4
  52. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/sweep.rs +2 -1
  53. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/transform.rs +6 -10
  54. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/utils.rs +6 -2
  55. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/walk/ast_node.rs +160 -1
  56. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/walk/mod.rs +2 -2
  57. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/std/hole.kcl +15 -33
  58. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/std/prelude.kcl +7 -0
  59. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/std/sketch.kcl +25 -0
  60. zoo_kcl-0.3.117/kcl-lib/std/sketch2.kcl +64 -0
  61. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/std/types.kcl +4 -0
  62. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-python-bindings/Cargo.toml +1 -1
  63. zoo_kcl-0.3.115/kcl-api/Cargo.toml +0 -25
  64. zoo_kcl-0.3.115/kcl-api/src/sketch.rs +0 -248
  65. zoo_kcl-0.3.115/kcl-lib/src/std/constraints.rs +0 -13
  66. zoo_kcl-0.3.115/kcl-lib/std/sketch2.kcl +0 -46
  67. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/src/lib.rs +0 -0
  68. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/tests/args_with_lifetime.gen +0 -0
  69. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/tests/args_with_refs.gen +0 -0
  70. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/tests/array.gen +0 -0
  71. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/tests/box.gen +0 -0
  72. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/tests/doc_comment_with_code.gen +0 -0
  73. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/tests/lineTo.gen +0 -0
  74. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/tests/min.gen +0 -0
  75. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/tests/option.gen +0 -0
  76. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/tests/option_input_format.gen +0 -0
  77. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/tests/return_vec_box_sketch.gen +0 -0
  78. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/tests/return_vec_sketch.gen +0 -0
  79. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/tests/show.gen +0 -0
  80. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-derive-docs/tests/test_args_with_exec_state.gen +0 -0
  81. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-directory-test-macro/src/lib.rs +0 -0
  82. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-error/src/lib.rs +0 -0
  83. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-error/src/source_range.rs +0 -0
  84. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/README.md +0 -0
  85. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/clippy.toml +0 -0
  86. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/common.kcl +0 -0
  87. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/docs/gen_std_tests/type_formatter.rs +0 -0
  88. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/docs/gen_std_tests.rs +0 -0
  89. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/docs/templates/const.hbs +0 -0
  90. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/docs/templates/function.hbs +0 -0
  91. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/docs/templates/index.hbs +0 -0
  92. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/docs/templates/kclType.hbs +0 -0
  93. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/docs/templates/module.hbs +0 -0
  94. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/engine/async_tasks/mod.rs +0 -0
  95. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/engine/async_tasks/tasks.rs +0 -0
  96. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/engine/async_tasks/tasks_wasm.rs +0 -0
  97. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/engine/conn.rs +0 -0
  98. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/engine/conn_mock.rs +0 -0
  99. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/engine/conn_wasm.rs +0 -0
  100. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/engine/mod.rs +0 -0
  101. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/fn_call.rs +0 -0
  102. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/import.rs +0 -0
  103. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/import_graph.rs +0 -0
  104. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/memory.rs +0 -0
  105. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/execution/typed_path.rs +0 -0
  106. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/fmt.rs +0 -0
  107. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/fs/local.rs +0 -0
  108. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/fs/mod.rs +0 -0
  109. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/fs/wasm.rs +0 -0
  110. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lint/checks/camel_case.rs +0 -0
  111. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lint/checks/chained_profiles.rs +0 -0
  112. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lint/checks/default_plane.rs +0 -0
  113. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lint/checks/mod.rs +0 -0
  114. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lint/checks/offset_plane.rs +0 -0
  115. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lint/mod.rs +0 -0
  116. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lint/rule.rs +0 -0
  117. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/log.rs +0 -0
  118. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lsp/backend.rs +0 -0
  119. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lsp/copilot/cache.rs +0 -0
  120. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lsp/copilot/mod.rs +0 -0
  121. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lsp/copilot/types.rs +0 -0
  122. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lsp/kcl/custom_notifications.rs +0 -0
  123. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lsp/kcl/hover.rs +0 -0
  124. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lsp/mod.rs +0 -0
  125. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lsp/test_util.rs +0 -0
  126. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lsp/tests.rs +0 -0
  127. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/lsp/util.rs +0 -0
  128. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/main.rs +0 -0
  129. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/modules.rs +0 -0
  130. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/ast/digest.rs +0 -0
  131. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/ast/mod.rs +0 -0
  132. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/ast/types/condition.rs +0 -0
  133. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/ast/types/literal_value.rs +0 -0
  134. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/ast/types/none.rs +0 -0
  135. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/ast/types/path.rs +0 -0
  136. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/math.rs +0 -0
  137. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/mod.rs +0 -0
  138. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/parser.rs +0 -0
  139. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__a.snap +0 -0
  140. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__b.snap +0 -0
  141. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__c.snap +0 -0
  142. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__d.snap +0 -0
  143. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__e.snap +0 -0
  144. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__f.snap +0 -0
  145. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__g.snap +0 -0
  146. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__h.snap +0 -0
  147. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__i.snap +0 -0
  148. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__j.snap +0 -0
  149. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__k.snap +0 -0
  150. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__a.snap +0 -0
  151. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__aa.snap +0 -0
  152. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ab.snap +0 -0
  153. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ac.snap +0 -0
  154. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ad.snap +0 -0
  155. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ae.snap +0 -0
  156. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__af.snap +0 -0
  157. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ag.snap +0 -0
  158. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ah.snap +0 -0
  159. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ai.snap +0 -0
  160. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__aj.snap +0 -0
  161. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ak.snap +0 -0
  162. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ap.snap +0 -0
  163. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__aq.snap +0 -0
  164. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ar.snap +0 -0
  165. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__array_ranges.snap +0 -0
  166. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__at.snap +0 -0
  167. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__au.snap +0 -0
  168. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__av.snap +0 -0
  169. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__aw.snap +0 -0
  170. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ax.snap +0 -0
  171. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ay.snap +0 -0
  172. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__az.snap +0 -0
  173. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__b.snap +0 -0
  174. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bb.snap +0 -0
  175. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bc.snap +0 -0
  176. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bd.snap +0 -0
  177. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__be.snap +0 -0
  178. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bf.snap +0 -0
  179. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bg.snap +0 -0
  180. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bh.snap +0 -0
  181. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bi.snap +0 -0
  182. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bj.snap +0 -0
  183. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bk.snap +0 -0
  184. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bl.snap +0 -0
  185. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bm.snap +0 -0
  186. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bn.snap +0 -0
  187. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__c.snap +0 -0
  188. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__d.snap +0 -0
  189. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__d2.snap +0 -0
  190. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__e.snap +0 -0
  191. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__f.snap +0 -0
  192. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__g.snap +0 -0
  193. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__h.snap +0 -0
  194. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__i.snap +0 -0
  195. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__j.snap +0 -0
  196. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__k.snap +0 -0
  197. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_all_named.snap +0 -0
  198. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_call_in_pipe.snap +0 -0
  199. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_call_multiline.snap +0 -0
  200. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_call_multiline_with_comments.snap +0 -0
  201. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_decl_all_labeled.snap +0 -0
  202. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_decl_first_unlabeled.snap +0 -0
  203. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_decl_with_default_and_type.snap +0 -0
  204. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_decl_with_default_no_type.snap +0 -0
  205. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_in_binary_op.snap +0 -0
  206. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_unnamed_first.snap +0 -0
  207. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__l.snap +0 -0
  208. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__m.snap +0 -0
  209. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__n.snap +0 -0
  210. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__o.snap +0 -0
  211. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__p.snap +0 -0
  212. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__q.snap +0 -0
  213. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__r.snap +0 -0
  214. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__s.snap +0 -0
  215. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__space_between_expr_and_array.snap +0 -0
  216. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__space_between_unary_and_operand.snap +0 -0
  217. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__t.snap +0 -0
  218. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__u.snap +0 -0
  219. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__v.snap +0 -0
  220. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__w.snap +0 -0
  221. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__x.snap +0 -0
  222. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__y.snap +0 -0
  223. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__z.snap +0 -0
  224. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/token/mod.rs +0 -0
  225. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/token/snapshots/kcl_lib__parsing__token__tokeniser__tests__program2.snap +0 -0
  226. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/parsing/token/tokeniser.rs +0 -0
  227. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/settings/generate_settings_docs.rs +0 -0
  228. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/settings/mod.rs +0 -0
  229. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/settings/templates/settings.hbs +0 -0
  230. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/settings/types/mod.rs +0 -0
  231. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/settings/types/project.rs +0 -0
  232. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/simulation_tests/kcl_samples.rs +0 -0
  233. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/appearance.rs +0 -0
  234. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/array.rs +0 -0
  235. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/assert.rs +0 -0
  236. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/axis_or_reference.rs +0 -0
  237. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/chamfer.rs +0 -0
  238. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/csg.rs +0 -0
  239. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/edge.rs +0 -0
  240. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/fillet.rs +0 -0
  241. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/gdt.rs +0 -0
  242. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/helix.rs +0 -0
  243. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/math.rs +0 -0
  244. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/mirror.rs +0 -0
  245. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/patterns.rs +0 -0
  246. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/segment.rs +0 -0
  247. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/std/shell.rs +0 -0
  248. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/test_server.rs +0 -0
  249. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/thread/local.rs +0 -0
  250. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/thread/mod.rs +0 -0
  251. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/thread/wasm.rs +0 -0
  252. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/unparser.rs +0 -0
  253. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/variant_name.rs +0 -0
  254. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/walk/ast_visitor.rs +0 -0
  255. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/walk/ast_walk.rs +0 -0
  256. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/src/wasm/mod.rs +0 -0
  257. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/std/appearance.kcl +0 -0
  258. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/std/array.kcl +0 -0
  259. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/std/gdt.kcl +0 -0
  260. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/std/math.kcl +0 -0
  261. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/std/solid.kcl +0 -0
  262. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/std/sweep.kcl +0 -0
  263. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/std/transform.kcl +0 -0
  264. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/std/turns.kcl +0 -0
  265. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/std/units.kcl +0 -0
  266. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-lib/std/vector.kcl +0 -0
  267. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-python-bindings/README.md +0 -0
  268. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-python-bindings/justfile +0 -0
  269. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-python-bindings/kcl.pyi +0 -0
  270. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-python-bindings/src/bin/stub_gen.rs +0 -0
  271. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-python-bindings/src/bridge.rs +0 -0
  272. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/kcl-python-bindings/src/lib.rs +0 -0
  273. {zoo_kcl-0.3.115 → zoo_kcl-0.3.117}/pyproject.toml +0 -0
@@ -28,6 +28,19 @@ dependencies = [
28
28
  "cpufeatures",
29
29
  ]
30
30
 
31
+ [[package]]
32
+ name = "ahash"
33
+ version = "0.8.12"
34
+ source = "registry+https://github.com/rust-lang/crates.io-index"
35
+ checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
36
+ dependencies = [
37
+ "cfg-if",
38
+ "getrandom 0.3.1",
39
+ "once_cell",
40
+ "version_check",
41
+ "zerocopy",
42
+ ]
43
+
31
44
  [[package]]
32
45
  name = "aho-corasick"
33
46
  version = "1.1.3"
@@ -980,16 +993,6 @@ dependencies = [
980
993
  "windows-sys 0.59.0",
981
994
  ]
982
995
 
983
- [[package]]
984
- name = "error-stack"
985
- version = "0.5.0"
986
- source = "registry+https://github.com/rust-lang/crates.io-index"
987
- checksum = "fe413319145d1063f080f27556fd30b1d70b01e2ba10c2a6e40d4be982ffc5d1"
988
- dependencies = [
989
- "anyhow",
990
- "rustc_version",
991
- ]
992
-
993
996
  [[package]]
994
997
  name = "euler"
995
998
  version = "0.4.1"
@@ -2113,20 +2116,9 @@ dependencies = [
2113
2116
  "wasm-bindgen",
2114
2117
  ]
2115
2118
 
2116
- [[package]]
2117
- name = "kcl-api"
2118
- version = "0.1.115"
2119
- dependencies = [
2120
- "indexmap 2.12.1",
2121
- "kcl-error",
2122
- "serde",
2123
- "ts-rs",
2124
- "wasm-bindgen",
2125
- ]
2126
-
2127
2119
  [[package]]
2128
2120
  name = "kcl-bumper"
2129
- version = "0.1.115"
2121
+ version = "0.1.117"
2130
2122
  dependencies = [
2131
2123
  "anyhow",
2132
2124
  "clap",
@@ -2137,7 +2129,7 @@ dependencies = [
2137
2129
 
2138
2130
  [[package]]
2139
2131
  name = "kcl-derive-docs"
2140
- version = "0.1.115"
2132
+ version = "0.1.117"
2141
2133
  dependencies = [
2142
2134
  "proc-macro2",
2143
2135
  "quote",
@@ -2146,7 +2138,7 @@ dependencies = [
2146
2138
 
2147
2139
  [[package]]
2148
2140
  name = "kcl-directory-test-macro"
2149
- version = "0.1.115"
2141
+ version = "0.1.117"
2150
2142
  dependencies = [
2151
2143
  "convert_case",
2152
2144
  "proc-macro2",
@@ -2156,7 +2148,7 @@ dependencies = [
2156
2148
 
2157
2149
  [[package]]
2158
2150
  name = "kcl-error"
2159
- version = "0.1.115"
2151
+ version = "0.1.117"
2160
2152
  dependencies = [
2161
2153
  "miette",
2162
2154
  "serde",
@@ -2166,22 +2158,20 @@ dependencies = [
2166
2158
 
2167
2159
  [[package]]
2168
2160
  name = "kcl-ezpz"
2169
- version = "0.1.5"
2161
+ version = "0.2.5"
2170
2162
  source = "registry+https://github.com/rust-lang/crates.io-index"
2171
- checksum = "ae79e38dd74d57483135a0c29e9be71cd445e6381a2fb99ea683b637cc0934d8"
2163
+ checksum = "6f1a144da20a292630a7877b3ea62539d7645f107b650331b1feb5d18a0c9868"
2172
2164
  dependencies = [
2173
2165
  "faer",
2174
- "getrandom 0.2.16",
2175
2166
  "indexmap 2.12.1",
2176
2167
  "libm",
2177
- "newtonls_faer",
2178
2168
  "thiserror 2.0.17",
2179
2169
  "winnow",
2180
2170
  ]
2181
2171
 
2182
2172
  [[package]]
2183
2173
  name = "kcl-language-server"
2184
- version = "0.2.115"
2174
+ version = "0.2.117"
2185
2175
  dependencies = [
2186
2176
  "anyhow",
2187
2177
  "clap",
@@ -2202,7 +2192,7 @@ dependencies = [
2202
2192
 
2203
2193
  [[package]]
2204
2194
  name = "kcl-language-server-release"
2205
- version = "0.1.115"
2195
+ version = "0.1.117"
2206
2196
  dependencies = [
2207
2197
  "anyhow",
2208
2198
  "clap",
@@ -2222,8 +2212,9 @@ dependencies = [
2222
2212
 
2223
2213
  [[package]]
2224
2214
  name = "kcl-lib"
2225
- version = "0.2.115"
2215
+ version = "0.2.117"
2226
2216
  dependencies = [
2217
+ "ahash",
2227
2218
  "anyhow",
2228
2219
  "approx 0.5.1",
2229
2220
  "async-recursion",
@@ -2251,7 +2242,6 @@ dependencies = [
2251
2242
  "insta",
2252
2243
  "itertools 0.14.0",
2253
2244
  "js-sys",
2254
- "kcl-api",
2255
2245
  "kcl-derive-docs",
2256
2246
  "kcl-directory-test-macro",
2257
2247
  "kcl-error",
@@ -2304,7 +2294,7 @@ dependencies = [
2304
2294
 
2305
2295
  [[package]]
2306
2296
  name = "kcl-python-bindings"
2307
- version = "0.3.115"
2297
+ version = "0.3.117"
2308
2298
  dependencies = [
2309
2299
  "anyhow",
2310
2300
  "kcl-lib",
@@ -2320,7 +2310,7 @@ dependencies = [
2320
2310
 
2321
2311
  [[package]]
2322
2312
  name = "kcl-test-server"
2323
- version = "0.1.115"
2313
+ version = "0.1.117"
2324
2314
  dependencies = [
2325
2315
  "anyhow",
2326
2316
  "hyper 0.14.32",
@@ -2333,7 +2323,7 @@ dependencies = [
2333
2323
 
2334
2324
  [[package]]
2335
2325
  name = "kcl-to-core"
2336
- version = "0.1.115"
2326
+ version = "0.1.117"
2337
2327
  dependencies = [
2338
2328
  "anyhow",
2339
2329
  "async-trait",
@@ -2347,7 +2337,7 @@ dependencies = [
2347
2337
 
2348
2338
  [[package]]
2349
2339
  name = "kcl-wasm-lib"
2350
- version = "0.1.115"
2340
+ version = "0.1.117"
2351
2341
  dependencies = [
2352
2342
  "anyhow",
2353
2343
  "console_error_panic_hook",
@@ -2357,7 +2347,6 @@ dependencies = [
2357
2347
  "getrandom 0.3.1",
2358
2348
  "gloo-utils",
2359
2349
  "js-sys",
2360
- "kcl-api",
2361
2350
  "kcl-lib",
2362
2351
  "kittycad",
2363
2352
  "kittycad-modeling-cmds",
@@ -2415,9 +2404,9 @@ dependencies = [
2415
2404
 
2416
2405
  [[package]]
2417
2406
  name = "kittycad-modeling-cmds"
2418
- version = "0.2.148"
2407
+ version = "0.2.151"
2419
2408
  source = "registry+https://github.com/rust-lang/crates.io-index"
2420
- checksum = "c92e249d010420149c324f91e9c5ac9211ec24c79146d7ee5d27ea36ad189fc4"
2409
+ checksum = "0c8615ec7c02a236c833b330243fed8efa89718dcd1fb03917bde0b0c270a58e"
2421
2410
  dependencies = [
2422
2411
  "anyhow",
2423
2412
  "chrono",
@@ -2551,11 +2540,11 @@ checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e"
2551
2540
 
2552
2541
  [[package]]
2553
2542
  name = "log"
2554
- version = "0.4.28"
2543
+ version = "0.4.29"
2555
2544
  source = "registry+https://github.com/rust-lang/crates.io-index"
2556
- checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
2545
+ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
2557
2546
  dependencies = [
2558
- "serde",
2547
+ "serde_core",
2559
2548
  ]
2560
2549
 
2561
2550
  [[package]]
@@ -2872,21 +2861,6 @@ dependencies = [
2872
2861
  "unicode-segmentation",
2873
2862
  ]
2874
2863
 
2875
- [[package]]
2876
- name = "newtonls_faer"
2877
- version = "0.1.3"
2878
- source = "registry+https://github.com/rust-lang/crates.io-index"
2879
- checksum = "8245825be07ab6cd8121fc12aa8bbfe7d8fe94512298382a222f0104105e3cfe"
2880
- dependencies = [
2881
- "dyn-stack",
2882
- "error-stack",
2883
- "faer",
2884
- "faer-traits",
2885
- "num-complex",
2886
- "num-traits 0.2.19",
2887
- "rayon",
2888
- ]
2889
-
2890
2864
  [[package]]
2891
2865
  name = "nom"
2892
2866
  version = "7.1.3"
@@ -3950,15 +3924,6 @@ version = "2.1.1"
3950
3924
  source = "registry+https://github.com/rust-lang/crates.io-index"
3951
3925
  checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
3952
3926
 
3953
- [[package]]
3954
- name = "rustc_version"
3955
- version = "0.4.1"
3956
- source = "registry+https://github.com/rust-lang/crates.io-index"
3957
- checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
3958
- dependencies = [
3959
- "semver",
3960
- ]
3961
-
3962
3927
  [[package]]
3963
3928
  name = "rustix"
3964
3929
  version = "0.38.44"
@@ -5312,13 +5277,13 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
5312
5277
 
5313
5278
  [[package]]
5314
5279
  name = "uuid"
5315
- version = "1.18.1"
5280
+ version = "1.19.0"
5316
5281
  source = "registry+https://github.com/rust-lang/crates.io-index"
5317
- checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2"
5282
+ checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a"
5318
5283
  dependencies = [
5319
5284
  "getrandom 0.3.1",
5320
5285
  "js-sys",
5321
- "serde",
5286
+ "serde_core",
5322
5287
  "sha1_smol",
5323
5288
  "wasm-bindgen",
5324
5289
  ]
@@ -5789,18 +5754,18 @@ dependencies = [
5789
5754
 
5790
5755
  [[package]]
5791
5756
  name = "zerocopy"
5792
- version = "0.8.23"
5757
+ version = "0.8.31"
5793
5758
  source = "registry+https://github.com/rust-lang/crates.io-index"
5794
- checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6"
5759
+ checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3"
5795
5760
  dependencies = [
5796
5761
  "zerocopy-derive",
5797
5762
  ]
5798
5763
 
5799
5764
  [[package]]
5800
5765
  name = "zerocopy-derive"
5801
- version = "0.8.23"
5766
+ version = "0.8.31"
5802
5767
  source = "registry+https://github.com/rust-lang/crates.io-index"
5803
- checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154"
5768
+ checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a"
5804
5769
  dependencies = [
5805
5770
  "proc-macro2",
5806
5771
  "quote",
@@ -1,8 +1,9 @@
1
1
  [workspace]
2
2
  resolver = "2"
3
- members = ["kcl-api", "kcl-derive-docs", "kcl-directory-test-macro", "kcl-error", "kcl-lib", "kcl-python-bindings"]
3
+ members = ["kcl-derive-docs", "kcl-directory-test-macro", "kcl-error", "kcl-lib", "kcl-python-bindings"]
4
4
 
5
5
  [workspace.dependencies]
6
+ ahash = "0.8.11"
6
7
  anyhow = { version = "1" }
7
8
  async-trait = "0.1.89"
8
9
  clap = { version = "4.5.53", features = ["derive"] }
@@ -10,7 +11,7 @@ console_error_panic_hook = "0.1.7"
10
11
  dashmap = { version = "6.1.0" }
11
12
  http = "1"
12
13
  indexmap = "2.12.1"
13
- kcl-ezpz = "0.1.5"
14
+ kcl-ezpz = "0.2.5"
14
15
  kittycad = { version = "0.4.2", default-features = false, features = [
15
16
  "js",
16
17
  "requests",
@@ -72,6 +73,7 @@ debug = "line-tables-only"
72
73
 
73
74
  #Example: how to point modeling-app at a different repo (e.g. a branch or a local clone)
74
75
  # [patch.crates-io]
76
+ # kcl-ezpz = { path = "../../ezpz/kcl-ezpz" }
75
77
  # kittycad-modeling-cmds = { git = "https://github.com/KittyCAD/modeling-api.git", branch = "ben/chamfer_angle" }
76
78
  # kittycad-modeling-session = { git = "https://github.com/KittyCAD/modeling-api.git", branch = "ben/chamfer_angle" }
77
79
  # #kittycad-modeling-session = { path = "../../modeling-api/modeling-session" }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zoo-kcl
3
- Version: 0.3.115
3
+ Version: 0.3.117
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -1,7 +1,7 @@
1
1
  [package]
2
2
  name = "kcl-derive-docs"
3
3
  description = "A tool for generating documentation from Rust derive macros"
4
- version = "0.1.115"
4
+ version = "0.1.117"
5
5
  edition = "2021"
6
6
  license = "MIT"
7
7
  repository = "https://github.com/KittyCAD/modeling-app"
@@ -134,6 +134,8 @@ pub const TEST_NAMES: &[&str] = &[
134
134
  "std-sketch-extrude-4",
135
135
  "std-sketch-extrude-5",
136
136
  "std-sketch-extrude-6",
137
+ "std-sketch-extrude-7",
138
+ "std-sketch-extrude-8",
137
139
  "std-sketch-polygon-0",
138
140
  "std-sketch-polygon-1",
139
141
  "std-sketch-sweep-0",
@@ -1,7 +1,7 @@
1
1
  [package]
2
2
  name = "kcl-directory-test-macro"
3
3
  description = "A tool for generating tests from a directory of kcl files"
4
- version = "0.1.115"
4
+ version = "0.1.117"
5
5
  edition = "2021"
6
6
  license = "MIT"
7
7
  repository = "https://github.com/KittyCAD/modeling-app"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "kcl-error"
3
- version = "0.1.115"
3
+ version = "0.1.117"
4
4
  edition = "2024"
5
5
  description = "KCL error definitions"
6
6
  license = "MIT"
@@ -1,7 +1,7 @@
1
1
  [package]
2
2
  name = "kcl-lib"
3
3
  description = "KittyCAD Language implementation and tools"
4
- version = "0.2.115"
4
+ version = "0.2.117"
5
5
  edition = "2024"
6
6
  license = "MIT"
7
7
  repository = "https://github.com/KittyCAD/modeling-app"
@@ -42,6 +42,7 @@ lsp-test-util = []
42
42
  tabled = ["dep:tabled"]
43
43
 
44
44
  [dependencies]
45
+ ahash = { workspace = true }
45
46
  anyhow = { workspace = true, features = ["backtrace"] }
46
47
  async-recursion = "1.1.1"
47
48
  async-trait = { workspace = true }
@@ -64,7 +65,6 @@ http = { workspace = true }
64
65
  image = { version = "0.25.9", default-features = false, features = ["png"] }
65
66
  indexmap = { workspace = true, features = ["serde", "rayon"] }
66
67
  itertools = "0.14.0"
67
- kcl-api = { version = "0.1", path = "../kcl-api" }
68
68
  kcl-derive-docs = { version = "0.1", path = "../kcl-derive-docs" }
69
69
  kcl-error = { version = "0.1", path = "../kcl-error" }
70
70
  kcl-ezpz = { workspace = true }
@@ -0,0 +1,3 @@
1
+ use indexmap::IndexSet;
2
+
3
+ pub type AhashIndexSet<T> = IndexSet<T, ahash::RandomState>;
@@ -40,10 +40,6 @@ impl CoreDump for CoreDumper {
40
40
  Ok("".to_owned())
41
41
  }
42
42
 
43
- fn pool(&self) -> Result<String> {
44
- Ok("".to_owned())
45
- }
46
-
47
43
  fn os(&self) -> Result<crate::coredump::OsInfo> {
48
44
  Ok(crate::coredump::OsInfo {
49
45
  platform: Some(std::env::consts::OS.to_string()),
@@ -27,8 +27,6 @@ pub trait CoreDump: Clone {
27
27
 
28
28
  fn kcl_code(&self) -> Result<String>;
29
29
 
30
- fn pool(&self) -> Result<String>;
31
-
32
30
  fn os(&self) -> Result<OsInfo>;
33
31
 
34
32
  fn is_desktop(&self) -> Result<bool>;
@@ -88,7 +86,6 @@ pub trait CoreDump: Clone {
88
86
  os,
89
87
  webrtc_stats,
90
88
  github_issue_url: None,
91
- pool: self.pool()?,
92
89
  client_state,
93
90
  };
94
91
 
@@ -145,8 +142,6 @@ pub struct CoreDumpInfo {
145
142
  pub github_issue_url: Option<String>,
146
143
  /// The kcl code the user is using.
147
144
  pub kcl_code: String,
148
- /// Engine pool the client is connected to.
149
- pub pool: String,
150
145
  /// The client state (singletons and xstate).
151
146
  pub client_state: JValue,
152
147
  }
@@ -82,12 +82,6 @@ impl CoreDump for CoreDumper {
82
82
  .map_err(|e| anyhow::anyhow!("Failed to get response from kcl code: {:?}", e))
83
83
  }
84
84
 
85
- fn pool(&self) -> Result<String> {
86
- self.manager
87
- .pool()
88
- .map_err(|e| anyhow::anyhow!("Failed to get response from pool: {:?}", e))
89
- }
90
-
91
85
  fn os(&self) -> Result<crate::coredump::OsInfo> {
92
86
  let value = self
93
87
  .manager
@@ -657,6 +657,8 @@ impl FnData {
657
657
  return "hole(${0:holeSketch}, ${1:%})".to_owned();
658
658
  } else if self.name == "extrude" {
659
659
  return "extrude(length = ${0:10})".to_owned();
660
+ } else if self.name == "translate" {
661
+ return "translate(x = ${0:0}, y = ${1:0}, z = ${2:0})".to_owned();
660
662
  }
661
663
  let mut args = Vec::new();
662
664
  let mut index = 0;
@@ -243,7 +243,7 @@ mod tests {
243
243
  panic!();
244
244
  };
245
245
  let snippet = data.to_autocomplete_snippet();
246
- assert_eq!(snippet, r#"translate(x = ${0:10}, y = ${1:10}, z = ${2:10})"#);
246
+ assert_eq!(snippet, r#"translate(x = ${0:0}, y = ${1:0}, z = ${2:0})"#);
247
247
  }
248
248
 
249
249
  #[test]
@@ -298,6 +298,7 @@ mod tests {
298
298
  twistAngleStep?: number(Angle),
299
299
  twistCenter?: Point2d,
300
300
  method?: string,
301
+ bodyType?: string,
301
302
  ): [Solid; 1+]"#
302
303
  );
303
304
  }
@@ -0,0 +1,19 @@
1
+ //! This module exists to disable the unused_assignments warnings at the module
2
+ //! level to work around the miette macro issue.
3
+ //! https://github.com/zkat/miette/issues/458
4
+ #![expect(unused_assignments, reason = "miette macros trigger false positives")]
5
+
6
+ use kcl_error::SourceRange;
7
+ use serde::{Deserialize, Serialize};
8
+
9
+ #[derive(Debug, Serialize, Deserialize, ts_rs::TS, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic)]
10
+ #[serde(rename_all = "camelCase")]
11
+ #[error("{message}")]
12
+ #[ts(export)]
13
+ pub struct KclErrorDetails {
14
+ #[label(collection, "Errors")]
15
+ pub source_ranges: Vec<SourceRange>,
16
+ pub backtrace: Vec<super::BacktraceItem>,
17
+ #[serde(rename = "msg")]
18
+ pub message: String,
19
+ }
@@ -14,6 +14,10 @@ use crate::{
14
14
  modules::{ModulePath, ModuleSource},
15
15
  };
16
16
 
17
+ mod details;
18
+
19
+ pub use details::KclErrorDetails;
20
+
17
21
  /// How did the KCL execution fail
18
22
  #[derive(thiserror::Error, Debug)]
19
23
  pub enum ExecError {
@@ -392,18 +396,6 @@ impl miette::Diagnostic for Report {
392
396
  }
393
397
  }
394
398
 
395
- #[derive(Debug, Serialize, Deserialize, ts_rs::TS, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic)]
396
- #[serde(rename_all = "camelCase")]
397
- #[error("{message}")]
398
- #[ts(export)]
399
- pub struct KclErrorDetails {
400
- #[label(collection, "Errors")]
401
- pub source_ranges: Vec<SourceRange>,
402
- pub backtrace: Vec<BacktraceItem>,
403
- #[serde(rename = "msg")]
404
- pub message: String,
405
- }
406
-
407
399
  impl KclErrorDetails {
408
400
  pub fn new(message: String, source_ranges: Vec<SourceRange>) -> KclErrorDetails {
409
401
  let backtrace = source_ranges
@@ -460,6 +452,10 @@ impl KclError {
460
452
  KclError::Io { details }
461
453
  }
462
454
 
455
+ pub fn new_invalid_expression(details: KclErrorDetails) -> KclError {
456
+ KclError::InvalidExpression { details }
457
+ }
458
+
463
459
  pub fn new_engine(details: KclErrorDetails) -> KclError {
464
460
  KclError::Engine { details }
465
461
  }
@@ -35,9 +35,17 @@ pub(crate) const IMPL: &str = "impl";
35
35
  pub(crate) const IMPL_RUST: &str = "std_rust";
36
36
  pub(crate) const IMPL_CONSTRAINT: &str = "std_rust_constraint";
37
37
  pub(crate) const IMPL_CONSTRAINABLE: &str = "std_constrainable";
38
+ pub(crate) const IMPL_RUST_CONSTRAINABLE: &str = "std_rust_constrainable";
38
39
  pub(crate) const IMPL_KCL: &str = "kcl";
39
40
  pub(crate) const IMPL_PRIMITIVE: &str = "primitive";
40
- pub(super) const IMPL_VALUES: [&str; 5] = [IMPL_RUST, IMPL_KCL, IMPL_PRIMITIVE, IMPL_CONSTRAINT, IMPL_CONSTRAINABLE];
41
+ pub(super) const IMPL_VALUES: [&str; 6] = [
42
+ IMPL_RUST,
43
+ IMPL_KCL,
44
+ IMPL_PRIMITIVE,
45
+ IMPL_CONSTRAINT,
46
+ IMPL_CONSTRAINABLE,
47
+ IMPL_RUST_CONSTRAINABLE,
48
+ ];
41
49
 
42
50
  pub(crate) const WARNINGS: &str = "warnings";
43
51
  pub(crate) const WARN_ALLOW: &str = "allow";
@@ -110,6 +118,7 @@ pub enum Impl {
110
118
  Kcl,
111
119
  KclConstrainable,
112
120
  Rust,
121
+ RustConstrainable,
113
122
  RustConstraint,
114
123
  Primitive,
115
124
  }
@@ -122,6 +131,7 @@ impl FromStr for Impl {
122
131
  IMPL_RUST => Ok(Self::Rust),
123
132
  IMPL_CONSTRAINT => Ok(Self::RustConstraint),
124
133
  IMPL_CONSTRAINABLE => Ok(Self::KclConstrainable),
134
+ IMPL_RUST_CONSTRAINABLE => Ok(Self::RustConstrainable),
125
135
  IMPL_KCL => Ok(Self::Kcl),
126
136
  IMPL_PRIMITIVE => Ok(Self::Primitive),
127
137
  _ => Err(()),
@@ -87,6 +87,7 @@ impl Artifact {
87
87
  Artifact::Solid2d(a) => vec![a.path_id],
88
88
  Artifact::StartSketchOnFace(a) => vec![a.face_id],
89
89
  Artifact::StartSketchOnPlane(a) => vec![a.plane_id],
90
+ Artifact::SketchBlock(a) => a.plane_id.map(|id| vec![id]).unwrap_or_default(),
90
91
  Artifact::PlaneOfFace(a) => vec![a.face_id],
91
92
  Artifact::Sweep(a) => vec![a.path_id],
92
93
  Artifact::Wall(a) => vec![a.seg_id, a.sweep_id],
@@ -152,6 +153,10 @@ impl Artifact {
152
153
  // Note: Don't include these since they're parents: plane_id.
153
154
  Vec::new()
154
155
  }
156
+ Artifact::SketchBlock { .. } => {
157
+ // Note: Don't include these since they're parents: plane_id (if present).
158
+ Vec::new()
159
+ }
155
160
  Artifact::PlaneOfFace { .. } => {
156
161
  // Note: Don't include these since they're parents: face_id.
157
162
  Vec::new()
@@ -267,6 +272,7 @@ impl ArtifactGraph {
267
272
  }
268
273
  Artifact::StartSketchOnFace { .. }
269
274
  | Artifact::StartSketchOnPlane { .. }
275
+ | Artifact::SketchBlock { .. }
270
276
  | Artifact::PlaneOfFace { .. }
271
277
  | Artifact::Sweep(_)
272
278
  | Artifact::Wall(_)
@@ -382,6 +388,14 @@ impl ArtifactGraph {
382
388
  )?;
383
389
  node_path_display(output, prefix, None, code_ref)?;
384
390
  }
391
+ Artifact::SketchBlock(SketchBlock { code_ref, .. }) => {
392
+ writeln!(
393
+ output,
394
+ "{prefix}{id}[\"SketchBlock<br>{:?}\"]",
395
+ code_ref_display(code_ref)
396
+ )?;
397
+ node_path_display(output, prefix, None, code_ref)?;
398
+ }
385
399
  Artifact::PlaneOfFace(PlaneOfFace { code_ref, .. }) => {
386
400
  writeln!(
387
401
  output,