Skip to content

「みほん」にフラクタルの木を足す(じぶんのブロックの見本) #45

Description

@temoki

背景

#14 で じぶんのブロック(=再帰)が入った。いまの みほん 3 つ(しかくをぬる / ほしをかく / うずまきをかく)は はこ も もし も じぶんのブロック も使っていないので、この機能に触れる入口が「自分で組み立てる」しかない。

再帰は言葉で説明しても伝わらないぶん、動くものが 1 つ置いてあることの効きが大きい。#14 の実装中も、仕様の妥当性(パラメータなし・グローバルなはこ 1 個で足りるか)を判断できたのは木が描けたからだった。

提案するプログラム(#14 の検証でそのまま使ったもの)

はこにいれる 🌟 70
ペンのいろ みどり
ペンのふとさ 2
ブロックをよぶ き
ブロックをつくる き
    もし 🌟 > 6 なら
        まえへ 🌟
        はこにかける 🌟 0.6
        みぎへまわる 28
        ブロックをよぶ き
        ひだりへまわる 56
        ブロックをよぶ き
        みぎへまわる 28
        はこをわる 🌟 0.6
        うしろへ 🌟
  • 155 コマンド / 枝 31 本 — ステップ上限 10,000 に対して十分小さい
  • ネストの深さ 約 11 — BlockExpander.defaultNestingLimit(30)に対して余裕がある
  • はこは ×0.6 … ÷0.6 で呼び出しを挟んで元に戻るので、グローバルなはこ 1 個で成立する。第一弾がパラメータなしでよかったことの実例にもなる

やること

  • Kit: SampleBlocks.fractalTree()
  • Kit: SampleBlocksTests に決定的な期待値(既存 3 つと同じ形式)
  • App: WorkspaceView の空状態に 4 つ目のボタン
  • App: Localizable.xcstrings(en 原文 + ja)

決めたいこと

  • **空状態のボタンが 3 → 4 に増える。**縦積みのままでよいか(ContentUnavailableViewactions:
  • 起動画面に出すか。 起動画面に「みほん」からはじめる導線を足す #35 は closed だが、LaunchScene は現状「あたらしく つくる」1 つだけで、みほんの導線は WorkspaceView の空状態にしかない。みほんを起動画面に出す話を蒸し返すなら、この木がいちばん「絵で分かる」候補
  • **ブロックの名前を「き」にするか。**ひらがな 1 文字で、生成コードでも識別子として合法。プリセット絵文字(🌸🌈🎈)を使う手もあるが、見本としては意味のある名前のほうが「名前をつける」という概念が伝わる
  • ペンのいろ(みどり)とふとさ(2)を見本に含めるか。無くても描けるが、木が緑だと一目で何か分かる

注意

このみほんを差し込んだドキュメントは requiredSchemaVersion3 になる(保存すると v3 未満のアプリでは開けない)。既存 3 つは 1 または 2 のままなので、みほん経由で初めて v3 のファイルが配られることになる。

関連

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds design実装前に設計コメントが必要。進め方は CLAUDE.md の Issue Workflow を参照priority: low優先度: 低

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions