Skip to content

スパン

リージョンは 1 つの矩形に限られません。辺で連結した複数の矩形を 繋げて L 字・T 字・複合形状(ブロブ)を作れます。Gridgram は union を 1 本の輪郭 で描くので、矩形の重なりではなく 1 つの形に見えます。

単一セル / 単一範囲

gg
region @C2 "one cell"
region @A1:D1 "Top row"
  • @c,r 単独は 1×1 リージョン — 単一セルをハイライト。
  • @c,r-c,r は矩形範囲(両端を含む)。@A1-D1 はセル 0, 1, 2, 3 を覆います。

複数項目(L / T / 複合)

region-spanning (SVG, frame 1)
ABCD
123
gg
region @A2:A3 @A3:D3 "L-shape" color=primary/14

複数の @ 項目(スペース区切り)は union として 1 つの形になります。 上の例では垂直帯(列 0、行 1–2)と水平帯(行 2、列 0–3)を合わせて L 字にしています。

連結ルール

複数項目は 辺を共有 していなければなりません(少なくとも 1 辺が 接している)。対角接触や完全に離れた矩形はエラー:

gg
region @A1 @D4      # ✗ 飛び地 → パースエラー

離れた 2 領域を描きたい場合は、別々の region ステートメントとして 宣言してください。

なぜ重ねではなく輪郭で描くのか

Gridgram は複数項目から占有マトリクスを作り、そこから境界線を 1 本 トレースして 1 つのパスとして描きます。矩形の重ね部分に線が見えず、 コーナー半径は union の外周に一様に適用されます。

よく使うパターン

行 / 列を丸ごと:

gg
region @A1:D1 "Public"
region @D1:D3 "DMZ"

L 字(サイドバー + フッタ的な配置など):

gg
region @A1:A3 @A3:D3 "Platform"

複雑なブロブ(稀ですがサポート):

gg
region @A1:B1 @B1:B3 @B3:D3 "Pipeline"

形状が DSL だと不明瞭になってきたら doc { regions: … } ボディへ 移すのが読みやすいことが多いです。regions[].spans{ from, to } の ペア配列です。

このページを編集Last updated: