仓库约定

以下规则是 geometry3d 在 Luna-Flow 文档标准之外补充的约定。

范围

  • 文档描述当前分支上的版本,以各包的 pkg.generated.mbti 为准。仅限 JavaScript 的包(backend/canvas、backend/gsap、demo_canvas、demo_gsap)没有提交接口文件;它们的公开接口以 moon info --target js 报告的为准。
  • 不记录尚未实现的 engine 功能,例如 scene graph、material、texture、 physics、BVH 或 asset loader。

包边界

  • geometry core 文档不得混入 terminal、ANSI、TUI 等细节。
  • terminal y-scale、背景 pattern、字符光栅化只放在 backend/tui 或 demo。
  • 把浏览器 DOM、Canvas、扫描线和 JS 目标相关的细节放在 backend/canvas、backend/gsap、demo_canvas 或 demo_gsap 之下。
  • 行为变化跨越包边界时,同步更新所有受影响包的 API、设计和教程页面。

可执行程序

演示包不导出任何 MoonBit 项。它们的 API 页面改为记录命令行(demo)或 HTML 页面约定(demo_canvas、demo_gsap)。

示例

每个未标记 nocheck 的 moonbit 代码块都必须能针对当前代码编译,inspect 快照和 text 代码块中显示的输出必须是真实输出。检查方法:把这些代码块复制到一个依赖本仓库的临时模块中,运行 moon test(浏览器相关页面加上 --target js)。