80 个版本
新版本 0.2.11 | 2024 年 8 月 25 日 |
---|---|
0.2.3 | 2024 年 7 月 30 日 |
0.1.47 | 2024 年 3 月 28 日 |
0.1.40 | 2023 年 11 月 28 日 |
#11 in 数据格式
4,422 每月下载量
在 kcl-test-server 中使用
3MB
29K SLoC
KCL
我们用于定义几何形状并高效地与我们的几何引擎协同工作的语言。简称 KittyCAD 语言,以我们的设计 API 命名。
贡献标准库函数
我们已经构建了大量工具,使贡献 KCL 更加容易。如果您有兴趣为 KCL 贡献一个新的标准库函数,以下是大致流程
- 在您选择的编辑器中仅打开 wasm-lib 文件夹。例如,VS Code 在运行 rust-analyzer 上整个 modeling-app 目录时会遇到困难,因为它是一个 TS 和 Rust 代码的“特德肯”(一种虚构的混合体)。
- 在
./kcl/src/std
中找到类似标准库函数的定义,并在其附近或同一类别文件中放置您的新函数。 - 添加您的代码。新的标准库函数由以下内容组成
- Rust 中实际标准库函数的
pub async
- 包含至少一个使用您的新标准库函数的示例的文档注释块(如果未提供示例,Rust 编译器将报错,因为我们的队友很棒)
- 提供 KCL 用户将需要编写的名称的
stdlib
宏(这通常是 Rust 实现的驼峰式版本,其名称以 snake_case 命名) - 仅向 crate 发布的内部函数
- 将您的新标准库函数添加到 mod.rs 中的 CORE_FNS 长列表
- 获取生产环境的 Zoo 开发者令牌,并在终端运行
export KITTYCAD_API_TOKEN=your-token-here
- 运行
TWENTY_TWENTY=overwrite cargo nextest run --workspace --no-fail-fast
以获取在引擎中运行的示例代码的快照测试 - 运行
EXPECTORATE=overwrite cargo test --all generate_stdlib -- --nocapture
以生成您函数的新 Markdown 文档,该文档将用于在我们的网站上生成文档。 - 在 GitHub 中创建一个 PR。
版本升级
如果您升级了 kcl-lib 并将其推送到 crates,请确保更新我们拥有的使用它的所有仓库。这些包括
依赖项
~37–55MB
~721K SLoC