開發記錄

公開記下真正往前移動的部分。

這份記錄會保持務實:寫下已上線的內容、變得更緊的地方,以及公共表面真正發生的變化,而不是把網站變成即時日記。

首次造訪且未儲存網站語言時,現在會依照裝置語言顯示。

當瀏覽器未儲存 Ronova 網站語言選擇時,公共網站會檢查瀏覽器與作業系統的語言清單,並開啟對應的英文、德文、法文、日文或繁體中文路徑。

  • 從網站選取的語言,或明確開啟的在地化路徑,都會被記住,並優先於之後的環境偵測。
  • 不支援的語言會維持英文,不會把簡體中文誤標為繁體中文,也不會建立額外的身分或帳戶狀態。

0XX institutional account 現在有自願加入的 Honorary Board 與 courtesy email 流程。

符合資格的 human Ronova ID member 可準備預設為私密的 recognition profile,並申請一個經過驗證的 @triluna.org forwarding alias,不會建立第二套帳戶或取得行政權限。

  • 每個公開 field 都可分別控制;未公開 member、destination、internal note、verification data 與 provider metadata 皆維持私密。
  • 在 production routing provider、專用 encryption key 與 domain mail configuration 通過端對端驗證之前,email activation 會維持待處理。

Archon 現在可在單一帳戶 dashboard 管理一般帳戶的 prefix 與 role。

Archon 現在會從精確的 `XXX XXXXX XXXXX` UID 搜尋開始。一般 universal Ronova ID 帳戶可同時保留多個由 prefix 衍生且有效的 ID、選擇一個主要 ID,並在所選帳戶 dashboard 管理獨立的 role grant。

  • 變更主要 prefix 時,先前 ID 會保留為同一個 immutable account 的明確 active alias;每個 active ID 都會解析至同一帳戶,且 ID 本身永遠不會授予 authority。
  • dashboard 會整合已指派 ID、role grant、effective permission、session、authenticator summary、recent activity 與 UID history,但不會揭露 email、credential material、session hash 或 audit metadata。
  • 精確的 000 00000 00000 與 999 99999 99999 不會出現在 Archon 搜尋或帳戶 dashboard,並在 API、coordinator、executor 與 database 各層維持不可變更。

Omni Archon 現在有第一個私有 Gekka reader。

Archon 現在可透過由 Gekka 擁有的私有 executor,搜尋有界且經過刪減的 Gekka governance code metadata。Ronova 會簽署 request,coordinator 再加入 executor 專屬 assertion;Gekka 在讀取自己的 database 前,會獨立驗證 contract 與 audience。

  • 結果只包含不透明 code ID、label、state、允許的 context、使用上限、日期與不透明 version;bearer value、hash、fragment、grant、note、actor identity、cookie 與 credential 都不會跨越邊界。
  • code 建立、撤銷、還原、角色、release、緊急控制、billing 與 raw secret 仍維持停用,直到各自的 project-owned mutation、recovery 與 approval contract 通過獨立演練。

Travel Evaluation 現在會保留由 Ronova ID 擁有的伺服器紀錄。

Travel Evaluation 現在會把評價儲存為由 Ronova ID 擁有的伺服器端紀錄。公開 archive 會取得已發布紀錄,而只有通過驗證的擁有者能建立、更新或刪除自己的紀錄。

  • 本機草稿在擁有者明確儲存前仍留在瀏覽器內;取得公開 archive 時不會揭露草稿資料。
  • 輸入中的編輯會讓目前的輸入欄保持掛載,因此儲存紀錄變更時不會失去焦點。

Ronova ID 顯示現在由單一權威解析。

帳戶、Archon 與 Travel workbench 介面現在會從 ronova.dev 上具憑證且 no-store 的 API 取得目前可變的 Ronova ID,且只有在不可變 subject 與呼叫端工作階段一致時才會接受。

  • 顯示回應只包含不可變 subject、目前的身分描述、顯示名稱與登入網址;不會揭露角色、權限、憑證、工作階段資料或舊版別名。
  • id.ronova.dev 與 archon.ronova.dev 保留各自的 host-only 工作階段,但顯示 ID 會向 ronova.dev 解析,並在瀏覽器上一頁/下一頁快取還原後重新取得。
  • 精確的 v1 值在 production v2 data cutover 前仍會明確標示為舊版 Ronova ID;系統不會把舊 prefix 改寫成虛構的目前身分。
  • Ronova ID 仍只是識別碼,絕不構成授權。受保護主體、角色、權限、帳戶狀態與強式工作階段檢查仍留在 server-side。

Travel Evaluation 現在會保留原處編輯,並將 archive 壓縮分窗。

Travel Evaluation notebook 在欄位變更時不再重建整張 active sheet,因此連續輸入能保留焦點、捲動位置與瀏覽器本機草稿。Create、Flight archive、Lounge archive 與 Hotel archive 現在是同一份 document 裡的精簡視窗,而不是一張冗長混雜的頁面。archive taxonomy 使用克制的 class 與 category accent,而 result badge 仍保有獨立的 quality scale。

  • 文字、metadata 與 score 的變更只會更新受影響的 sheet;archive filter 會在短暫停止輸入後才 redraw,不會每輸入一個字元就重繪。
  • 四個視窗可在同一份 document 內加入書籤;在 private draft 與 category archive 間切換不會 reload,也不會丟棄已掛載的 sheet。
  • lounge、hotel 與 flight taxonomy 現在會在 archive 與 editor 中使用一致的 accent;result label 則使用獨立且容易辨識的 tonal scale。
  • workbench 仍在既有 Ronova ID boundary 內以 browser-local 方式運作;這次調整不代表第二套 account system、remote data change 或 deploy。

通用動態已發布並完成驗證。

這次正式發布新增了適用時由上與由下的方向動態、控制項的按下回饋,以及降低動態支援,並已在 ronova.dev 發布及驗證。

  • 已知範圍:適用時由上與由下的方向動態、按下回饋,以及降低動態支援。
  • 已在 ronova.dev 發布及驗證;未執行遠端 D1 遷移或使用者資料異動,並保持通用 Ronova ID 邊界。

專案印記現在共用一致且安靜的卡片處理。

Ronova 專案目錄與首頁卡片現在以同一個完整可見的右下遮罩呈現每個專案印記:白色、15% 不透明度,留在卡片內而不以整個高度被裁切。Travel Evaluation 會重用既有的單色 Image 2 印記。

  • 所有現有卡片都共用相同的右下尺寸與內距欄位;每個印記都保留自己的 alpha 輪廓,包括非正方形的 Borealis 標記。
  • Travel Evaluation 會保留彩色 SVG 標記供專案頁使用,而目錄卡片會使用既有的單色 Image 2 旅行印記。
  • 沒有變更路由、帳戶行為、專案存取、資料或 Ronova ID 邊界。

Community 現在可在不放寬隱私邊界的情況下更快開啟,Messages 也有專注的私人工作區。

Community 現在會依語言先選用精簡、完全在本機託管的 Yuji Syuku 子集,罕見字元與使用者輸入則回退至完整的本機字型。私人的 Messages 現在會以單一全高的房間工作區開啟,不再置於公開網站框架之中,文件仍維持 no-store。

  • Messages 將房間列、目前對話、隱私提示與加密編寫器置於同一個專注視窗;在手機上,房間清單與對話會成為刻意分開的兩個檢視。
  • 身分房間會以 Ronova 與格式化 Ronova ID 標示每位寄件者;工作階段房間則刻意維持為 訪客 / 工作階段 ID。建立或加入房間前,瀏覽器會檢查 E2EE 與本機金鑰儲存;若未授予持久儲存,必須明確確認後才能繼續。
  • Yuji Syuku 仍以既有 OFL 授權完全自架;依語言的子集能減少首次載入傳輸量,而不排除罕見文字。
  • 明確的發行版本讓 Community 與共用外殼的公開樣式和指令碼能以不可變快取安全重用,不必進行不必要的重新驗證。
  • 不可變快取規則僅適用於帶版本的 Community 與共用外殼靜態資產。私人的 Messages 文件和加密邊界維持不變。

Ronova Community 現在支援透過 Ronova ID 或虛擬位址發出直接 E2EE 請求,並提供專屬的對話工作台。

執行階段修正已恢復公開論壇載入及已驗證的參與功能。私人的工作階段房間現在可透過可撤銷的 session invite 正確初始化;直接 E2EE 請求現在可用 Ronova ID 或可預測的虛擬位址尋址,同時不改變既有隱私邊界:電子郵件形式的查詢不會透露帳戶是否存在,且收件者同意會先於房間、裝置或密文的存取。Messages 介面現在是 Ronova 專屬的對話工作台,為進行中的對話與小型群組清楚呈現寄件者歸屬與時間戳記,而非複製既有消費型通訊軟體介面。

  • 任何人都能閱讀論壇討論串;發文、回覆、反應、檢舉與移除自己的內容則需要有效的人類 Ronova ID 工作階段,且不會建立第二套帳戶系統。
  • 每個 Ronova ID 都有供 Community 尋址使用的可預測內部位址 `[email protected]`。它不是 SMTP 信箱,預設已停用電子郵件寄送與接收。
  • 直接 E2EE 請求可從 Ronova ID 或虛擬位址開始。電子郵件查詢會刻意保持不確定,且收件者同意之前,無法存取房間、裝置或密文。
  • 私人的工作階段房間使用可撤銷的 session invite。服務只會儲存密文和有限的作業中繼資料,不會儲存可讀的訊息正文。
  • 第一版會直接說明限制:不含附件、雲端金鑰復原、forward secrecy 宣稱,也不承諾能防護已遭入侵的用戶端。
  • Messages 為進行中的對話與小型群組使用 Ronova 專屬的對話工作台,清楚呈現寄件者歸屬與時間戳記;不提供在線狀態、已讀回條,也不讓服務存取明文。
  • Community 版面會在窄的黃金比例外殼變得擁擠之前堆疊;選取主題時焦點會落在具標籤的討論標題上,訊息輪詢時也不會再由即時區域重複宣告先前的訊息。

Omni Archon 現已啟用兩項有明確邊界的 Ronova 身分變更。

252 項能力目錄維持不變。完成與動作綁定的 passkey 確認後,現在只有兩項 Ronova 身分變更可用:撤銷另一位非受保護使用者的一個工作階段,或以 compare-and-swap 將另一個非受保護帳戶的狀態改為啟用、鎖定或停用。

  • 鎖定或停用帳戶時,也會一併撤銷該帳戶所有仍有效的工作階段;這兩種動作都不能以受保護的人類主體或 Root System 為目標。
  • ronova.dev 保留 canonical login session 與身分顯示權威;id、portal 與 archon 透過帶 signed state 與 PKCE S256 的 exact one-time authorization-code callback,取得各自的 host-only `__Host-` session。
  • 只有 verified email 可以登入。Verification resend 與 stale unverified alias reclaim 均有明確界線,而 database guard 會保留 human 的最後一項 credential,以及 protected owner 的最後一枚 passkey。
  • Pages 只能透過 Service Binding 連到已簽署的私有 coordinator 與 executor;具冪等性的收據、稽核紀錄與資源鎖會以原子方式一併寫入。
  • 只有受保護的人類 `000` 主體可操作這些動作;`999` Root System 維持不可互動。UID 永遠不構成授權,Universal Ronova ID 仍是唯一身分系統。
  • 其餘 250 項變更與外部能力,包括 Gekka、VPN、網域、UID 生命週期、核准與回復、計費及原始祕密,在各自 executor 與復原演練通過驗證前一律維持 fail-closed。

Ronova ID 現在採用單一標準十三位格式。

Ronova ID v2 以 `AAA XXXXX XXXXX` 顯示,保留不可變的 subject 與 credential,並將標準身分類別與授權分開。

  • 受保護的 Ronova 人類主體精確為 `000 00000 00000`;其舊 ID 永久保留為已預留歷史,而非 system classification。
  • 停用的 Root System 主體精確為 `999 99999 99999`,且沒有密碼、passkey、復原代碼、工作階段、啟用機制或一般登入路徑。
  • 完全符合已儲存的舊版 ID 會保留為不可變 alias;目前介面複製十三位緊湊數字,並以不可換行的分組格式顯示。

Porta Ronovae 現在是唯一入口。

portal.ronova.dev 的已驗證 gateway 只會把每個 Ronova ID 導向 roles 與 grants 已允許的目的地;UID prefix 可以偏好某扇門,但永遠不能授予權限。

  • 只有一個獲准目的地時會直接 redirect;有多個時只顯示目的地 launcher;沒有特殊 grant 的帳號回到個人 Ronova ID。
  • ronova.dev 負責 canonical sign-in 與 current-ID resolution,id.ronova.dev 保留個人帳號與安全功能,外部 estate 以 exact redirect registration 與 authorization code + PKCE S256 維持 host-local session。
  • 完全相符的 Root System UID 仍不可互動,cached shell 不含個人資料,support 現在也能路由 Porta Ronovae 請求。

Archon Panel 現在會依受保護主體權威採取 fail-closed 保護。

具有 Full Root Access 的 Archon Panel 需要受保護的 Ronova 人類主體、全域 owner 角色、明確 Archon 權限與 strong passkey 工作階段;ID 前綴不會授予任何權限。

  • 缺少或已登出的 session 會帶著固定 internal continuation 回到 Account;符合資格的帳戶登入後會回到 Archon。
  • 停用的 Root System 身分維持不可互動;每個舊 Ronova ID 都會保留為原主體擁有的不可變相容 alias。
  • 獨立的 Archon access-code 與 content-grant surfaces 不受 Full Root panel gate 影響。

Ronova ID 現在會從更簡單的登入選擇開始。

Ronova ID 現在會開啟為安靜的登入頁面:選擇 Sign in、輸入名稱或 UID,然後選擇 passkey 或 password。

  • 預設 identity route 已移除公開概覽;Sign up 與 recovery 仍會保留在登入流程旁邊。
  • Pages Functions 會連同共用 source 與 D1 binding 一起發布,因此無法使用的 passkey 與失敗的 password 會回傳受控制的 response,而不是空白頁。
  • 既有的 self-hosted typography、color system 與 universal Ronova ID boundary 都維持不變。

AI Usage 現在會以 Image 2 badge art 發出 Archivements。

AI Usage route 現在是一個多頁面的可量測 coding consequences 收藏 registry,包含 29 個獨立 Image 2 badge faces、production derivatives 與經測試的 cross-agent verifier contract。

  • 新增 42 個 profile、collection、family、detail、badge、methodology、verifier、ledger 與 settings routes,以及完整 11 級 Tokenburner。
  • 每個 record 都有獨立的 chroma-keyed Image 2 PNG face,以及 hero、gallery、small、social 與 locked variants,包含 300B The Y-Axis Broke hero badge。
  • 完成 device-local filtering、display settings、wear previews、PNG export、六種 verification classes、evaluator 與 Ed25519 verification contract,沒有建立第二套帳戶系統。

部署現在必須使用全新的 Ronova build。

在 Wrangler 發布到固定的 ronova-dev target 前,deployment contract 現在會重新 build 網站,並再次驗證既有的 Ronova ID lifecycle。

  • 產生新的 static build 前,TypeScript 與 Ronova ID lifecycle guard 必須先通過。
  • 重新 build 的網站會先完成驗證,並在發布開始前執行最後一次 numbered artifact 檢查。
  • 無額外相依套件的 contract test 會鎖定 stage 順序與 production target,不改動驗證或帳戶行為。

公開計畫狀態現在會符合經驗證的可用情況。

Projects directory 現在會區分公開、維護中、待發佈與待上線工作,避免任何標籤或操作超前於經驗證的 route。

  • Fundatio 標籤會跟隨已恢復的 canonical surface;Ronova VPN 仍為待上線,且不提供對外 portal 操作。
  • 未來 VPN 存取仍只使用 universal Ronova ID 作為 account boundary;沒有新增第二套帳戶系統。
  • Gekka 維持進行中,下一個 release 等待 production proof;OpenPractice 與 Casino 則清楚標記為維護中的公開 surface。

Borealis 現在會從一份經驗證的來源 dossier 發佈。

獨立的 Borealis Alliance dossier 與 seatmap generator 現在是 Ronova 兩個公開 route 的 source of truth,並以經檢查的 allowlist 防止 mirror 靜默漂移。

  • 從同一份獨立來源,將 dossier、公開 brief 與兩張產生的 TSE seatmap 同步到 /projects/borealis/ 與它的 /alliance/ route。
  • 完整保留 350 與 700 個可編輯座位 placement、固定 1:50 繪圖模型、本機 Yuji Syuku 字體與 golden-ratio presentation。
  • 新增 build-time source contract,會拒絕缺少、多出或 byte 不一致的公開檔案,同時不改動 universal Ronova ID 邊界。

Ronova ID 現在會先從名稱或 UID 這一步開始。

Ronova ID 的登入頁現在會先顯示單一的名稱或 UID 欄位,之後再讓使用者選擇 passkey 或密碼,同時保留既有的字體、配色與 universal account boundary。

  • passkey 登入現在可以先鎖定輸入的 Ronova handle、Gekka 名稱、UID 或電子郵件,再由裝置要求對應的 credential。
  • 密碼備援現在放到第二步,不再和第一個畫面並列;密碼失敗後也會帶著本機保留的 identifier 回到同一階段。
  • sign up 現在會導向既有的 Ronova support 與 reviewed request 路徑,而不是另外發明第二套公開帳戶系統。

Ronova footer 現在更像一張清楚的網站地圖。

共享 footer 現在把網站身分、站內路徑、外部目的地與信任連結分成更安靜的欄位,讓公開頁面更容易掃讀,而不需要加入填充內容。

  • 身分印記欄現在把 copyright 行、官方網站標記與語言切換收在同一處。
  • Ronova 站內路徑與外部目的地現在分開成不同欄位,讓本地頁面不再和外部連結互相搶位置。
  • 信任連結會繼續在公開路徑上保持可見,同時不改動 universal Ronova ID 邊界,也不增加第二套帳戶系統。

Ronova ID 曾加入電子郵件驗證與舊版 UID 類別前綴。

歷史上,Account Settings 加入 verification email,而可見的舊版 14 位 Ronova UID handle 採用依角色決定的四位前綴,不再全部落在舊的共用 `1000` namespace。

  • 加入了可實際使用的 verification-email flow,包含 signed one-use token、帳戶端 resend controls,以及清楚的 success 與 expiry status messages。
  • Primary email 仍然只會落在 verified address 上,而第一個完成確認的 address 會自動成為 primary。
  • 這套歷史四位分類只會作為舊版歷史保留;舊的 `1000` handles 則維持為不可變的 compatibility aliases。

Travel Evaluation 現在會以公開 archive 加上 Ronova ID notebook 的形式開啟。

Canonical 的 /projects/travel-evaluation/ route 現在會連到更安靜的獨立網站:archive 會先以 read-only summary cards 開場,點開 summary 才會看到完整評估表,並且一開始就帶著已發佈的 Ronova 評估,而個人填寫則放在 Ronova ID 之後。

  • Ronova 計畫頁面現在只作為 launch surface:它會連到網站本身,而不再嵌入預覽;canonical workbench path 仍維持在 /projects/travel-evaluation/workbench/。
  • 網站保留同一套 lounge class、location、airline 與 quality filters,用於 read-only archive,但現在會先只顯示 summary cards,等點開 summary 時才展開含有精確分數、圖片與評論的完整表格。
  • 填寫個人 evaluation 需要既有的 Ronova ID boundary;每張已發布 sheet 都會保留不可變 author principal 與發布當下的 Ronova ID snapshot。

Travel Evaluation 的工作台換成更安靜的筆記本風格。

同源 Ronova workbench 現在更安靜也更私密:一次只看一張選定表、控制更柔和、色彩重點更清楚,並繼續以 browser-local 方式記錄 lounge、flight 與 hotel 筆記。

  • /projects/travel-evaluation/workbench/ 現在一次只顯示一張選定表,同時保留新增、篩選、autosave、export/import、snapshot 與 scoring 行為。
  • 空白文字欄位現在改用輸入後會消失的 placeholder,深色筆記本表面也依 First、Gold、Business、Other 與各 flight cabin band 加上更清楚的重點色。
  • 維持 universal Ronova ID 邊界:沒有 booking layer、沒有 review marketplace,也沒有第二套帳戶系統。

計畫連結已整理成具體導線。

公開參照現在避免假的操作:計畫會指向目錄,VPN 開啟 Triluna portal,探索中的卡片不再顯示在目錄中。

  • 官方計畫卡片現在指向 Ronova 計畫目錄。
  • Ronova VPN 已連到 `https://vpn.triluna.org/`,並維持 universal Ronova ID 邊界。
  • Scriptura 與實驗已從公開計畫卡片移除,直到各自有具體目的地或頁面。

OpenPractice 加上了更安靜的動態層。

OpenPractice Toolkit 計畫頁現在更像一個練習表面:hero 更平衡、有小幅 metronome swing,也有更安靜的 transitions,但沒有改變計畫邊界。

  • 新增 responsive metronome panel,使用既有 OpenPractice mark,並在 reduced motion 設定下停止動態。
  • Project notes、status block 與 roadmap cards 在 desktop 更有結構,mobile 仍維持單欄閱讀。
  • Founding phase、local-first、open source 與 Ronova ID 邊界文案維持不變。

AI Usage 已成為開源 skill 計畫。

Parallel agent orchestration 的想法現在有了 Ronova 計畫頁與公開 skill package,可協調多個 Codex agents,避免 shared branch 與 port chaos。

  • 新增 /projects/ai-usage/ 作為 Ronova 端計畫頁,並直接連到 GitHub source。
  • 將 AI Usage 加入 Projects 目錄、首頁計畫輪播、drawer project list、sitemap,以及加密支援的 context selector。
  • 此計畫維持為 operating skill 與 documentation layer:沒有第二套帳戶系統、沒有自動 deploy 權限,也沒有隱藏 production actions。

Borealis 以固定 1:50 比例重畫了 TSE 座位圖。

內嵌的 TSE Rail 座位圖已改為圍繞真正的 1:50 比例、更乾淨的上視 cabin module,以及大幅縮小的 close-up 參照座位符號重新構成,讓車內家具和車廂本體的比例更接近真實尺度。

  • 產生器已重設為 carriage、zone 與 seat footprint 全部維持固定 1:50 比例。
  • 四個可重用艙等符號都依照你提供的 close-up 設計語言重新繪製,並在每個實際量測的 footprint 內明顯縮小,同時保留每個乘客位置可編輯,以及每第二個 Magna placement 水平翻轉的規則。
  • 重畫後的 SVG 與更新過的 Borealis 文案已用新的共用 static asset key 同步到 /projects/borealis/,沒有新增第二套帳戶系統。

Borealis 現在會在寬螢幕上平衡第一視窗構圖。

變寬後的 Borealis dossier shell 現在有了真正的 wide-screen composition:hero 文字、seal field 與 highlight strip 會形成同一個舞台,而不是只是單純被拉得更開。

  • 加入 ultra-wide layout state,讓 hero 文字落在刻意安排的左側軌道,右側則保留給 seal 與氛圍線條。
  • 重新調整 highlight strip,讓它在更寬的 desktop stage 上有稍深一些的重疊與更穩定的欄位比例。
  • 一般 desktop、tablet 與 mobile 行為都保持不變;只有 viewport 真的夠寬時,這套新構圖才會啟用。

Borealis 現在使用更寬的 dossier shell。

Borealis 的直接 dossier 不再在大螢幕上縮在狹窄中央欄位;共用 shell 現在會使用更多頁面寬度,同時保留可讀的文字尺度。

  • 提高共用寬度上限,讓 nav、hero、stat strip 與各 section band 都使用同一個更寬的 shell。
  • 標題與段落仍會在 shell 內各自限制可讀寬度,避免整頁變成難讀的文字牆。
  • 更新共用 static asset key,讓 /projects/borealis/ 與 standalone dossier 重新載入較寬版本,而不是繼續吃到快取中的狹窄副本。

Borealis 調整了 TSE 座椅圖示。

Borealis dossier 現在包含可編輯的 TSE Rail 座位圖;每個乘客座位仍是可編輯 placement group,而座椅圖像則由每個艙等一個、參考 TSE-8 的詳細 iconic SVG seat 複製而來。

  • Optimized 與 Compact SVG 改為使用四個可重用 class icon,分別複製到 700 與 350 個可編輯 placement group。
  • Lavatory 與 service point 在兩個候選方案中都維持固定 1:50 passenger ratio。
  • Magna icon 包含較短座椅、同寬 side table、panel line 與桌面標記,且每第二個 Magna placement 會水平翻轉。
  • 產出的 SVG 圖與 brief 會跟著 /projects/borealis/ 的直接 Borealis dossier 一起發布,沒有新增第二套帳戶系統。

計畫連結已整理成具體導線。

公開參照現在避免假的操作:計畫會指向目錄,VPN 開啟 Triluna portal,探索中的卡片不再顯示在目錄中。

  • 官方計畫卡片現在指向 Ronova 計畫目錄。
  • Ronova VPN 已連到 `https://vpn.triluna.org/`,並維持 universal Ronova ID 邊界。
  • Scriptura 與實驗已從公開計畫卡片移除,直到各自有具體目的地或頁面。

Borealis 現在有完整計畫頁。

Borealis 卡片現在會在 Ronova 路由上直接開啟完整的 Borealis Alliance HTML dossier。

  • 已從獨立的 Borealis Alliance 頁面抽出輕量的內嵌 Borealis 標誌。
  • 首頁 project reel 與 Projects 目錄會以低透明度 CSS 背景顯示這個印記。
  • 讓 /projects/borealis/ 成為公開 dossier 的直接路由,同時保留 universal Ronova ID 邊界,並把 Borealis 定位為概念而非 live service。

Ronova VPN 已移到 vpn.triluna.org。

VPN portal 現在註冊為 Triluna 上的 Ronova ID redirect-code client,而不是 Ronova 子網域 surface。

  • 已將 `ronova-vpn` 的 Ronova ID app/client registry 移到 `https://vpn.triluna.org`。
  • VPN callback 現在使用 `https://vpn.triluna.org/api/auth/ronova/callback`,並透過 redirect-code exchange 返回。
  • 保留 universal Ronova ID 邊界:VPN 使用既有 linked account records,沒有新增第二套帳戶系統。

Ronova ID 現在有完整的自助復原路徑。

Ronova ID 現在支援直接建立帳戶、用於密碼復原的一次性復原碼,以及遺失 passkey 時清楚的 Support 路徑;passkey 仍然是敏感操作使用的強工作階段方式。

  • 歷史上,原生 Ronova ID sign-up 會產生舊版 14 位 player UID,並只在建立時顯示一次復原碼。
  • 新增一次性復原碼密碼 reset,先撤銷舊工作階段,再開啟新的 standard session。
  • 新增 id.ronova.dev 專用 sign-up 與 recovery routes,並為遺失 passkey 提供 Support handoff,沒有建立第二個帳戶系統。

Ronova ID 登入已重新對上名稱先行的分段流程。

live auth routes 已連同 Pages Functions 一起恢復,display name lookup 現在能對上名稱先行的輸入欄,而專用 identity host 也會讓改寫後的 return path 與分段 passkey / password controls 保持一致。

  • 從 project root 重新部署 Ronova bundle,讓 Pages Functions 與 static build 一起送出,已恢復 live 的 `/api/auth/*` 與 `/api/identity/*` surface。
  • Ronova ID identifier lookup 現在接受精確的 account display name,因此與 handle、UID、已移轉的 Gekka name、email 一樣,都能進入同一套分段 passkey / password flow。
  • `id.ronova.dev` 的 HTML 現在也會改寫 `data-redirect-to`,讓 passkey 與 password 的 return 留在 `/` 與 `/account/`,不再漏回備援的 `/id/*` paths。

OpenPractice Toolkit 已列入 ronova.dev。

這個開源音樂練習 bootstrap 現在有 Ronova 端公開計畫頁、計畫卡片、支援分流脈絡與多語路由。

  • 新增 /projects/open-practice-toolkit/,作為 Ronova 端計畫頁,並連到公開 GitHub repository。
  • 將 OpenPractice Toolkit 加入首頁計畫輪播、Projects 目錄、drawer 計畫列表、sitemap,以及加密支援的脈絡選擇。
  • 公開說明維持 local-first 與開源邊界:核心練習功能不依賴第二套帳戶系統,也不要求付費 API。

月影銅円台 已作為 Pascal coin pusher 模組公開。

Casino Statistics 現在以較慢的物理方式呈現遞迴 Pascal coin pusher,加入 A-frame 皮帶升降、水平籃、落入桌面的普通孔、入口標記、較大且等尺寸的 bonus Pascal boards、精簡操作與可選 blueprint guide。

  • 更新 /projects/casino/coin-pusher/,讓嵌入的 3D 月影銅円台 模擬器成為第一屏重點。
  • 新增連續錯開的硬幣運動、接觸反彈、普通孔落入桌面、右側 lever 導入左側升降籃、斜向皮帶、M/G 入口、相連的 n=3/n=4/n=5 bonus layers、小型 final fork,以及一次投入 10 枚。
  • 放慢落下與 elevator 速度,將可見硬幣縮小到 75%,bonus credit 改為從 G entry 物理落下,而不是立即加數字,並加入會模糊消失的大型 burgundy bonus burst。
  • 新增預設關閉的 blueprint guide,可顯示 sample paths、catch baskets、X chutes 與 label lanes,不改變 seeded outcomes 或 payouts。
  • Simulator 顯示字體統一只使用 Yuji Syuku,包含 bonus burst 與 canvas-rendered board labels。
  • 維持無真錢邊界:只使用虛擬銅円,沒有入金、出金或賭博帳戶。

Roulette Probability Lab 已加入 Casino Statistics。

Roulette 模組現在是獨立的教育模擬器,包含可遊玩的桌面、可見輪盤、滾動球、seeded simulations、strategy bots,以及無真錢邊界。

  • 新增 /projects/casino/roulette/ 作為靜態公開 lab,用於 European 與 American roulette 機率分析。
  • 模組行為維持 single-player 與 offline:沒有付款、帳戶、入金、出金,也不連接 casino。
  • 已發布指定的低飽和 matcha、sakura、dark wood 與 burgundy 介面,包含期望值、bias 測試、debug mode 與 charts。

Casino Statistics 已作為無真錢模擬器公開。

新的 Casino Statistics 計畫頁會在未來遊戲模組加入前,先用虛擬籌碼、期望值與短期波動說明 house edge。

  • 新增 /projects/casino/ 作為本地化 Ronova 計畫頁,並加入可遊玩的虛擬籌碼模擬器。
  • Casino Statistics 已加入計畫目錄、首頁 reel、drawer 計畫列表與加密支援分流。
  • 這個計畫仍與 Ronova ID 帳戶流程和真實付款分開。

Archon 現在串起三個 website roots。

Ronova、Gekka 與 Triluna 現在共用同一個 owner/root control model:一般帳戶管理留在 id.ronova.dev,archon.ronova.dev 則是唯一 root control plane。

  • 新增 ronova.dev、gekka-harae.com 與 triluna.org 的 website-root registry,並把 root control 指向 archon.ronova.dev。
  • Triluna / Fundatio 已註冊為 Ronova ID redirect-code client,沒有新增第二套 account system。
  • Support routing 已加入 Fundatio / Triluna,owner-only Archon dashboard 也會顯示三個 public roots。

Crawl metadata 現在有受保護的 owner。

robots.txt 現在由使用共用來源的精確 Pages Function 回應;剩下的 live cache 差異已切分到 Cloudflare zone cache rule。

  • robots.txt 的 canonical body 現在放在 Pages Function 與 validators 共用的來源中。
  • Build 與 static guards 現在會阻止 public/ 或 dist/ 靜默重新加入 static robots.txt asset。
  • 最新 Pages preview 已回傳 max-age=0;ronova.dev 仍需要調整 Cloudflare zone cache rule。

選單現在指向 active projects 與 Account。

Drawer 會在 Projects 下列出 active project entries,並在 Access 下加入 Account,通往 Ronova ID 的登入與註冊流程。

  • Drawer 的 project links 現在來自 active 與 experimental project cards,不再是另一份手動 shortcut。
  • Access 現在包含 Account,連到既有 Ronova ID account page,沒有建立第二套帳戶系統。
  • AGENTS.md 現在記錄:建立新 project 時,也必須加入 feedback/support form 的 routing options。

加密支援現在使用正式公開金鑰。

Ronova.dev 現在會用真正的 ECDH 公開金鑰建置支援表單,私密金鑰仍留在本機,並驗證加密表單不會安靜地以停用狀態上線。

  • 若沒有提供環境變數,建置時會從本機公開 JWK 載入 PUBLIC_ENCRYPTION_KEY。
  • 產生後的網站驗證現在會檢查已設定的 P-256 公開金鑰、加密送出按鈕,以及頁面內沒有私密金鑰材料。
  • 已為上線的支援頁面更新共用 static asset key。

計畫預覽現在會一次一張循環。

首頁的計畫區塊現在把所有計畫放進單一卡片水平 reel,並用圓點、目前顯示行,以及每七秒自動前進來提示狀態。

  • 移除可見的 carousel 按鈕與捲動條,但保留自然水平捲動。
  • 加入圓點與目前計畫名稱,不需要說明文字也能看出正在顯示哪張卡片。
  • reel 每七秒前往下一項,最後會回到開頭繼續循環。
  • Gekka Harae 標誌與 Fundatio Trilunae 印記都改為低透明度、單色的計畫卡片背景。

Ronova ID 與存取文案更清楚了。

身分入口現在會說明誰能取得 Ronova ID,密碼備援欄位有可見標籤,存取碼注意事項也已完整本地化。

  • 為 Ronova ID 密碼登入加入可見標籤、輔助文字與自訂驗證訊息。
  • 說明 Ronova ID 透過邀請、移轉或審核申請發出,沒有新增第二套帳戶系統。
  • 本地化存取碼警示文字,並整理公開網站中混用語言的計畫標籤。

公開 i18n 的角色稱謂已保持一致。

在會標示語法性別的語言中,Ronova 的角色稱謂已統一採用女性形式;Ronova ID 與帳戶流程沒有變更。

  • 德文說明已改為 Entwicklerin、Studentin、Schöpferin。
  • 法文的 Gekka 相關措辭已跟既有的 `créatrice` 女性形式保持一致。
  • 日文與繁體中文的角色稱謂保留各自自然的非性別化語法,並重新產生公開 i18n CSV。

Ronova ID 的 UID 顯示現在會分組。

歷史上,可見的 Ronova ID surface 會把舊版 14 位 UID handle 分組顯示成 `UID: 1000 12345 67890`;account 與 admin routes 維持聚焦。

  • Account settings、controlled Archon、Archon redemption status、sign-in status 與 passkey enrollment labels 都會格式化 UID handle。
  • Login lookup、storage 與 API contract 仍保留原始 UID identifier。
  • 完整 Ronova ID overview 留在 `/id/`,`/id/account/` 與 `/id/admin/` 則保持任務導向。
  • Button controls 明確使用 Yuji Syuku,identity panels 維持單欄閱讀流程。

Archon access codes 現在支援 guest 與 Ronova ID 兌換。

Archon surface 現在可以發行具有共享 seat limit、十分鐘 guest reservation、Ronova ID account-bound grant、可選 ID-only viewing,以及 owner revoke 的 codes。

  • 新增獨立 Archon access-code model,包含 hashed codes、account grants、guest reservations 與 D1 enforced seat limits。
  • Anonymous redemption 現在只會 block 一個 seat 十分鐘,而不是建立長時間 private session。
  • Ronova ID redemption 會把 authorization 綁定到 account,讓該 account 的 active sessions 在被 revoke 前都能查看 authorized content。
  • Owner-only controlled Archon 現在可以處理 distribution、code revoke 與 account-grant revoke。

公開網站現在優先採用單欄閱讀。

主要公開版面現在會在 desktop、tablet 與 mobile 上堆疊成安靜的單欄閱讀路徑;小型 controls、tags 與 buttons 則保留自然的 inline 行為。

  • Split grids、project lists、devlog entries、drawer sections、footer groups、Fundatio panels 與 Ronova ID card surfaces 都已改為 single-column stacks。
  • 已移除 wide desktop 的 project-card grid,讓首頁 project excerpts 與 projects page 保持一致的閱讀節奏。
  • Tags、buttons、filters 與 form choices 等小型 control rows 仍可彈性排列,但不再把 page content 變成 columns。
  • 既有 routes、Ronova ID、access logic 與 localized content structure 都保持不變。

公開網站版面已調整得更適合閱讀。

公開網站現在有更安靜的 hero 結構、更穩定的 project cards、更容易閱讀的 devlog cards,以及更穩定的 responsive controls;Ronova ID 與 access logic 沒有改動。

  • 首頁主要 hero copy 已從卡片框中移出,讓第一畫面更像 creator hub,而不是堆疊卡片。
  • Devlog entries 已改成 full-width cards,分出 date/tag rail 與可閱讀內容欄。
  • Project card spacing 已調整,讓公共閱讀路徑更穩定。
  • Heading size 不再依賴 viewport 縮放,並移除 heading 的 negative letter-spacing。
  • Access form actions 已從 hero actions 分離,讓本地化 button text 更安全地換行。

Ronova ID 密碼登入現在會留在登入流程內。

密碼登入失敗時,瀏覽器不會再停在原始 API JSON 頁面;已移入的 Gekka username 在歷史上會與明確的舊版 14 位 Ronova UID 一起解析。

  • 瀏覽器表單失敗會回到 Ronova ID,並顯示可讀的狀態訊息。
  • API 與 fetch 呼叫會收到帶有安全狀態碼與 redirect target 的 `login-failed`。
  • 歷史上的 Gekka username 匯入保留 legacy password credential,舊 10 位 UID 會轉為明確的舊版 14 位 Ronova UID alias;email alias 保留既有的 Gekka HMAC lookup 格式。
  • 已移除登入表單中僅由瀏覽器執行的 12 字元限制,讓已遷移的 Gekka legacy password 可以送到伺服器驗證。
  • 密碼登入現在會保留原本的 authorization continue path,讓已註冊應用程式在登入後繼續流程。

Gekka 登入轉移現在落在 Ronova ID 之下。

Gekka Account 保留 player records 與 saves,但登入權威現在交給 Ronova ID,不再維持第二套 Gekka login。

  • Gekka Account bridge 現在接受標準 Ronova ID session 完成一般登入,包含受管理的密碼備援。
  • 轉移與復原敏感操作仍需要 passkey-backed 的強 Ronova ID trust。
  • Gekka Account 的可見文案已從連結/接上改成將登入權威轉入 Ronova ID。

公開 i18n CSV 現在涵蓋五種語言。

公開文字匯出現在會從 English、German、French、Japanese、Traditional Chinese 的 localized source 讀取 catalog、static shell 與 admin-visible copy。

  • Ronova ID catalog labels、static shell text、structured-data terms、vCard text 與 admin-console labels 都已移入 localized source objects。
  • `ronova-public-i18n.csv` 已重新產生,包含 5,548 筆 localized rows,沒有 English-only status entries。
  • Drawer 與 contact-card 文案已收斂成導覽與確認語氣,不再像操作步驟。

Ronova ID 現在有受管理的舊式密碼登入。

帳戶管理現在可以設定或停用密碼備援,只在仍有其他憑證時移除 passkey,並顯示近期登入紀錄。

  • 為在帳戶管理中啟用密碼的帳戶新增 `legacy-password` 登入。
  • Add Passkey 與 Remove Passkey 已成為帳戶操作,並保護最後一個可用憑證。
  • 帳戶頁會顯示 passkey、密碼、bridge 與 logout 事件的登入紀錄。

Fundatio 的外部動作已收斂。

Fundatio 橋接頁現在在第一個視窗內只保留一個前往 triluna.org 的可見按鈕,並提高外部標籤的對比。

  • 已從側邊說明面板移除重複的 triluna.org 按鈕,避免同一畫面出現兩個相同外部 CTA。
  • 頁面用來說明關係的文字保持不變,前往 triluna.org 的交接集中在 hero。
  • Primary button 上的外部 chip 已提高對比,在 lavender 與 gold 的漸層上也更清楚。

Ronova ID 現在會協調 Ronova 子網域。

此條目保留較早的 shared-session 階段記錄;2026-07-18 的 host-only authorization-code cutover 已取代該設計。

  • 先前的 same-site 協調僅保留為 release history,已不是目前的工作階段架構。
  • `ronova-archon` 與 `ronova-vpn` 已加入 identity app/client catalog 與 D1 migration。
  • 目前的隔離 host session 與 one-time code flow 請參考 2026-07-18 條目。

Archon 與 VPN 子網域已在 Cloudflare 上線。

`archon.ronova.dev` 與 `vpn.ronova.dev` 現在透過 Cloudflare Pages 解析,不再停在缺少 DNS 的狀態。

  • 已為 Archon 與 VPN Pages 專案新增必要的 proxied Cloudflare CNAME 路由。
  • 已確認 `archon.ronova.dev` 以 no-store/noindex headers 提供僅限 owner 的控制面。
  • 已重新部署 Ronova VPN Pages bundle;`vpn.ronova.dev` 提供 Ronova VPN Portal,而 pages.dev host 會重新導向到它。

Fundatio Trilunae 現在歸在計畫項目之下。

首頁現在把 Fundatio Trilunae 當作計畫項目,而不是獨立的首頁區塊;卡片使用透明印記,並連向 Ronova 端的計畫頁。

  • 可見的 Fundatio 項目已從首頁獨立區塊移進現有的計畫卡片列表。
  • 卡片連到 `/fundatio/` 作為計畫說明,而 `https://triluna.org` 保留為外部 Fundatio 目的地。
  • 原本像白色圓盤的印記呈現已改為透明印記 asset,直接放在計畫卡片上。

受控 Archon 現在位於 archon.ronova.dev。

僅限擁有者的控制面現在使用專屬子網域;舊的 admin 路徑會重新導向到那裡,access key、授權、private page、registry 與 audit 控制仍然需要 passkey。

  • `archon.ronova.dev` 現在是受控 Archon 的 canonical host;`/id/admin/` 與 `id.ronova.dev/admin/` 會導向那裡。
  • Access key 現在只會顯示一次,資料庫只保存 keyed hash,並可連同作用中的 private-page session 一起撤銷。
  • `/api/admin/archon` 只在 Archon host 上開放,並仍要求全域 owner 角色與強 passkey-backed Ronova ID 工作階段。

