スパン
リージョンは 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 / 複合)
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 } の ペア配列です。