Skip to content

パッケージ面

利用面パッケージ実行環境
JavaScript / WASM@libraz/formulonブラウザ、worker、Node
Native Node@libraz/formulon-nativeNode.js N-API addon
Pythonformulonwasmtime を使う py3 wheel
CLIformulon-cli-<os>-<arch>単体バイナリ
C ABIヘッダと native ライブラリ独自ホスト向け
MCP@libraz/formulon-mcpエージェント向け stdio MCP server
UI shell@libraz/formulon-cellブラウザ向け spreadsheet UI(beta)

すべての利用面は同じ計算 core を公開します。違いはパッケージング由来であり、意味論の違いであってはいけません。

用語: surface

共有された C++17 engine の上に乗るパッケージング境界のこと。すべての surface は(直接または間接に)C ABI 経由で engine を呼びます。surface ごとに変わるのはホスト言語・メモリ所有権・IO スタイルで、数式の意味は変わりません。

surface ごとの成熟度

利用面成熟度補足
WASM最も広い JS APIformulon.d.ts、ブラウザ / Node 対応
Python安定 subsetwasmtime-backed wrapper、context-manager lifecycle
CLI用途を絞ったツールeval / recalc / dump
Native NodeMVP subsetnative path。WASM との parity はまだ未完
C ABIbinding contractpackaged surfaces の低レベル契約
MCPエージェント向け surfaceWASM の上に乗る。allowlist dispatch
formulon-cellbeta UIWASM engine のデモホスト

surface が食い違ったとき

同じワークブック・同じ profile で 2 つの surface が異なる値を返したら、不具合か、文書化された互換性差分として扱います。make parity-test の parity runner が共有 fixture を全 channel で評価し、missingmismatched を分けて報告します。

次に読むもの