Skip to content

feat(starpuff): 星海終局篇 W4 終章——L29 崩盤前夜+L30 劉董・崩盤之王(§126/§127) - #935

Merged
s123104 merged 7 commits into
mainfrom
feat/starpuff-w4-finale
Jul 29, 2026
Merged

feat(starpuff): 星海終局篇 W4 終章——L29 崩盤前夜+L30 劉董・崩盤之王(§126/§127)#935
s123104 merged 7 commits into
mainfrom
feat/starpuff-w4-finale

Conversation

@s123104

@s123104 s123104 commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

審查未收斂前請勿合併

摘要(#886 W4 終章列車,21-30 世界計畫收官波)

  • L29 崩盤前夜:半毀星港交易大廳混合挑戰走動關——回收 21-28 全章核心機制零新怪(貨櫃磚阻路/糖漿潮汐改向/鏡面假身區+鏡門折躍/引力上升流)+全關「市場隕落」流星雨;收尾「市場即將開盤」倒數+遠景劉董入金演出(outroCinematic 資料驅動,L30 伏筆)。
  • L30 崩盤王座・劉董(PRD §6 逐項):入金入場序列(滑入→掏手機→入金→轉帳光束→短漲→垂直崩跌→全屏箭頭→開戰,入場結束才可傷、特效不遮玩家);思考/下單系統(頭頂三市場圖示輪轉=預告即機制,圖示即攻擊素材零文字依賴;稜化稜片可斷單);三市場攻擊(美股硬幣+K線柱/加密插針不即死扣彈爆倉/台股熔斷牆缺口由白輪廓+牌價尾數 0.8s 警示);招牌全屏下跌箭頭(慢大→快小批次+中央崩跌衝擊波,缺口雙車道恆開且錨定玩家近旁、陰影預警 650ms、EX 才有反向假箭頭且以素材形狀區分非紅綠);牛市怪/熊市怪(蓄力衝刺撞牆二次加速可中斷;拍地波召箭頭+低血一次性冬眠全場震波,各四反制);P2 全屏後反擊窗+不連續同型全屏;P3 末日箭白輪廓走廊(EX 窄通道)/熊市核心/清算通知(焰化可燒)/熔斷倒數→長脆弱窗 ×2;HP ≤18% 一次性最後轉帳黑洞(引力化免疫)→撐過反噬自傷+長脆弱窗。
  • 失敗保護(PRD §6.7 全數):死亡直接重試、不抹變身教學、招池為 phase 純函式(重試不加新招,單測釘住)、首見新招 −15%、EX 才啟用假突破/反向箭頭/窄通道、連續三次受傷自動降節奏 ×0.8。
  • 迷因安全(硬驗收):全虛構代號圖像、零真實品牌/人物/股票代號;戰鬥全程角落常駐「本關純屬虛構迷因,非投資建議」。
  • 接線:LevelId/zones 滿編 30 關十區、圖鑑(牛熊怪+劉董)、成就(31 條、星核制霸十王)、謝幕升級三十關收官版、save 全資料驅動零遷移。
  • W5 整合(main 推進後 rebase):劉董 39 鍵動畫組改走 bossAnimAssets 動態分檔(§125 載入契約,主 manifest 僅四態立繪+市場 FX);章號讓位 W5 §125 → 本波 §126(怪物魔王)/§127(關卡)。

量測驗收(level-audit 序列量測,.claude/product-intel/level-audits/ 留檔)

靜態三軸曲線(difficulty.test 族內守門)

L23 L25 L27 L29 L24 L26 L28 L30
walk 9.2 9.5 9.7 9.8
boss 9.4 9.5 9.6 10.0(全遊戲頂點,≤PRD 上限)

分級 bot 序列(×7)

bot 通關率 門檻 均值 死/次 console
L29 mid ×7 86%(6/7) 硬不變式普通 ≥40% ✓ 通關 133s 7.57 0
L30 high ×7 71%(5/7) ≥60% ✓ TTK 平均 28.4s(包絡 20.8–34.4) 8.57 0
L30 low ×7(4+3 分塊防長跑瀏覽器崩潰) 0%(0/7) <20% ✓ 25.9 0

收官不變式自證

  • 基礎星彈恆可通關:L30 high 全部 5 個通關輪 transforms: 0(零變身純標準星擊破最終魔王)。
  • 去背板:招式序列條件熵 1.45–1.83 bits(門檻 ≥0.5);telegraph 全招 ≥600ms 單測錨定(含召喚類與箭雨陰影)。
  • 七形態優勢情境(§126.4 對應表):雷化清牛熊(TRANSFORM_ADVANTAGE 條目)/風化越柱越頂/殼化反彈/焰化燒清算單(burn 管線)/潮化撥開投射物/稜化斷單(tryInterruptOrder)/引力化黑洞免疫(gravityFlipImmune)——機制全數實接。註:--transform bot A/B 線觸發既知基建侷限(W1.5 已記錄:規則 bot 變身迴圈吞噬星彈輸出,difficulty.ts BOT_TIERS 註記維持顯式 A/B 管線、門檻跑純標準星),量測值 46.67 次變身/輪不具裁決力,優勢情境以機制實接+單測為證。
  • 調參歸因記錄(七輪收斂,均有留檔):L29 稜蜂精英=mid bot 不可解反射牆(正面反彈自傷×軟鎖門×checkpoint 前全重置)→ 換軌道統領;208 高台=漲潮期溺水錨(週期氣壓柱 67% 時間不可達)→ 降 272 跳鏈可達;L30 遠端缺口 650ms 內跨不了 3 車道=不公平死局 → 缺口錨定玩家近旁。

資產盤點(#857 B04/B05)

  • 已消費:劉董 43 鍵(四態立繪入主 manifest scoped L30;39 鍵動畫組入 bossAnimAssets 動態分檔)、牛熊怪 2 鍵、市場 FX 18 鍵、bg-crasheve/bg-market+prop 各 4、minion-bullrun/bearmarket
  • 留庫(lazy 停車場):市場 FX 分層備幀(arrowrain-core/-debris/-trail 等 15 鍵,演出加密度候補)。
  • 缺口(不阻塞):思考泡泡三市場「專屬迷因圖示」(摩天樓/火箭/晶片;月亮/狗幣/破錢包;夜市/紅綠牌)無獨立圖檔——現以攻擊招牌素材當圖示(硬幣/紅針/紅電路牌),「預告即機制」語意反而更直接;若 PM 要專屬圖示請於 B06 補批,屆時 MARKET_ICON 單點換鍵。

測試

  • 全量 vitest:96 檔 1304 案全綠;tsc --noEmit ✓;eslint --max-warnings 0 ✓;verify-design-docs(127 章一致)✓;verify-002-log ✓;build:starpuff ✓。
  • 量測全程 console error 0。

審查摺入(席 S REQUEST CHANGES,PM 裁決全摺入)

  • Blocking 已修:§6.7 慈悲機制(連續三次受傷降節奏)原為死代碼(FSM 有實作有單測、零生產呼叫點)——已補 BossHandle.notePlayerHurt?() 介面、liudong.ts 實作、damageDirector.damagePlayer 實傷單點轉發(護盾吸收/i-frame 不計,沿 advanceTide hp 前後對照慣例);整合測試先紅後綠(damageDirector 轉發三案+liudong handle 級 speedFactor ×0.8 斷言,getDebugState 加選配 speedFactor 觀測欄)。
  • Should-fix 已修:牛熊怪 update 補 characterization 測試(7 案:衝刺增速/撞牆二次加速/拍地波/一次性冬眠/全場震波);TTK 跨文件統一為 l30-high 原始輸出 28.4s 平均(WALKTHROUGH 同步);「GameScene 零增長」措辭修正為「零分支」(實際 +18 行接線,分支零增)。
  • 002 記帳:penalty ×2(慈悲死代碼誤述、PM 誤判 DOA 重派)+neutral ×1(摺入)——本 PR 聚合 -1,累計 +331。

已知事項(審查席參考)

  • L30 low-bot 序列以 4+3 分塊執行(長跑 headless 瀏覽器 ~50 分鐘標記系統性被殺,兩次驗屍留檔);統計口徑等同 ×7。
  • L29 mid 86%(1 timeout run 死亡螺旋變異):終章最難走動關設計意圖內(L25 5.71 死→L27 3.57→L29 7.57),硬不變式過門。

Made with Cursor

haotool and others added 4 commits July 29, 2026 05:15
- 建立 feat/starpuff-w4-finale worktree(基準 b618fc4)
- 交付範圍:L29 崩盤前夜+L30 劉董・崩盤之王+全 30 關結算演出

測試:空 commit 活性錨,無程式碼變更

Co-authored-by: Cursor <cursoragent@cursor.com>
- 新增 liudongFsm 三階段純邏輯:P1 三市場輪替(思考下單前奏)、P2 全屏壓力
  (不連續同型全屏+反擊窗)、P3 終局(熔斷倒數脆弱窗+一次性最後轉帳黑洞)
- 失敗保護層(PRD §6.7):首見新招 −15%、連續三次受傷自動降節奏、招池為
  phase 純函式(重試不加新招)、EX 才啟用假突破/反向假箭頭/窄通道
- 新增 systems/liudong 呈現層(三市場攻擊/全屏箭雨/牛熊召喚/爆倉插針不即死/
  稜化斷單/迷因安全角標)與 liudongCinematics 演出模組(入金入場/思考泡泡
  圖示輪轉/轉段/死亡幀序/L29 市場開盤倒數)
- 新增牛熊怪(bullrun/bearmarket)FSM 與 fieldEnemies 逐幀 AI:蓄力衝刺撞牆
  二次加速(星彈可斷)、拍地波召箭頭、低血一次性冬眠全場震波
- L29 崩盤前夜入編:十種回收混編零新怪、四段機制回收(貨櫃磚/潮汐/鏡門折躍/
  引力上升流)+市場隕落,收尾 outroCinematic 市場開盤倒數(L30 伏筆)
- L30 崩盤王座入編:魔王關體系沿 §69、雷味頭部供給 0.35、靜態軸 10.0 全遊戲
  頂點(walk L27 9.7→L29 9.8、boss L28 9.6→L30 10.0 族內嚴格遞增)
- 資產接關(#857 契約):65 條 B04/B06 認領條目自 assetsV21Part1/2/3 搬回
  assets.ts 標正確 phase;BOSS_TEXTURE_KEYS 劉董完整動畫組 scoped 至 L30
- 1200 行閘分檔:enemies.ts 材質烘焙拆出 enemyTextures.ts、§125 關卡守門
  拆出 levelsFinale.test.ts;圖鑑/成就/謝幕/存檔鏈全數收斂至 30 關

測試:pnpm --filter @app/starpuff vitest run(94 檔 1294 案全綠)+ tsc --noEmit
+ eslint --max-warnings 0 + pnpm build:starpuff 成功

Co-authored-by: Cursor <cursoragent@cursor.com>
- 量測驅動調參收斂:L29 排除稜蜂精英反射牆與 208 溺水錨、缺口車道錨定玩家
  (PRD ≥1 通行路線的可達性面)、L30 HP/輸出窗/攻擊密度成對平衡(26.7s 融化
  與 0% 攻堅兩極間七輪收斂至 148/1900ms 窗)
- 整合 W5 bossAnimAssets 動態分檔(§125 載入契約):劉董 39 鍵動畫組自主
  manifest 撤出改走 dynamic chunk(五王同構、bossAnimAssets.test 自動守門);
  L29 收尾演出剪影改 base 立繪(不掛 boss chunk)
- 章號讓位改號:W5 已佔 §125(bossStagecraft)——W4 怪物魔王面改 §126、
  關卡面改 §127(index/design/03/04/WALKTHROUGH/全 src 註解一致重定向)
- GAME_DESIGN §126/§127 全節落地+WALKTHROUGH 第十區攻略章與 EX 表擴充;
  difficulty.test 十王遞增至 L30=10.0 頂點+walk 族內曲線延伸 L29
- changeset minor:三十關世界十區收官使用者可見面

測試:pnpm --filter @app/starpuff vitest run(96 檔 1304 案全綠)+ tsc --noEmit
+ eslint --max-warnings 0 + verify-design-docs(127 章一致)+ build:starpuff 成功

Co-authored-by: Cursor <cursoragent@cursor.com>
- 新增 reward-starpuff-w4-liudong-finale-ship:L29/L30 收官、量測歸因調參與 W5 基建整合
- 檔頭記分行同步:+1(reward 1)|累計 +332 → +333

測試:node scripts/verify-002-log.mjs 守門通過

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Deprecation Warning: The deny-licenses option is deprecated for possible removal in the next major release. For more information, see issue 997.

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

haotool and others added 3 commits July 29, 2026 06:03
- 審查席 S Blocking 摺入:§6.7 連續受傷降節奏原為死代碼(FSM 有實作有單測、
  零生產呼叫點)——BossHandle 加選配 notePlayerHurt,liudong 實作轉發 FSM
- damageDirector.damagePlayer 實傷單點轉發:hp 前後對照沿 advanceTide 慣例,
  護盾吸收與 i-frame 免傷不計(PRD §6.7「連續三次受傷」語意)
- getDebugState 加選配 speedFactor 觀測欄(既有消費端零影響)供整合守門
- 整合測試先紅後綠:damageDirector 轉發三案(實傷/盾擋/i-frame)+liudong
  handle 級斷言連續三次實傷 speedFactor ×0.8(noctra harness 慣例場景樁)

測試:vitest run damageDirector.test liudong.test(16 案綠,先紅後綠取證)
+全量 1315 案綠+tsc --noEmit

Co-authored-by: Cursor <cursoragent@cursor.com>
- 審查席 S Should-fix 摺入:updateBullrun/updateBearmarket 零測試——比照同檔
  magno/mirri 模式以真 FSM 時序驅動補 7 案
- bullrun:prowl 朝向走速、charge 定身閃爍、dash 鎖定衝刺、撞牆 redash 二次
  加速 ×1.25、再撞牆 recover 減速收勢
- bearmarket:slam 雙側地面波+朝向召下跌小箭頭、低血一次性冬眠鎖存+鼓脹
  前搖、quake 全場震波(quake=true)與甦醒回 prowl
- harness 擴充:blocked.left/right、setVelocity、spawnMarketWave/spawnCrashArrow
  spies、vscale.mod 與 cameras.shake 樁

測試:vitest run fieldEnemies.test(13 案綠)

Co-authored-by: Cursor <cursoragent@cursor.com>
- WALKTHROUGH L30 實測行 TTK 統一為 level-audits/l30-high 原始輸出 28.4s 平均
  (原 28.7 中位與 PR 內文不一致,審查席 S Should-fix)
- 002 追加:penalty-starpuff-w4-mercy-deadcode(慈悲死代碼四處誤述)、
  penalty-pm-w4-false-doa(PM 誤判 DOA 重派)、neutral-starpuff-w4-review-foldin
- 002 檔頭依 PM 欽定 PR 聚合口徑重算:-1(reward 1、penalty 2、neutral 1)|
  累計 +332-1=+331(main 現值 −1)
- 例外記錄(AGENTS 偏離條款):pre-commit 002 步驗「本 commit 增量 vs HEAD 前版
  +333」與 PR 聚合檔頭結構性互斥且分支歷史 append-only 不可改寫(席 G 實測中)
  ——本 commit 以 HUSKY=0 提交,補償控制=手動全閘(lint-staged 等效 prettier/
  eslint、typecheck、commitlint --edit、verify-002-log --base-ref origin/main
  PR CI 同款)全數綠後入庫

測試:node scripts/verify-002-log.mjs --base-ref origin/main 通過(PR CI 同款)
+verify-design-docs(127 章一致)+tsc --noEmit+vitest 1315 案綠

Co-authored-by: Cursor <cursoragent@cursor.com>
@s123104
s123104 merged commit f7df642 into main Jul 29, 2026
16 checks passed
@s123104
s123104 deleted the feat/starpuff-w4-finale branch July 29, 2026 02:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant