Skip to main content

Crate fulgur_chart

Crate fulgur_chart 

Source
Expand description

Render chart.js-compatible JSON specs to deterministic static SVG/PNG.

Modules§

color
色文字列パーサ。chart.js spec の色文字列を crate::ir::Color へ変換する。
font
同梱フォントの提供。計測と描画で同一バイト列を使い、三者一致を保証する。
frontend
DSL フロントエンド。各 DSL を IR(ChartSpec) に変換する。
guard
入力安全性: 信頼できない JSON spec から DoS を防ぐ上限定数と検証。
ir
IR: フロントエンド(DSL) と描画コアの安定境界。
layout
IR(ChartSpec) → Scene のレイアウト。チャート種別ごとに分岐。
model
チャート意味モデル: chart.js と数値照合するための、解決済み色・軸目盛り・ counts を持つシリアライズ可能な中間表現。描画はせず IR + layout から構築する。
num
決定的な数値フォーマット。SVG 座標・寸法はすべてこれを通す。
palette
カラーパレットとテーマ定義。
raster_direct
Scene → PNG の直接描画(SVG 文字列を経由しない)。 tiny-skia でプリミティブを直描きし、テキストは ttf_parser::outline_glyph で グリフ輪郭をパスに変換して描く。
render
IR → SVG の最上位エントリ。
scale
線形スケールと nice ticks(1-2-5 ステップ)。すべて決定的な純関数。
scene
描画プリミティブの中間表現。幾何 + スタイルのみを持ち、解釈は含まない。
schema
svg
Scene → 決定的な SVG 文字列。座標・寸法・不透明度はすべて fmt_num を通す。
text
同梱フォントの advance width に基づく決定的な文字列幅計測。

Functions§

version