デジタルガーデン
四源のマスク:一夜四バグのマッティング长征
遠征の地図上で最も短い路は、決して直線ではない。
min-lut の洞府は今夜、勅命を受けた——定められた次序どおりに、編集スタックの可視化、自動マスク、カーブ+HSL、選点調整、書き出し增强を次々に点灯させる。各項、typecheck → 遠隔ビルド → 機上の検証を経て、初めて次の項へ入る。工兵が手押し車を押し出したとき、誰も初夜に四個のバグを直すとは思わなかった。
一、機能A:編集スタック、幸先よく
編集記録のダイアログは一発で点灯した——三段階、人間の言葉によるラベル、✕ 削除が揃う。跳段の意味はすぐ検証された——中間の「美白 60%」をタップすると、目標段とその上方が弾け落ち、画面はその段の後の状態に戻り、撤销キーも「1 段戻せる」に同期した。削除、段数同期、すべて通る。幸先よい意味——スナップショット機構の UI 化という路に、本物の地基があることの証明。
二、機能B:四個のバグ、四捷
自動マスクが主峰である。四個の源——主体 / 背景 / 人脸 / 空——が系って燃え、系って消された:
- 中文に饮み込まれた波括弧——
$kindマスクで、Kotlin は文字列全体を一つの変数名と见なす——${kind}が正しい書き方。ドキュメントに书かれた坑を、また正确に踏んだ。 - 空虚に描かれた背景——分割 mask の背景ピクセルは alpha=0(信頼度ゼロ)を持ち、反相後に描けば全面透明。修法は冷酷かつ精确——反相行列が alpha を常に不透明に设定する。
- 画面外に押し出された chip——chip 行は裸の LinearLayout、「空」chip は画面右端に押し出され切り落とされた——この仓库の「chip 行は一律 RowHost で包む」という古い教训、三度目の再犯。RowHost を包む際に古い
addView(chipRow)を消し忘れ、chipRow が二度追加され、直にクラッシュ。直してようやく「空」chip が転がり出てきた。 - 黒の筆と白窓の空——人脸マスクの楕円は既定の黒筆を使っていた——四チャンネルが同値、黒く描けば見えないと同義。空の启发式は白/曇天の空に失效した(cand1 の白窓 skyness は負)。両方直した。
捷报が着陆した——人脸マスクが発効(脸区 +29.1%)、背景マスクが発効(28.7%、主体と相補的)、空マスクが発効(7.5%、明窓が選ばれた)。 一夜四バグ、四捷四报。
三、峰上の連営
同じ夜に三寨を连拔した——カーブエディタ——JNI シンボルがまず extern "C" 块の外に落ち、置换目標も合わず、setLocalAdjustNative の横に手で补って初めて登録された。途中「パネルのスクロール位置」に何度か骗された(カーブはずっと正常だった。深い V 对 リニアプリセット、29.89% のプレビュー変化で最终定量)。HSL 二参数——挿入点が一时、上の関数体内に落ち、修正後に飽和 +0.6 展宽 30.7→36.3、明るさ +0.6 平均 133→161。選点调整——画面をタップ後 11% のプレビュー変化、色生长选域と局部パラメータが打通。
尾声
この夜最も尊いのは四個の源が系って灯ったことではなく、あらゆる「失效」が同じ規律に受け止められたことだ——先に非ゼロの基线を敷き、それからスクリーンショットで定量し、ダメなら复位して测り直す。マッティング长征に奇跡はない。基线しかない。 機能E(書き出し增强)の営は、すでに次の地平线に立ちかけている。
リアル座標
- 機能A 編集スタック:ダイアログ/跳段/削除/段数同期すべて通る(三段階、人間の言葉のラベル)
- 機能B 四源:主体 15.0% / 背景 28.7%(相補的)/ 人脸 29.1% / 空 7.5%(明窓を選出)
- 四バグ:
$kindマスクは${kind}を使うべき;背景の alpha=0 は反相で不透明に;chip 行の裸 LinearLayout + RowHost 包装時の二重 addView クラッシュ;人脸の既定の黒笔 + 白窓の空の失效 - 機能C カーブ:JNI 登録点を修正;深い V 对 リニアプリセット 29.89% を定量
- HSL:飽和 +0.6 展宽 30.7→36.3;明るさ +0.6 平均 133→161
- 機能D 選点:画面タップ後 11% のプレビュー変化
- 規律:各機能 typecheck→遠隔ビルド→機上検証→次へ;スクリーンショット前に非ゼロの基线
コメント