zoo-kcl 0.3.99__tar.gz → 0.3.101__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.
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/Cargo.lock +20 -20
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/Cargo.toml +1 -1
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/PKG-INFO +1 -1
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-api/Cargo.toml +1 -1
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/Cargo.toml +1 -1
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/src/example_tests.rs +4 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-directory-test-macro/Cargo.toml +1 -1
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-error/Cargo.toml +1 -1
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/Cargo.toml +3 -3
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/exec_ast.rs +1 -1
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/mod.rs +1 -1
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/modules.rs +1 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/simulation_tests.rs +21 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/args.rs +7 -11
- zoo_kcl-0.3.101/kcl-lib/src/std/gdt.rs +288 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/mod.rs +9 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/planes.rs +5 -0
- zoo_kcl-0.3.101/kcl-lib/std/gdt.kcl +113 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/std/prelude.kcl +1 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-python-bindings/Cargo.toml +1 -1
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-api/src/lib.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-api/src/sketch.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/src/lib.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/tests/args_with_lifetime.gen +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/tests/args_with_refs.gen +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/tests/array.gen +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/tests/box.gen +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/tests/doc_comment_with_code.gen +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/tests/lineTo.gen +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/tests/min.gen +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/tests/option.gen +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/tests/option_input_format.gen +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/tests/return_vec_box_sketch.gen +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/tests/return_vec_sketch.gen +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/tests/show.gen +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-derive-docs/tests/test_args_with_exec_state.gen +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-directory-test-macro/src/lib.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-error/src/lib.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-error/src/source_range.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/README.md +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/clippy.toml +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/common.kcl +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/coredump/local.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/coredump/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/coredump/wasm.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/docs/gen_std_tests.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/docs/kcl_doc.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/docs/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/docs/templates/const.hbs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/docs/templates/function.hbs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/docs/templates/index.hbs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/docs/templates/kclType.hbs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/docs/templates/module.hbs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/engine/async_tasks/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/engine/async_tasks/tasks.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/engine/async_tasks/tasks_wasm.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/engine/conn.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/engine/conn_mock.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/engine/conn_wasm.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/engine/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/errors.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/annotations.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/artifact/mermaid_tests.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/artifact.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/cache.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/cad_op.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/fn_call.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/geometry.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/id_generator.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/import.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/import_graph.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/kcl_value.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/memory.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/modeling.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/state.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/typed_path.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/execution/types.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/fmt.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/fs/local.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/fs/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/fs/wasm.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lib.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lint/checks/camel_case.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lint/checks/default_plane.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lint/checks/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lint/checks/offset_plane.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lint/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lint/rule.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/log.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lsp/backend.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lsp/copilot/cache.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lsp/copilot/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lsp/copilot/types.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lsp/kcl/custom_notifications.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lsp/kcl/hover.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lsp/kcl/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lsp/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lsp/test_util.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lsp/tests.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/lsp/util.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/main.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/ast/digest.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/ast/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/ast/types/condition.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/ast/types/literal_value.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/ast/types/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/ast/types/none.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/ast/types/path.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/math.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/parser.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__a.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__b.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__c.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__d.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__e.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__f.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__g.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__h.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__i.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__j.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_math_tests__k.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__a.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__aa.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ab.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ac.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ad.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ae.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__af.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ag.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ah.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ai.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__aj.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ak.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ap.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__aq.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ar.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__array_ranges.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__at.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__au.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__av.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__aw.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ax.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__ay.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__az.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__b.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bb.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bc.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bd.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__be.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bf.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bg.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bh.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bi.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bj.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bk.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bl.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bm.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__bn.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__c.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__d.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__d2.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__e.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__f.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__g.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__h.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__i.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__j.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__k.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_all_named.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_call_in_pipe.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_call_multiline.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_call_multiline_with_comments.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_decl_all_labeled.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_decl_first_unlabeled.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_decl_with_default_and_type.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_decl_with_default_no_type.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_in_binary_op.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__kw_function_unnamed_first.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__l.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__m.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__n.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__o.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__p.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__q.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__r.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__s.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__space_between_expr_and_array.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__space_between_unary_and_operand.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__t.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__u.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__v.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__w.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__x.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__y.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/snapshots/kcl_lib__parsing__parser__snapshot_tests__z.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/token/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/token/snapshots/kcl_lib__parsing__token__tokeniser__tests__program2.snap +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/parsing/token/tokeniser.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/project/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/settings/generate_settings_docs.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/settings/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/settings/templates/settings.hbs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/settings/types/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/settings/types/project.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/simulation_tests/kcl_samples.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/appearance.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/array.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/assert.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/axis_or_reference.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/chamfer.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/clone.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/constraints.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/csg.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/edge.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/extrude.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/fillet.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/helix.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/loft.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/math.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/mirror.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/patterns.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/revolve.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/segment.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/shapes.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/shell.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/sketch.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/sweep.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/transform.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/std/utils.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/test_server.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/thread/local.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/thread/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/thread/wasm.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/unparser.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/variant_name.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/walk/ast_node.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/walk/ast_visitor.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/walk/ast_walk.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/walk/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/src/wasm/mod.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/std/appearance.kcl +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/std/array.kcl +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/std/math.kcl +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/std/sketch.kcl +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/std/sketch2.kcl +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/std/solid.kcl +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/std/sweep.kcl +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/std/transform.kcl +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/std/turns.kcl +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/std/types.kcl +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/std/units.kcl +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-lib/std/vector.kcl +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-python-bindings/README.md +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-python-bindings/justfile +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-python-bindings/kcl.pyi +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-python-bindings/src/bin/stub_gen.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-python-bindings/src/bridge.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/kcl-python-bindings/src/lib.rs +0 -0
- {zoo_kcl-0.3.99 → zoo_kcl-0.3.101}/pyproject.toml +0 -0
|
@@ -2524,7 +2524,7 @@ dependencies = [
|
|
|
2524
2524
|
|
|
2525
2525
|
[[package]]
|
|
2526
2526
|
name = "kcl-api"
|
|
2527
|
-
version = "0.1.
|
|
2527
|
+
version = "0.1.8"
|
|
2528
2528
|
dependencies = [
|
|
2529
2529
|
"indexmap 2.11.4",
|
|
2530
2530
|
"kcl-error",
|
|
@@ -2535,7 +2535,7 @@ dependencies = [
|
|
|
2535
2535
|
|
|
2536
2536
|
[[package]]
|
|
2537
2537
|
name = "kcl-bumper"
|
|
2538
|
-
version = "0.1.
|
|
2538
|
+
version = "0.1.101"
|
|
2539
2539
|
dependencies = [
|
|
2540
2540
|
"anyhow",
|
|
2541
2541
|
"clap",
|
|
@@ -2546,7 +2546,7 @@ dependencies = [
|
|
|
2546
2546
|
|
|
2547
2547
|
[[package]]
|
|
2548
2548
|
name = "kcl-derive-docs"
|
|
2549
|
-
version = "0.1.
|
|
2549
|
+
version = "0.1.101"
|
|
2550
2550
|
dependencies = [
|
|
2551
2551
|
"proc-macro2",
|
|
2552
2552
|
"quote",
|
|
@@ -2555,7 +2555,7 @@ dependencies = [
|
|
|
2555
2555
|
|
|
2556
2556
|
[[package]]
|
|
2557
2557
|
name = "kcl-directory-test-macro"
|
|
2558
|
-
version = "0.1.
|
|
2558
|
+
version = "0.1.101"
|
|
2559
2559
|
dependencies = [
|
|
2560
2560
|
"convert_case",
|
|
2561
2561
|
"proc-macro2",
|
|
@@ -2565,7 +2565,7 @@ dependencies = [
|
|
|
2565
2565
|
|
|
2566
2566
|
[[package]]
|
|
2567
2567
|
name = "kcl-error"
|
|
2568
|
-
version = "0.1.
|
|
2568
|
+
version = "0.1.8"
|
|
2569
2569
|
dependencies = [
|
|
2570
2570
|
"miette",
|
|
2571
2571
|
"serde",
|
|
@@ -2588,7 +2588,7 @@ dependencies = [
|
|
|
2588
2588
|
|
|
2589
2589
|
[[package]]
|
|
2590
2590
|
name = "kcl-language-server"
|
|
2591
|
-
version = "0.2.
|
|
2591
|
+
version = "0.2.101"
|
|
2592
2592
|
dependencies = [
|
|
2593
2593
|
"anyhow",
|
|
2594
2594
|
"clap",
|
|
@@ -2609,7 +2609,7 @@ dependencies = [
|
|
|
2609
2609
|
|
|
2610
2610
|
[[package]]
|
|
2611
2611
|
name = "kcl-language-server-release"
|
|
2612
|
-
version = "0.1.
|
|
2612
|
+
version = "0.1.101"
|
|
2613
2613
|
dependencies = [
|
|
2614
2614
|
"anyhow",
|
|
2615
2615
|
"clap",
|
|
@@ -2629,7 +2629,7 @@ dependencies = [
|
|
|
2629
2629
|
|
|
2630
2630
|
[[package]]
|
|
2631
2631
|
name = "kcl-lib"
|
|
2632
|
-
version = "0.2.
|
|
2632
|
+
version = "0.2.101"
|
|
2633
2633
|
dependencies = [
|
|
2634
2634
|
"anyhow",
|
|
2635
2635
|
"approx 0.5.1",
|
|
@@ -2709,7 +2709,7 @@ dependencies = [
|
|
|
2709
2709
|
|
|
2710
2710
|
[[package]]
|
|
2711
2711
|
name = "kcl-python-bindings"
|
|
2712
|
-
version = "0.3.
|
|
2712
|
+
version = "0.3.101"
|
|
2713
2713
|
dependencies = [
|
|
2714
2714
|
"anyhow",
|
|
2715
2715
|
"kcl-lib",
|
|
@@ -2725,7 +2725,7 @@ dependencies = [
|
|
|
2725
2725
|
|
|
2726
2726
|
[[package]]
|
|
2727
2727
|
name = "kcl-test-server"
|
|
2728
|
-
version = "0.1.
|
|
2728
|
+
version = "0.1.101"
|
|
2729
2729
|
dependencies = [
|
|
2730
2730
|
"anyhow",
|
|
2731
2731
|
"hyper 0.14.32",
|
|
@@ -2738,7 +2738,7 @@ dependencies = [
|
|
|
2738
2738
|
|
|
2739
2739
|
[[package]]
|
|
2740
2740
|
name = "kcl-to-core"
|
|
2741
|
-
version = "0.1.
|
|
2741
|
+
version = "0.1.101"
|
|
2742
2742
|
dependencies = [
|
|
2743
2743
|
"anyhow",
|
|
2744
2744
|
"async-trait",
|
|
@@ -2752,7 +2752,7 @@ dependencies = [
|
|
|
2752
2752
|
|
|
2753
2753
|
[[package]]
|
|
2754
2754
|
name = "kcl-wasm-lib"
|
|
2755
|
-
version = "0.1.
|
|
2755
|
+
version = "0.1.101"
|
|
2756
2756
|
dependencies = [
|
|
2757
2757
|
"anyhow",
|
|
2758
2758
|
"bson",
|
|
@@ -2820,9 +2820,9 @@ dependencies = [
|
|
|
2820
2820
|
|
|
2821
2821
|
[[package]]
|
|
2822
2822
|
name = "kittycad-modeling-cmds"
|
|
2823
|
-
version = "0.2.
|
|
2823
|
+
version = "0.2.144"
|
|
2824
2824
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2825
|
-
checksum = "
|
|
2825
|
+
checksum = "58c575ffec0c363c3cfcffcfcce8891dc365f9cbe7fe79404ed2087e7664f10c"
|
|
2826
2826
|
dependencies = [
|
|
2827
2827
|
"anyhow",
|
|
2828
2828
|
"chrono",
|
|
@@ -5277,9 +5277,9 @@ checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a"
|
|
|
5277
5277
|
|
|
5278
5278
|
[[package]]
|
|
5279
5279
|
name = "tempfile"
|
|
5280
|
-
version = "3.
|
|
5280
|
+
version = "3.23.0"
|
|
5281
5281
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
5282
|
-
checksum = "
|
|
5282
|
+
checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16"
|
|
5283
5283
|
dependencies = [
|
|
5284
5284
|
"fastrand",
|
|
5285
5285
|
"getrandom 0.3.1",
|
|
@@ -5501,9 +5501,9 @@ dependencies = [
|
|
|
5501
5501
|
|
|
5502
5502
|
[[package]]
|
|
5503
5503
|
name = "tokio-tungstenite"
|
|
5504
|
-
version = "0.
|
|
5504
|
+
version = "0.28.0"
|
|
5505
5505
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
5506
|
-
checksum = "
|
|
5506
|
+
checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857"
|
|
5507
5507
|
dependencies = [
|
|
5508
5508
|
"futures-util",
|
|
5509
5509
|
"log",
|
|
@@ -5824,9 +5824,9 @@ dependencies = [
|
|
|
5824
5824
|
|
|
5825
5825
|
[[package]]
|
|
5826
5826
|
name = "tungstenite"
|
|
5827
|
-
version = "0.
|
|
5827
|
+
version = "0.28.0"
|
|
5828
5828
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
5829
|
-
checksum = "
|
|
5829
|
+
checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442"
|
|
5830
5830
|
dependencies = [
|
|
5831
5831
|
"bytes",
|
|
5832
5832
|
"data-encoding",
|
|
@@ -15,7 +15,7 @@ kittycad = { version = "0.4.2", default-features = false, features = [
|
|
|
15
15
|
"js",
|
|
16
16
|
"requests",
|
|
17
17
|
] }
|
|
18
|
-
kittycad-modeling-cmds = { version = "0.2.
|
|
18
|
+
kittycad-modeling-cmds = { version = "0.2.144", features = [
|
|
19
19
|
"ts-rs",
|
|
20
20
|
"websocket",
|
|
21
21
|
] }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "kcl-lib"
|
|
3
3
|
description = "KittyCAD Language implementation and tools"
|
|
4
|
-
version = "0.2.
|
|
4
|
+
version = "0.2.101"
|
|
5
5
|
edition = "2024"
|
|
6
6
|
license = "MIT"
|
|
7
7
|
repository = "https://github.com/KittyCAD/modeling-app"
|
|
@@ -98,7 +98,7 @@ serde = { workspace = true }
|
|
|
98
98
|
serde_json = { workspace = true }
|
|
99
99
|
sha2 = "0.10.9"
|
|
100
100
|
tabled = { version = "0.20.0", optional = true }
|
|
101
|
-
tempfile = "3.
|
|
101
|
+
tempfile = "3.23"
|
|
102
102
|
thiserror = "2.0.16"
|
|
103
103
|
toml = "0.9.6"
|
|
104
104
|
ts-rs = { version = "11.0.1", features = [
|
|
@@ -120,7 +120,7 @@ zip = { workspace = true }
|
|
|
120
120
|
|
|
121
121
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
122
122
|
tokio = { workspace = true, features = ["full"] }
|
|
123
|
-
tokio-tungstenite = { version = "0.
|
|
123
|
+
tokio-tungstenite = { version = "0.28.0", features = [
|
|
124
124
|
"rustls-tls-native-roots",
|
|
125
125
|
] }
|
|
126
126
|
tower-lsp = { workspace = true, features = ["proposed", "default"] }
|
|
@@ -60,6 +60,7 @@ impl ModuleLoader {
|
|
|
60
60
|
pub(crate) fn read_std(mod_name: &str) -> Option<&'static str> {
|
|
61
61
|
match mod_name {
|
|
62
62
|
"prelude" => Some(include_str!("../std/prelude.kcl")),
|
|
63
|
+
"gdt" => Some(include_str!("../std/gdt.kcl")),
|
|
63
64
|
"math" => Some(include_str!("../std/math.kcl")),
|
|
64
65
|
"sketch" => Some(include_str!("../std/sketch.kcl")),
|
|
65
66
|
"sketch2" => Some(include_str!("../std/sketch2.kcl")),
|
|
@@ -3941,3 +3941,24 @@ mod union_self {
|
|
|
3941
3941
|
super::execute(TEST_NAME, true).await
|
|
3942
3942
|
}
|
|
3943
3943
|
}
|
|
3944
|
+
mod plane_of_chamfer {
|
|
3945
|
+
const TEST_NAME: &str = "plane_of_chamfer";
|
|
3946
|
+
|
|
3947
|
+
/// Test parsing KCL.
|
|
3948
|
+
#[test]
|
|
3949
|
+
fn parse() {
|
|
3950
|
+
super::parse(TEST_NAME)
|
|
3951
|
+
}
|
|
3952
|
+
|
|
3953
|
+
/// Test that parsing and unparsing KCL produces the original KCL input.
|
|
3954
|
+
#[tokio::test(flavor = "multi_thread")]
|
|
3955
|
+
async fn unparse() {
|
|
3956
|
+
super::unparse(TEST_NAME).await
|
|
3957
|
+
}
|
|
3958
|
+
|
|
3959
|
+
/// Test that KCL is executed correctly.
|
|
3960
|
+
#[tokio::test(flavor = "multi_thread")]
|
|
3961
|
+
async fn kcl_test_execute() {
|
|
3962
|
+
super::execute(TEST_NAME, true).await
|
|
3963
|
+
}
|
|
3964
|
+
}
|
|
@@ -471,17 +471,13 @@ impl<'a> FromKclValue<'a> for TagIdentifier {
|
|
|
471
471
|
|
|
472
472
|
impl<'a> FromKclValue<'a> for Vec<TagIdentifier> {
|
|
473
473
|
fn from_kcl_val(arg: &'a KclValue) -> Option<Self> {
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
Some(tags)
|
|
482
|
-
}
|
|
483
|
-
_ => None,
|
|
484
|
-
}
|
|
474
|
+
let tags = arg
|
|
475
|
+
.clone()
|
|
476
|
+
.into_array()
|
|
477
|
+
.iter()
|
|
478
|
+
.map(|v| v.get_tag_identifier().unwrap())
|
|
479
|
+
.collect();
|
|
480
|
+
Some(tags)
|
|
485
481
|
}
|
|
486
482
|
}
|
|
487
483
|
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
use kcl_error::SourceRange;
|
|
2
|
+
use kcmc::{ModelingCmd, each_cmd as mcmd};
|
|
3
|
+
use kittycad_modeling_cmds::{
|
|
4
|
+
self as kcmc,
|
|
5
|
+
shared::{
|
|
6
|
+
AnnotationFeatureControl, AnnotationLineEnd, AnnotationMbdControlFrame, AnnotationOptions, AnnotationType,
|
|
7
|
+
MbdSymbol, Point2d as KPoint2d,
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
use crate::{
|
|
12
|
+
ExecState, KclError,
|
|
13
|
+
errors::KclErrorDetails,
|
|
14
|
+
exec::KclValue,
|
|
15
|
+
execution::{
|
|
16
|
+
Metadata, Plane, StatementKind, TagIdentifier,
|
|
17
|
+
types::{ArrayLen, RuntimeType},
|
|
18
|
+
},
|
|
19
|
+
parsing::ast::types as ast,
|
|
20
|
+
std::{Args, args::TyF64, sketch::make_sketch_plane_from_orientation},
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/// Bundle of common GD&T annotation style arguments.
|
|
24
|
+
#[derive(Debug, Clone)]
|
|
25
|
+
pub(crate) struct AnnotationStyle {
|
|
26
|
+
pub font_point_size: Option<TyF64>,
|
|
27
|
+
pub font_scale: Option<TyF64>,
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
pub async fn datum(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
|
31
|
+
let face: TagIdentifier = args.get_kw_arg("face", &RuntimeType::tagged_face(), exec_state)?;
|
|
32
|
+
let name: String = args.get_kw_arg("name", &RuntimeType::string(), exec_state)?;
|
|
33
|
+
let frame_position: Option<[TyF64; 2]> =
|
|
34
|
+
args.get_kw_arg_opt("framePosition", &RuntimeType::point2d(), exec_state)?;
|
|
35
|
+
let frame_plane: Option<Plane> = args.get_kw_arg_opt("framePlane", &RuntimeType::plane(), exec_state)?;
|
|
36
|
+
let font_point_size: Option<TyF64> = args.get_kw_arg_opt("fontPointSize", &RuntimeType::count(), exec_state)?;
|
|
37
|
+
let font_scale: Option<TyF64> = args.get_kw_arg_opt("fontScale", &RuntimeType::count(), exec_state)?;
|
|
38
|
+
|
|
39
|
+
inner_datum(
|
|
40
|
+
face,
|
|
41
|
+
name,
|
|
42
|
+
frame_position,
|
|
43
|
+
frame_plane,
|
|
44
|
+
AnnotationStyle {
|
|
45
|
+
font_point_size,
|
|
46
|
+
font_scale,
|
|
47
|
+
},
|
|
48
|
+
exec_state,
|
|
49
|
+
&args,
|
|
50
|
+
)
|
|
51
|
+
.await?;
|
|
52
|
+
Ok(KclValue::none())
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
async fn inner_datum(
|
|
56
|
+
face: TagIdentifier,
|
|
57
|
+
name: String,
|
|
58
|
+
frame_position: Option<[TyF64; 2]>,
|
|
59
|
+
frame_plane: Option<Plane>,
|
|
60
|
+
style: AnnotationStyle,
|
|
61
|
+
exec_state: &mut ExecState,
|
|
62
|
+
args: &Args,
|
|
63
|
+
) -> Result<(), KclError> {
|
|
64
|
+
const DATUM_LENGTH_ERROR: &str = "Datum name must be a single character.";
|
|
65
|
+
if name.len() > 1 {
|
|
66
|
+
return Err(KclError::new_semantic(KclErrorDetails::new(
|
|
67
|
+
DATUM_LENGTH_ERROR.to_owned(),
|
|
68
|
+
vec![args.source_range],
|
|
69
|
+
)));
|
|
70
|
+
}
|
|
71
|
+
let name_char = name.chars().next().ok_or_else(|| {
|
|
72
|
+
KclError::new_semantic(KclErrorDetails::new(
|
|
73
|
+
DATUM_LENGTH_ERROR.to_owned(),
|
|
74
|
+
vec![args.source_range],
|
|
75
|
+
))
|
|
76
|
+
})?;
|
|
77
|
+
let frame_plane = if let Some(plane) = frame_plane {
|
|
78
|
+
plane
|
|
79
|
+
} else {
|
|
80
|
+
// No plane given. Use one of the standard planes.
|
|
81
|
+
xy_plane(exec_state, args).await?
|
|
82
|
+
};
|
|
83
|
+
let frame_plane_id = if frame_plane.value == crate::exec::PlaneType::Uninit {
|
|
84
|
+
// Create it in the engine.
|
|
85
|
+
let engine_plane =
|
|
86
|
+
make_sketch_plane_from_orientation(frame_plane.info.into_plane_data(), exec_state, args).await?;
|
|
87
|
+
engine_plane.id
|
|
88
|
+
} else {
|
|
89
|
+
frame_plane.id
|
|
90
|
+
};
|
|
91
|
+
let face_id = args.get_adjacent_face_to_tag(exec_state, &face, false).await?;
|
|
92
|
+
exec_state
|
|
93
|
+
.batch_modeling_cmd(
|
|
94
|
+
args.into(),
|
|
95
|
+
ModelingCmd::from(mcmd::NewAnnotation {
|
|
96
|
+
options: AnnotationOptions {
|
|
97
|
+
text: None,
|
|
98
|
+
line_ends: None,
|
|
99
|
+
line_width: None,
|
|
100
|
+
color: None,
|
|
101
|
+
position: None,
|
|
102
|
+
dimension: None,
|
|
103
|
+
feature_control: Some(AnnotationFeatureControl {
|
|
104
|
+
entity_id: face_id,
|
|
105
|
+
// Point to the center of the face.
|
|
106
|
+
entity_pos: KPoint2d { x: 0.5, y: 0.5 },
|
|
107
|
+
leader_type: AnnotationLineEnd::Dot,
|
|
108
|
+
dimension: None,
|
|
109
|
+
control_frame: None,
|
|
110
|
+
defined_datum: Some(name_char),
|
|
111
|
+
prefix: None,
|
|
112
|
+
suffix: None,
|
|
113
|
+
plane_id: frame_plane_id,
|
|
114
|
+
offset: if let Some(offset) = &frame_position {
|
|
115
|
+
KPoint2d {
|
|
116
|
+
x: offset[0].to_mm(),
|
|
117
|
+
y: offset[1].to_mm(),
|
|
118
|
+
}
|
|
119
|
+
} else {
|
|
120
|
+
KPoint2d { x: 100.0, y: 100.0 }
|
|
121
|
+
},
|
|
122
|
+
precision: 0,
|
|
123
|
+
font_scale: style.font_scale.as_ref().map(|n| n.n as f32).unwrap_or(1.0),
|
|
124
|
+
font_point_size: style.font_point_size.as_ref().map(|n| n.n.round() as u32).unwrap_or(36),
|
|
125
|
+
}),
|
|
126
|
+
feature_tag: None,
|
|
127
|
+
},
|
|
128
|
+
clobber: false,
|
|
129
|
+
annotation_type: AnnotationType::T3D,
|
|
130
|
+
}),
|
|
131
|
+
)
|
|
132
|
+
.await?;
|
|
133
|
+
Ok(())
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
pub async fn flatness(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
|
137
|
+
let faces: Vec<TagIdentifier> = args.get_kw_arg(
|
|
138
|
+
"faces",
|
|
139
|
+
&RuntimeType::Array(Box::new(RuntimeType::tagged_face()), ArrayLen::Minimum(1)),
|
|
140
|
+
exec_state,
|
|
141
|
+
)?;
|
|
142
|
+
let tolerance = args.get_kw_arg("tolerance", &RuntimeType::length(), exec_state)?;
|
|
143
|
+
let precision = args.get_kw_arg_opt("precision", &RuntimeType::count(), exec_state)?;
|
|
144
|
+
let frame_position: Option<[TyF64; 2]> =
|
|
145
|
+
args.get_kw_arg_opt("framePosition", &RuntimeType::point2d(), exec_state)?;
|
|
146
|
+
let frame_plane: Option<Plane> = args.get_kw_arg_opt("framePlane", &RuntimeType::plane(), exec_state)?;
|
|
147
|
+
let font_point_size: Option<TyF64> = args.get_kw_arg_opt("fontPointSize", &RuntimeType::count(), exec_state)?;
|
|
148
|
+
let font_scale: Option<TyF64> = args.get_kw_arg_opt("fontScale", &RuntimeType::count(), exec_state)?;
|
|
149
|
+
|
|
150
|
+
inner_flatness(
|
|
151
|
+
faces,
|
|
152
|
+
tolerance,
|
|
153
|
+
precision,
|
|
154
|
+
frame_position,
|
|
155
|
+
frame_plane,
|
|
156
|
+
AnnotationStyle {
|
|
157
|
+
font_point_size,
|
|
158
|
+
font_scale,
|
|
159
|
+
},
|
|
160
|
+
exec_state,
|
|
161
|
+
&args,
|
|
162
|
+
)
|
|
163
|
+
.await?;
|
|
164
|
+
Ok(KclValue::none())
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
#[allow(clippy::too_many_arguments)]
|
|
168
|
+
async fn inner_flatness(
|
|
169
|
+
faces: Vec<TagIdentifier>,
|
|
170
|
+
tolerance: TyF64,
|
|
171
|
+
precision: Option<TyF64>,
|
|
172
|
+
frame_position: Option<[TyF64; 2]>,
|
|
173
|
+
frame_plane: Option<Plane>,
|
|
174
|
+
style: AnnotationStyle,
|
|
175
|
+
exec_state: &mut ExecState,
|
|
176
|
+
args: &Args,
|
|
177
|
+
) -> Result<(), KclError> {
|
|
178
|
+
let frame_plane = if let Some(plane) = frame_plane {
|
|
179
|
+
plane
|
|
180
|
+
} else {
|
|
181
|
+
// No plane given. Use one of the standard planes.
|
|
182
|
+
xy_plane(exec_state, args).await?
|
|
183
|
+
};
|
|
184
|
+
let frame_plane_id = if frame_plane.value == crate::exec::PlaneType::Uninit {
|
|
185
|
+
// Create it in the engine.
|
|
186
|
+
let engine_plane =
|
|
187
|
+
make_sketch_plane_from_orientation(frame_plane.info.into_plane_data(), exec_state, args).await?;
|
|
188
|
+
engine_plane.id
|
|
189
|
+
} else {
|
|
190
|
+
frame_plane.id
|
|
191
|
+
};
|
|
192
|
+
for face in &faces {
|
|
193
|
+
let face_id = args.get_adjacent_face_to_tag(exec_state, face, false).await?;
|
|
194
|
+
exec_state
|
|
195
|
+
.batch_modeling_cmd(
|
|
196
|
+
args.into(),
|
|
197
|
+
ModelingCmd::from(mcmd::NewAnnotation {
|
|
198
|
+
options: AnnotationOptions {
|
|
199
|
+
text: None,
|
|
200
|
+
line_ends: None,
|
|
201
|
+
line_width: None,
|
|
202
|
+
color: None,
|
|
203
|
+
position: None,
|
|
204
|
+
dimension: None,
|
|
205
|
+
feature_control: Some(AnnotationFeatureControl {
|
|
206
|
+
entity_id: face_id,
|
|
207
|
+
// Point to the center of the face.
|
|
208
|
+
entity_pos: KPoint2d { x: 0.5, y: 0.5 },
|
|
209
|
+
leader_type: AnnotationLineEnd::Dot,
|
|
210
|
+
dimension: None,
|
|
211
|
+
control_frame: Some(AnnotationMbdControlFrame {
|
|
212
|
+
symbol: MbdSymbol::Flatness,
|
|
213
|
+
diameter_symbol: None,
|
|
214
|
+
tolerance: tolerance.to_mm(),
|
|
215
|
+
modifier: None,
|
|
216
|
+
primary_datum: None,
|
|
217
|
+
secondary_datum: None,
|
|
218
|
+
tertiary_datum: None,
|
|
219
|
+
}),
|
|
220
|
+
defined_datum: None,
|
|
221
|
+
prefix: None,
|
|
222
|
+
suffix: None,
|
|
223
|
+
plane_id: frame_plane_id,
|
|
224
|
+
offset: if let Some(offset) = &frame_position {
|
|
225
|
+
KPoint2d {
|
|
226
|
+
x: offset[0].to_mm(),
|
|
227
|
+
y: offset[1].to_mm(),
|
|
228
|
+
}
|
|
229
|
+
} else {
|
|
230
|
+
KPoint2d { x: 100.0, y: 100.0 }
|
|
231
|
+
},
|
|
232
|
+
precision: precision.as_ref().map(|n| n.n.round() as u32).unwrap_or(3),
|
|
233
|
+
font_scale: style.font_scale.as_ref().map(|n| n.n as f32).unwrap_or(1.0),
|
|
234
|
+
font_point_size: style.font_point_size.as_ref().map(|n| n.n.round() as u32).unwrap_or(36),
|
|
235
|
+
}),
|
|
236
|
+
feature_tag: None,
|
|
237
|
+
},
|
|
238
|
+
clobber: false,
|
|
239
|
+
annotation_type: AnnotationType::T3D,
|
|
240
|
+
}),
|
|
241
|
+
)
|
|
242
|
+
.await?;
|
|
243
|
+
}
|
|
244
|
+
Ok(())
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/// Get the XY plane by evaluating the `XY` expression so that it's the same as
|
|
248
|
+
/// if the user specified `XY`.
|
|
249
|
+
async fn xy_plane(exec_state: &mut ExecState, args: &Args) -> Result<Plane, KclError> {
|
|
250
|
+
let plane_ast = plane_ast("XY", args.source_range);
|
|
251
|
+
let metadata = Metadata::from(args.source_range);
|
|
252
|
+
let plane_value = args
|
|
253
|
+
.ctx
|
|
254
|
+
.execute_expr(&plane_ast, exec_state, &metadata, &[], StatementKind::Expression)
|
|
255
|
+
.await?
|
|
256
|
+
.clone();
|
|
257
|
+
Ok(plane_value
|
|
258
|
+
.as_plane()
|
|
259
|
+
.ok_or_else(|| {
|
|
260
|
+
KclError::new_internal(KclErrorDetails::new(
|
|
261
|
+
"Expected XY plane to be defined".to_owned(),
|
|
262
|
+
vec![args.source_range],
|
|
263
|
+
))
|
|
264
|
+
})?
|
|
265
|
+
.clone())
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/// An AST node for a plane with the given name.
|
|
269
|
+
fn plane_ast(plane_name: &str, range: SourceRange) -> ast::Node<ast::Expr> {
|
|
270
|
+
ast::Node::new(
|
|
271
|
+
ast::Expr::Name(Box::new(ast::Node::new(
|
|
272
|
+
ast::Name {
|
|
273
|
+
name: ast::Identifier::new(plane_name),
|
|
274
|
+
path: Vec::new(),
|
|
275
|
+
// TODO: We may want to set this to true once we implement it to
|
|
276
|
+
// prevent it breaking if users redefine the identifier.
|
|
277
|
+
abs_path: false,
|
|
278
|
+
digest: None,
|
|
279
|
+
},
|
|
280
|
+
range.start(),
|
|
281
|
+
range.end(),
|
|
282
|
+
range.module_id(),
|
|
283
|
+
))),
|
|
284
|
+
range.start(),
|
|
285
|
+
range.end(),
|
|
286
|
+
range.module_id(),
|
|
287
|
+
)
|
|
288
|
+
}
|
|
@@ -12,6 +12,7 @@ pub mod csg;
|
|
|
12
12
|
pub mod edge;
|
|
13
13
|
pub mod extrude;
|
|
14
14
|
pub mod fillet;
|
|
15
|
+
pub mod gdt;
|
|
15
16
|
pub mod helix;
|
|
16
17
|
pub mod loft;
|
|
17
18
|
pub mod math;
|
|
@@ -62,6 +63,14 @@ impl StdFnProps {
|
|
|
62
63
|
|
|
63
64
|
pub(crate) fn std_fn(path: &str, fn_name: &str) -> (crate::std::StdFn, StdFnProps) {
|
|
64
65
|
match (path, fn_name) {
|
|
66
|
+
("gdt", "datum") => (
|
|
67
|
+
|e, a| Box::pin(crate::std::gdt::datum(e, a)),
|
|
68
|
+
StdFnProps::default("std::gdt::datum").include_in_feature_tree(),
|
|
69
|
+
),
|
|
70
|
+
("gdt", "flatness") => (
|
|
71
|
+
|e, a| Box::pin(crate::std::gdt::flatness(e, a)),
|
|
72
|
+
StdFnProps::default("std::gdt::flatness").include_in_feature_tree(),
|
|
73
|
+
),
|
|
65
74
|
("math", "cos") => (
|
|
66
75
|
|e, a| Box::pin(crate::std::math::cos(e, a)),
|
|
67
76
|
StdFnProps::default("std::math::cos"),
|
|
@@ -60,6 +60,11 @@ pub(crate) async fn inner_plane_of(
|
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
// Flush the batch for our fillets/chamfers if there are any.
|
|
64
|
+
exec_state
|
|
65
|
+
.flush_batch_for_solids(args.into(), std::slice::from_ref(&solid))
|
|
66
|
+
.await?;
|
|
67
|
+
|
|
63
68
|
// Query the engine to learn what plane, if any, this face is on.
|
|
64
69
|
let face_id = face.get_face_id(&solid, exec_state, args, true).await?;
|
|
65
70
|
let plane_id = exec_state.id_generator().next_uuid();
|