Crates.io | kcl-lib |
lib.rs | kcl-lib |
version | 0.2.26 |
source | src |
created_at | 2023-08-29 01:25:56.828004 |
updated_at | 2024-11-25 20:23:40.010966 |
description | KittyCAD Language implementation and tools |
homepage | |
repository | https://github.com/KittyCAD/modeling-app |
max_upload_size | |
id | 957507 |
size | 23,088,764 |
Our language for defining geometry and working with our Geometry Engine efficiently. Short for KittyCAD Language, named after our Design API.
We've built a lot of tooling to make contributing to KCL easier. If you are interested in contributing a new standard library function to KCL, here is the rough process:
./kcl/src/std
and place your new one near it or in the same category file.pub async
of the actual standard library function in Ruststdlib
macro providing the name that will need to be written by KCL users to use the function (this is usually a camelCase version of your Rust implementation, which is named with snake_case)export KITTYCAD_API_TOKEN=your-token-here
in a terminalTWENTY_TWENTY=overwrite cargo nextest run --workspace --no-fail-fast
to take snapshot tests of your example code running in the enginejust redo-kcl-stdlib-docs
to generate new Markdown documentation for your function that will be used to generate docs on our website.If you bump the version of kcl-lib and push it to crates, be sure to update the repos we own that use it as well. These are: