
無料Photoshop代替の開発記
メニューの先
17回までは調整機能の計算を確認しました。今回からPhotoshot編集ソフト全体へ範囲を広げます。見慣れたメニュー名に、実行条件・実際の命令・検証根拠・未対応範囲を結び付ける開発記です。
AI生成の動作例用写真。編集画面と出力画像は実際のPhotoshotで作成しました。
ソースから始める。
表示されることと完成は別
機能対照表はメニュー位置、機能、状態、実装・検証根拠、残る範囲を分けています。作業空間UIは部分実装とし、ドッキングや浮動パネルには個別の根拠を付けます。一つの完了表示で編集ソフト全体を説明しないためです。
16・17回は公開リポジトリーの固定コミットを読みました。今回は別の運用編集ソフト作業本app/studioが対象です。この拡張コードがすべて公開リポジトリーにあるとは説明しません。サイトの根拠ファイルにはファイル名・行番号・SHA-256・引用部分を記録しました。
文書の状態が実行可否を決める
photoshop-ui.tsxは選択レイヤーの有無、ロック、調整レイヤーかどうかを確認します。変形には位置ロック、フィルターには画素ロックなどの条件が加わります。マスク編集中かどうかも画素操作の条件に影響します。
2026年10月22日、公開画面に読み込んだ新しいAI人物レイヤーをロックするとEditのFree Transformが無効になり、解除すると有効に戻りました。この実測と、コードで読んだ他の条件は区別しています。ロック状態で強制実行する検査はしていません。
const allowed=!!active&&!layerLocked(doc,active)&&active.kind!=='adjustment';
const transformAllowed=allowed&&!layerLocked(doc,active!,'position');
const filterAllowed=allowed&&!layerLocked(doc,active!,'pixels');
const pixelAllowed=!!active&&!layerLocked(doc,active,p.maskEditing?'all':'pixels')&&(p.maskEditing?!!active.mask?.enabled:active.kind!=='adjustment');計算の
内側へ。
命令検索も同じ機能への入口
command-search.tsxはメニューの経路・名称・韓国語別名を検索します。入力を空白で分割し、すべての語に一致する命令を最大60件表示します。実行直前にもdisabledを確認し、無効なメニューの迂回路にならないようにしています。
実際にHelp → Search Commandsで「이미지 크기」と入力するとImage Sizeが見つかり、Enterで寸法ダイアログが開きました。元画像と同じ1536×1024を確認し、サイズを変えずCancelで閉じました。結果画面は写真の補正結果ではなく、命令が開いた結果です。
ショートカットとパネルの検証範囲
対照表はキー編集・競合再割当・設定セット入出力のブラウザー検証を記録しつつ、OSやブラウザーが先に処理する予約キーは保証しないとしています。パネルの検証もOS側の複数モニターへのドッキングまでは含みません。
保存済みworkspace-uiとworkspace-structure-uiのファイル日時は2026年10月12日、workspace-renderは10月14日です。passedと検査項目を読みましたが、今日これらの全検査を再実行したという意味ではありません。今日の直接確認は韓国語検索、ダイアログ接続、ロックとメニュー状態です。
コードを読む。
export type SearchCommand={id:string;label:string;path:string;key?:string;disabled?:boolean}; const terms=query.toLocaleLowerCase().trim().split(/\s+/),matches=commands.filter(c=>terms.every(t=>(c.path+' '+c.label+' '+(aliases[c.id]??'')).toLocaleLowerCase().includes(t))).slice(0,60),current=Math.min(index,Math.max(0,matches.length-1)); const execute=(c?:SearchCommand)=>{if(!c||c.disabled)return;close();run(c.id);};エディターで見る。

結果・保存・失敗条件を残す
フィルター対照表には検証通過と並んでAdobeとの画素同等性は未検証などの制限があります。今後も入力、観察した出力、保存される状態を分けて説明します。メニューの存在だけで全ファイル・全環境への対応を主張しません。
実例の人物は新しいAI生成モデルです。原画像と実際のメニュー画面を別々に保存しました。19回では複数文書、保存、自動復旧、作業空間を扱い、ブラウザー内保存とダウンロードしたプロジェクトの役割から確認します。
原画像と実行画面。


AI生成の動作例用写真。編集画面と出力画像は実際のPhotoshotで作成しました。