月下祓行頁面與選單覆層已完成簡化。

計畫頁現在更快說清楚創作者樞紐與官方網站的分工;選單覆層也降密度、分層更清楚。

  • 選單改以 Main、Projects、Access、Language、External、Trust 分組,不再像完整後台或站點地圖。
  • 月下祓行頁面保留 Ronova.dev 的創作者側脈絡,並把正式公開資訊、版本與入口交給 gekka-harae.com。
  • 頁尾移除重複導覽,只保留版權、語言、官方計畫網站與必要信任連結。

Deploy gate 現在會檢查可變公共 asset 的快取鍵。

若生成頁面中的公開 script、style、社群圖片、favicon 或聯絡卡沒有使用共用 cache-busting version,驗證現在會失敗。

  • Access、support 與 contact-card 頁面現在都透過共用 static asset version 載入各自的 route-level asset。
  • built-site validator 會在 release 前掃描每個生成 HTML,找出未 version 的可變 public asset。
  • 靜態 header policy 現在也要求公開聯絡卡帶有 `X-Content-Type-Options: nosniff`。

Ronova ID 已用 step-up 保護復原敏感的設定。

當身分需要 step-up 時,復原與帳戶連續性相關的設定變更,現在需要 passkey 支撐的強 Ronova ID 工作階段。

  • 新增電子郵件、變更主要電子郵件、移除電子郵件、停用 passkey、撤銷其他工作階段,若工作階段不夠強會回傳 `step-up-required`。
  • passkey 註冊與純個人資料修改仍可使用,讓 bootstrap 可以前進,而不加入密碼 fallback。
  • 帳戶設定面板現在會反映被封鎖的狀態,並持續顯示密碼登入不可用。

Ronova ID 帳戶設定現在成為真正的自助管理表面。

Ronova ID 帳戶頁現在會即時載入個人資料、電子郵件、無密碼狀態、passkey、有效工作階段、復原狀態與應用程式存取。

  • 新增已驗證工作階段可用的設定 API,可更新個人資料、建立未驗證電子郵件列、停用 passkey、撤銷其他工作階段。
  • 密碼管理明確維持無密碼:Ronova ID 不建立也不儲存密碼。
  • Ronova ID 帳戶頁新增即時設定面板,並以新的 script 與 style 版本避開舊快取。

Ronova ID 已有實際 passkey 登入導線。

身分 runtime 現在加入 WebAuthn challenge 儲存、passkey 註冊、passkey 登入,以及 code exchange 中更明確的 trust 欄位,讓跨計畫 client 可以判斷 Ronova ID 證明是否來自使用者驗證過的 passkey。

  • `0004_ronova_passkey_runtime` D1 migration 已新增 WebAuthn challenge 與 passkey credential metadata。
  • Ronova ID 帳戶頁現在提供 passkey 登入與 passkey 註冊,而舊 bridge 只保留作狹窄的 owner bootstrap。
  • Authorization-code exchange 現在會回傳 passkey-backed trust fields,供未來 Gekka Account 驗證使用。

Ronova ID 已整理成跨計畫的帳戶層。

身分註冊表現在把 account.gekka-harae.com 明確列為 Gekka Account Center 的獨立 client,讓 Gekka 計畫有一個可用於登入與 login transfer 的具體 Ronova ID 目標。

  • 已新增專用的 `gekka-account` app 與 client,回呼目標為 `https://account.gekka-harae.com/api/auth/ronova/callback`。
  • 已新增 `gekka.account.login`、`gekka.account.link`、`gekka.account.recovery` 權限,讓帳戶身分和 play、Senate、Archon 權限分開。
  • 架構筆記已說清楚:Gekka 可以把 login authority 轉交 Ronova ID,但 Gekka 工作階段不會因此變成 Ronova 私人頁面的工作階段。

Ronova ID 的共享身分設計已完整寫清楚。

Ronova ID 架構筆記現在整理了給 ronova.dev、id.ronova.dev 與相關計畫使用的 passkey-first 身分系統,包含 D1 schema 方向、復原模型、私人頁面存取,以及 Gekka 權限橋接。

  • Ronova ID 被定義為中央身分層,而每個使用它的應用程式仍保有自己的範圍化工作階段。
  • 長期 D1 模型已涵蓋使用者、passkey、WebAuthn challenge、復原碼、存取金鑰、應用程式 grant、工作階段、ticket 與稽核事件。
  • Gekka 帳戶流程可以請求 Ronova 權限,但 ronova.dev 私人頁面只會在明確 Ronova ID grant 與短效 audience-bound ticket 存在時解鎖。

各個子頁已完成一輪帶著安全意識的細緻整理。

ronova.dev 這次整理了公開呈現與執行期處理:首頁狀態欄已本地化,信任相關頁面更容易掃讀,開發記錄標籤更清楚,而 Ronova ID 的請求本文解析也沿用舊有存取與支援端點的 bounded-body 模式。

  • 首頁狀態欄已本地化,非英文頁面第一屏不再留下硬寫的英文標籤。
  • 開發記錄與信任頁面改用更容易掃讀的標籤與較安靜的提示面板。
  • Ronova ID 的登入、登出與授權碼交換,在處理 JSON 與 URL encoded 表單前會先限制請求本文大小。

Ronova ID 現在有自己的子網域路由。

id.ronova.dev 現在會進入既有的 Ronova ID 入口,不再只是尚未接線的未來位址。

  • 已加入依主機名稱判斷的 Pages 路由,讓身分總覽、帳戶檢視與管理檢視可從 `id.ronova.dev`、`/account/`、`/admin/` 進入。
  • `ronova.dev/id/` 仍保留為路徑備援,同時在公開應用程式目錄裡標明專用身分主機名稱。
  • Ronova ID 繼續維持 noindex 與 no-store;子網域上無關的路徑會導回主要公開網站。

Ronova ID 的基礎現在已經成為真正的公開表面與執行期 API。

ronova.dev 現在已具備第一版 Ronova ID 基礎:有獨立的身分頁面、中央化的應用程式與客戶端註冊表,以及一條會把工作階段維持在各應用程式內部的重新導向式授權流程起點。

  • 已新增真正的 `/id/` 與 `/id/account/` 表面,也保留現在會導向 `archon.ronova.dev` 的 admin source route,並補齊英文、德文、法文、日文與繁體中文版本。
  • 已建立中央化的 Ronova ID D1 註冊表,用來保存第一方應用程式、受信任客戶端、角色、權限、工作階段、授權碼與稽核事件。
  • 已加入第一條可安全遷移的啟動路徑:透過既有 Ronova private 管理工作階段的狹窄 legacy 橋接來建立初始擁有者身分,而不是把跨網域 Cookie 當成信任模型。

導覽現在把主路徑、深層結構與信任連結分開了。

