Files
G-Launcher/Doc/upstream-merge-audit.md

4.1 KiB

🔍 ผลการตรวจสอบการผสานต้นน้ำ (Upstream Merge & Provenance Audit)

เอกสารนี้บันทึกที่มา (Provenance) ของโค้ดทุกส่วนใน G-Launcher โดยแจกแจงอย่างชัดเจนว่าฟีเจอร์ใดนำมาจาก Firefly-Shelter/Firefly_Launcher หรือ horoyoi-san/game-Launcher


1. ตารางแจกแจงที่มาของไฟล์และฟังก์ชัน (File Attribution Matrix)

ไฟล์ / แพ็กเกจใน G-Launcher โครงการต้นแบบ เหตุผลทางวิศวกรรมและสิ่งที่ปรับปรุง
frontend/src/ (UI Pages & Components) Firefly Launcher ดีไซน์ทันสมัย เรียบหรู รองรับ DaisyUI 5 และ TailwindCSS v4
internal/git-service/git_runtime.go Horoyoi-san นำระบบดาวน์โหลด Portable MinGit x64 อัตโนมัติมาใช้ เพื่อรองรับ Zero-Dependency
internal/fs-service/game-selection.go Horoyoi-san นำระบบ Atomic Write ด้วย Windows API MoveFileEx มาใช้เพื่อป้องกันไฟล์คอนฟิกเสียหาย
internal/diff-service/ziff.go Horoyoi-san นำ Wrapper สำหรับเครื่องมือ zift.exe มาใช้รองรับไฟล์แพตช์นามสกุล .ziff
internal/language-service/thai-patch.go Horoyoi-san นำเอ็นจินแก้ไขไฟล์ไบนารี ExcelData พร้อมระบบสำรอง .backup มาใช้สำหรับม็อดภาษาไทย
scripts/launcher-release.mjs Horoyoi-san นำสคริปต์คำนวณเวอร์ชัน SemVer และสร้าง latest.json มาใช้ใน CI/CD Release Pipeline
frontend/public/locales/th.json G-Launcher (GaCy) เขียนคำแปลภาษาไทยฉบับสมบูรณ์สำหรับทุกหน้าจอ ปุ่ม และเมนูของ Launcher
scripts/bootstrap.ps1 G-Launcher (GaCy) พัฒนาระบบ Auto-Updater & Local Build ที่ทำงานแบบ Temp Isolation + Rollback + Purge Temp
update-and-build.bat G-Launcher (GaCy) พัฒนาสคริปต์คลิกเดียวสำหรับผู้ใช้ทั่วไปเพื่ออัปเดตและคอมไพล์โดยไม่ต้องตั้งค่าใดๆ
internal/git-service/launcher.go G-Launcher (GaCy) ผสานระบบตรวจสอบผ่าน Manifest SHA-256 และระบบคอมไพล์จากซอร์สโค้ดใน Temp เข้าด้วยกัน

2. การจัดการ Naming และ Module Rebranding

เพื่อปฏิบัติตามคำแนะนำของ Horoyoi-san ("ส่วนชื่อที่เป็น sunbringer หรือชื่อผมค่อยไปเปลี่ยนทีหลังนะ"):

  1. Module Name: เปลี่ยนชื่อ Go Module หลักเป็น g-launcher ใน go.mod
  2. User-Facing Branding: เปลี่ยนชื่อหน้าต่าง, Title, ข้อความใน UI, และ Metadata ของ Windows Application Manifest เป็น G-Launcher
  3. Internal Identifiers: อนุรักษ์ชื่อโครงสร้างข้อมูลและโปรโตคอลภายในที่จำเป็นต่อการเชื่อมต่อกับระบบเดิมไว้ เพื่อไม่ให้กระทบต่อ Wails Bindings และ Protobuf Serialization