mokume

Creative coding for Swift + Metal.

濃い紺の地に、中心から放射状に伸びる無数の細い線。中心へ向かうほど明るく、周辺は暗く落ちている
描く細かさを半分と指定して拡大し、描き終えた絵ににじみ・色ずれ・周辺減光を重ねた 1 枚。 指定するのは細かさだけで、コードに拡大は 1 行も出てこない。

何ができるか

2D の図形と文字、立体と光、粒と力、画素の読み書き、GPU の計算とポストエフェクトを、 1 つの Sketch の中で書く。座標は出す細かさのままなので、 描く解像度を落としても本文は変わらない。

走らせたスケッチは外から観測できる。撮る・作り直しの結果を読む・入力を送る、が エージェントからも同じ口で使える。

入れる

macOS 26 (Tahoe) 以上・Apple Silicon 専用。

brew install mokume-metal/tap/mokume

Homebrew を使わない入れ方は README、 このリポジトリから道具を作る手順は CONTRIBUTING にある。

最初の 1 本

mokume new my-sketch
cd my-sketch
mokume run             # 作って走らせる
mokume watch           # 保存したら作り直して差し替える

できるのは、そのまま動く 1 ファイルのスケッチ:

import mokume

@main
final class MySketch: Sketch {
    var settings = SketchSettings(width: 960, height: 540, title: "my-sketch")

    func draw() {
        background(15, 18, 23)
        fill(242, 115, 51)
        let angle = time * 0.8
        circle(width / 2 + cos(angle) * 160, height / 2 + sin(angle) * 120, 80)
    }
}

もっと読む