公共外殼現在讓頁首保持專注,把完整站點地圖交給真正貼在右側邊緣的抽屜選單,並把頁尾重新落在聯絡、官方驗證與信任中繼資訊上。

  • 常駐頁首已縮成身分、主要公開頁面、直接存取入口,以及一個貼在最右側的漢堡選單按鈕。
  • 新的全高右側抽屜現在屬於整個網站層,而不是被收在頁首帶內,集中計畫、支援、私人、語言、官方與信任路徑,並補上鍵盤操作、焦點回復、背景點擊關閉與降低動態支援。
  • 頁尾重新整理為聯絡路徑、官方外部驗證與信任連結,不再把公開電話永遠攤在每一頁上。

計畫路徑現在會先經過 Ronova 頁面再往外走。

公開計畫流程現在會先在 ronova.dev 上介紹作品本身,再交棒到外部網站;同時,頁尾也重新補回可直接前往 `gekka-harae.com` 的捷徑。

  • 計畫頁上的《月下祓行》入口已改成先開啟 Ronova 站內的橋接頁,而不是立刻跳到外部網站。
  • 《月下祓行》橋接頁重新拿回通往官方計畫站的按鈕,讓站內介紹頁可以明確地再往外導。
  • 頁尾的外部連結群已重新加入 `gekka-harae.com`,保留熟門熟路使用者的直接入口。

聯絡卡下載現在會先停在一個白話確認點。

頁尾與聯絡表面不再直接觸發通訊錄檔案下載,而是先進入一個說清楚內容的檢視頁,之後再由使用者決定是否下載。

  • 頁尾、聯絡頁與官方連結卡裡原本直接下載聯絡卡的路徑,現在都先進入同一個檢視頁。
  • 實際會被存進聯絡人的欄位已改成白話列出:姓名、電子郵件、電話、官方網站、GitHub、Bilibili,以及簡短站點註記。
  • 真正的 .vcf 檔案仍保留,但只會在明確按下確認下載後才開始。

捲動顯示現在不再硬跳,而是會先呼吸一下。

卡片、面板與文字區塊現在改成可重用的 0% 到 100% 視窗邊緣顯示刻度,會在畫面上下各 10% 的區帶裡平順地顯影。

  • 原本只在首次載入播放一次的動畫,已改成共用的捲動進度顯示系統。
  • 顯示進度現在會在視窗頂部與底部各 10% 的區帶內,從 0% 漸進到 100%,而不是整塊內容一下子全開或全關。
  • 以模糊為主的像素式顯影仍然保留,所以文字框與卡片在往下捲、往上捲,以及重新排序後再次出現時,都會平順地慢慢清晰。

語言切換已從頁首移到頁尾。

頁首現在只保留主要導覽,而語言選擇改放進頁尾帶有地球圖示的次級原生下拉裡。

  • 桌面與行動版頁首裡的語言切換都已移除。
  • 頁尾改用原生 HTML `details` 與 `summary` 做出語言下拉,而不是沿用原本那套內建切換器。
  • 語言選擇仍留在版權區塊下方,讓路由層級的輔助操作集中在頁尾。

對外連結位置被收束,頁尾也被壓回頁面底部。

計畫的外部目的地現在只留在專門的計畫頁,平台連結集中到頁尾,而內容較少的頁面也會把留白放在頁尾上方而不是下方。

  • 首頁 hero、精選計畫卡、聯絡頁操作列,以及《月下祓行》橋接頁裡的直接外部跳轉都已移除。
  • 頁尾被拆成身分資訊、站內連結、站外連結三個欄位,語言連結現在直接排在版權行下方。
  • 整體頁面外殼改成垂直撐開,因此內容較短時,頁尾會留在視窗底部。

公開聯絡連結已補齊到可直接使用。

公開聯絡表面現在已帶上真正可用的 Bilibili 個人頁、瑞士電話號碼,以及更新後的聯絡卡,不再讓社群聯絡停留在半隱藏狀態。

  • 原本最後一個社群佔位已改成 Ronova27 的官方 Bilibili 個人頁。
  • 公開電話號碼已補到聯絡頁、頁尾、結構化身分資料,以及可直接撥號的連結裡。
  • 可下載的 .vcf 聯絡卡現在也一併帶上電話號碼與 Bilibili URL。

給搜尋引擎看的身分訊號又被收緊了一輪。

公共中繼資料、個人檔案結構化資料、網站地圖涵蓋面,以及受保護路由的爬取封鎖都被重新對齊,讓 ronova.dev 更清楚地被讀成 Ronova Deng 的官方網站。

  • 新增更完整的 ProfilePage 與 Person 結構,把 Ronova、Ronova Deng、ronova.dev、GitHub 與 gekka-harae.com 串成同一條身分線。
  • 整理了多語替代頁面的關係,並把公開 devlog 路由加入 sitemap,讓持續更新的公開內容更容易被發現。
  • 為 /private/* 與 /api/* 補上 X-Robots-Tag noindex 標頭,讓受保護表面留在搜尋索引之外。

公共配色已轉入更深的墨夜與紫晶調。

共用外殼現在改用更深的墨夜底色,並把紫晶與月金色帶進導覽、卡片、表單與社群分享資產裡。

  • 共用樣式表已把原本偏藍的外殼色票替換成更完整的 Deep Ink、Amethyst 與 Moon Gold 配色。
  • 按鈕、狀態標籤、表單控制項與私人存取外殼都已同步換色,讓執行面與公共頁面不再分離。
  • favicon、社群分享卡與瀏覽器主題色也一併更新,不再留下前一版的色彩殘影。

各語系的計畫命名已各自回到自己的文字系統。

可見面的計畫命名現在改由共用詞彙表提供,因此拉丁字母語系會使用羅馬字名稱,而中文頁面維持《月下祓行》,不再混寫。

  • 新增一份共用的詞彙表,取代各語系檔案裡重複出現的混寫計畫名稱。
  • 英文與德文頁面現在統一使用羅馬字名稱,繁體中文可見標籤則維持《月下祓行》。
  • 像 gekka-harae.com 這類技術識別仍維持原樣,但標題、中繼資料與支援選項已清乾淨。

公共外殼正式上線。

ronova.dev 現在已作為多語 Astro 網站上線,具備清楚的公共外殼、獨立的計畫路由,以及真實可用的 Cloudflare Pages 交付路徑。

  • 第一版公共外殼已具備英文、德文與繁體中文路由。
  • 創作者身分樞紐頁與計畫目的地頁被明確分開,讓 ronova.dev 與 gekka-harae.com 各自保有清楚角色。
  • ronova.dev 的自訂網域路徑已在 Pages 專案上完成驗證。

私人聯絡與存取流程被加固。

支援入口與私人存取不再只是佔位,而是進入了有伺服器支撐的流程:包含加密、範圍控制工作階段,以及 D1 驗證。

  • 支援訊息在儲存前先於瀏覽器端完成加密。
  • 私人頁面維持在具範圍限制的存取碼與伺服器驗證工作階段之後。
  • 請求流程是對著本機 Pages 執行環境驗證,而不是只停留在靜態假設。

字體與版面做了一輪更緊的收束。

這次視覺收束重點是整體一致性:單一字體家族、修正後的響應式卡片網格,以及更接近正式交付狀態的公共外殼。

  • 主站與社群分享卡片的公開字體統一切換為 Yuji Syuku。
  • 共用的 project-card 節奏已修正,讓 iPad Safari 維持原本設計的 full-width 閱讀版面。
  • 版面修正後已重新建置並再次部署,以確認正式交付路徑正常。