Baru: arcade, komik, Material 3, dan tampilan untuk anak-anak
Empat keluarga baru bergabung dengan default, sci-fi, dan abad pertengahan — kini ada empat belas tampilan bawaan, masing-masing gelap dan terang. Setiap widget, popup, dan bagian HUD langsung memakainya tanpa perubahan pada kode Anda: ganti presetnya dan seluruh layar ikut berubah.

material_light
material_dark
kids_light
kids_dark
comic_light
comic_dark
arcade_light
arcade_darkMaterial 3 — untuk layar aplikasi
Material 3 Expressive, diukur terhadap token M3 resmi: tombol pil dengan pelat 40dp di dalam target sentuh 48dp, dialog dan lembar 28dp, kartu terisi, kolom bergaris tepi, dan slider Expressive. Komponen aplikasi — bilah navigasi, bilah aplikasi atas, FAB, bilah pencarian, chip, progres, dan pemilih tanggal — mengikuti token komponen M3, dan judulnya memakai font Roboto bawaan. Untuk toko, setelan, kotak masuk, dan setiap layar yang semestinya terasa seperti aplikasi.
Anak-anak — kotak mainan
Dibuat untuk anak-anak: setiap tombol, baris, dan panel adalah permen jeli dengan garis tepi tebal dan bibir padat yang tenggelam saat ditekan, setiap jenis kontrol dengan warna krayonnya sendiri. Slot cepat berupa balok permen, lencana berupa stiker, joystick-nya pelangi, jendela mendapat pita judul yang cerah dan tombol tutup permen yang bulat, dan setiap tekanan membuatnya memipih. Ukuran dan font proyek Anda tetap persis seperti semula.
Komik — tinta tebal
Setiap muka adalah panel buku komik: warna permukaan di dalam garis tepi tinta yang tebal, dengan bayangan tegas di belakangnya yang hilang saat muka itu ditekan. Satu setelan menyalakan atau mematikan semua bayangan, dua lagi mengatur lebar garis tepi dan ukuran bayangan, dan satu panggilan melakukan hal yang sama untuk satu widget saja. Jendela mendapat keterangan judul kuning.
Arcade — tombol bercat
Setiap tombol dicat — gradasi, kilau putih, dan bibir yang tenggelam saat ditekan, di dalam garis tepi tinta biru tua — dan labelnya putih dengan garis tepi tinta: hijau untuk bermain, biru untuk yang lain, merah untuk menghapus. Papannya tebal, berupa bingkai berwarna di sekeliling ceruk pucat, dan jendela mendapat spanduk judul emas serta tombol tutup merah yang bundar.
GoUi.use_preset(GoThemePresets.MATERIAL_LIGHT) # atau MATERIAL_DARK
GoUi.use_preset(&"kids_light") # atau &"kids_dark"
GoUi.use_preset(&"comic_light") # atau &"comic_dark"
GoUi.use_preset(&"arcade_light") # atau &"arcade_dark"
Material 3 secara rinci → · Anak-anak secara rinci → · Arcade, widget demi widget ↓ · Komik, widget demi widget ↓ · Popup yang sama dalam keempat belas tampilan →
Arcade: tombol bercat dan papan tebal
Tampilan terbaru mendandani setiap layar seperti mesin arcade. Setiap tombol dicat — gradasi dari atas yang terang ke
bawah yang lebih pekat, goresan kilau putih, dan bibir yang tenggelam saat ditekan, semuanya di dalam garis tepi tinta biru tua — dan labelnya
putih dengan garis tepi tinta. Setiap papan tebal: bingkai berwarna dengan kilaunya sendiri di sekeliling ceruk pucat.
arcade_light menaruh papan putih di halaman biru langit; arcade_dark menaruh papan biru tua di halaman malam.
Setiap gambar di bawah ini adalah layar gohud sungguhan — kode yang sama, satu baris preset.
GoUi.use_preset(&"arcade_light") # atau &"arcade_dark"

arcade_light · galeri
arcade_dark · galeri
GoDialogs
GoSheet
GoCoachMark
GoDrawer
GoPopover
GoDialogs.alert()
GoSnackbarSetiap tombol dicat

GoStyle.button()
GoStyle.tabs()


GoStyle.card()
GoForm
GoStyle.choice_grid()
GoSlotGrid

GoDatePicker
GoStyle.slider()
GoStyle.radio_group()
GoStyle.filter_chip()
GoSearchBar
GoStepper
GoTable
GoNavBar
GoTimePicker
GoCodeInput
GoWheelPickerDi malam hari: arcade_dark
Di halaman gelap, tintanya menjadi warna halaman itu sendiri, jauh lebih pekat, sementara catnya tetap sama cerahnya.

GoStyle.button() di malam hari
GoBar
GoStyle.hud_panel()
GoSlot
GoJoystick

GoFab
GoRewardCalendar

GoTabView
GoScroll

GoStyle.chip()
GoSlotGrid
GoRangeSlider
GoPagination
GoBadgeCara kerja tampilan arcade
Mukanya
Setiap tombol dan papan adalah GoStyleBoxArcade: garis tepi tinta, badan bergradasi, bibir, dan kilau, digambar
di dalam persegi panjang milik kontrol itu sendiri — ukuran tombol tetap sama dari satu keadaan ke keadaan lain, dan tekanan hanya membuatnya tenggelam.
Label yang terbaca
Label putih dengan garis tepi tinta terbaca di atas cat apa pun yang dipisahkan oleh garis tepinya — WCAG menghitung garis tepi sebagai bagian dari huruf. Setiap cat digeser sampai labelnya mencapai 4.6:1 di setiap ketinggian gradasinya.
Jendela
Judul jendela berada di atas spanduk emas dengan huruf putih bergaris tepi tinta, di samping tombol tutup merah yang bundar. Dialog, lembar, laci, dan popover adalah papan berbingkai tebal.
Satu tombol bisa memakai warnanya sendiri — tombol toko berwarna oranye di menu jeda:
menu.add_child(GoStyle.arcade_paint(GoStyle.button("Shop", _shop), Color("#FF8A1E")))
Arcade secara rinci → · Popup yang sama dalam keempat belas tampilan →
Komik: tinta tebal dan bayangan tegas
Tampilan komik menggambar setiap muka seperti panel di buku komik — warna permukaan di dalam garis tepi tinta yang tebal,
dengan bayangan padat yang tegas jatuh ke bawah dan ke kanan. comic_light bertinta hitam di halaman krem seperti kertas
dengan warna primer biru kobalt; comic_dark bertinta krem di halaman malam dengan warna primer kuning. Setiap gambar di bawah ini
adalah layar gohud sungguhan — kode yang sama, satu baris preset.
GoUi.use_preset(&"comic_light") # atau &"comic_dark"

comic_light · galeri
comic_dark · galeri
GoSheet
GoCoachMark
GoDrawer
GoPopoverSetiap widget bertinta
Tombol, toggle, tab, slider, kartu, formulir, tabel, pemilih, dan chip semuanya memakai tinta — Anda tidak perlu menata gayanya satu per satu. Tekan sebuah tombol dan bayangannya hilang: mukanya tenggelam ke tempatnya, seperti stempel. Muka yang dinonaktifkan kehilangan bayangannya dan memudar, sehingga yang bisa ditekan tampak menonjol dari yang tidak.

GoStyle.button() — semua jenis


GoStyle.tabs()

GoStyle.slider()

GoStyle.card()
GoForm

GoTable
GoDatePicker
GoTimePicker
GoStepper

GoNavBar
GoInputGroup
GoSplitButton
GoPaginationDi malam hari: comic_dark
Di halaman gelap, garis tepi hitam akan lenyap, jadi comic_dark menggambarnya dengan warna krem dan menjatuhkan bayangan samar
yang diwarnai dengan tinta yang sama. Bagian HUD — slot cepat, bilah, joystick, dan kalender hadiah — mengikuti aturan yang sama.

GoStyle.button() di malam hari
GoSlot
GoBar
GoJoystick

GoSlotGrid
GoRewardCalendar

GoRangeSlider
GoSearchBar
GoFabCara kerja tampilan komik
Satu StyleBox untuk setiap muka
Setiap muka adalah GoStyleBoxComic: isian, garis tepi, dan bayangan, digambar di dalam persegi panjang milik kontrol itu sendiri. Ia membaca ukuran garis tepi dan bayangan dari GoConfig setiap kali menggambar, jadi satu setelan mengubah seluruh layar sekaligus.
Ditekan berarti datar
Tombol yang ditekan melepas bayangannya dan bergeser ke tempatnya. Saat hover, bayangan tetap ada; fokus menambahkan cincin tinta di bagian dalam yang tidak pernah menutupi garis tepi; muka yang dinonaktifkan kehilangan bayangan dan memudar.
Skin menintai sisanya
GoSkinComic menintai apa yang digambar oleh kode: slot cepat, chip, lencana, avatar, pemberitahuan, bilah navigasi, FAB, sel tanggal, dan joystick, yang kenopnya memberi bayangan.
Jendela mendapat keterangan judul
Judul jendela berada di atas keterangan kuning, seperti kotak narasi dalam komik, di samping tombol tutup bundar bertinta. Dialog, lembar, laci, dan popover adalah panel bertinta yang buram.
Terbaca siang dan malam
Kedua palet lolos pemeriksaan kontras WCAG yang sama seperti setiap preset lain, termasuk tombol yang ditekan dan yang nonaktif. Bila warna keterangan judul terlalu dekat dengan warna halaman, garis tepinya beralih ke warna halaman.
Tata letak tidak berubah
Garis tepi dan bayangan muat di dalam setiap kontrol dan padding tetap seperti yang diberikan tema, sehingga layar yang ditata dengan tampilan lain tetap mempertahankan tata letaknya — dan font proyek Anda.
Tiga setelan dan satu panggilan
Tiga setelan GoConfig mengubah setiap muka komik sekaligus. Tidak ada yang dibangun ulang — layar menggambar ulang begitu Anda mengaturnya.
GoUi.config.comic_border_width = 2.0 # garis tepi (dp) — default 3
GoUi.config.comic_shadow_size = 6.0 # bayangan (dp) — default 4
GoUi.config.comic_shadow = false # tanpa bayangan di mana pun
Satu widget bisa menempuh jalannya sendiri, apa pun kata setelannya. Berikan true sebagai argumen terakhir untuk menyertakan semua yang ada di dalamnya.
GoStyle.comic_shadow(skip_button, false) # tombol ini datar
GoStyle.comic_shadow(card, true, true) # kartu ini dan semua isinya tetap berbayangan
GoStyle.comic_border(title, 5.0) # garis tepi lebih tebal untuk yang satu ini
tools/new_theme.py inked --from comic_light menyalin paletnya; ubah warna
kertas, tinta, dan primer, lalu jalankan tools/make_theme.py inked. Tinta, bayangan, dan skin-nya ikut serta.
Komik secara rinci → · Popup yang sama dalam keempat belas tampilan →
Seperti apa tampilannya di dalam game
Preset abad pertengahan dan sci-fi — lembar karakter, inventaris, dan misi; formulir, grid, dan kartu ajakan; panel bersudut dan kontrol sentuh. Mengganti preset cukup satu baris kode.
Apa yang tidak perlu lagi Anda urus
Yang paling menyita waktu di UI game bukanlah bentuk sebuah tombol — melainkan segala hal yang berbeda-beda antarperangkat. gohud mengurus perbedaan itu di satu tempat.
Setiap ukuran adalah token
Jarak, sudut, dan ukuran teks dipanggil lewat nama, bukan ditulis sebagai angka. Tukar temanya dan seluruh layar ikut berubah.
Ukuran terlihat ≠ ukuran yang bisa ditekan
Tombol tutup terlihat 36dp tetapi target sentuhnya 48dp. Di tempat slot berdesakan saling tumpang tindih, yang pusatnya lebih dekat yang menerima tekanan.
Notch dan keyboard
Bagian-bagian HUD duduk di dalam area aman, dan kolom masukan naik ke atas keyboard virtual begitu keyboard muncul.
Tombol kembali menutup satu hal
Escape dan tombol Back Android menutup hanya permukaan paling atas. Jendela yang bertumpuk tidak lenyap bersamaan.
Pemberitahuan tidak pernah merampas input
Tekan menembus snackbar dan tombol di bawahnya tetap menerimanya. Fokus pun tidak diambil.
Ikon diminta lewat namanya
Widget hanya tahu GoIconSet.CLOSE. Tukar setnya dan semua gambar berubah tanpa menyentuh satu baris kode. Ikon →
Empat belas tampilan, satu baris
GoUi.use_preset() menukar tema, skin, dan ikon sekaligus — bingkai membulat, sci-fi bersudut potong, tempaan abad pertengahan, komponen aplikasi Material 3, permen jeli anak-anak, tinta komik, atau cat arcade.
Keterbacaan yang terukur
Setiap tema diperiksa terhadap WCAG, termasuk keadaan tombol dan panel HUD tembus pandang di atas putih murni dan hitam murni.
Memasang gohud
Dua jalan. Serahkan pada agen AI, atau letakkan foldernya di proyekmu — tidak ada lagi yang perlu diatur.
Mulai cepat
Lima baris menampilkan layar bertema. Langkah lengkapnya ada di halaman pemasangan.
Ubah tampilan — warna dan bentuk
Sebuah Theme hanya bisa mengubah gaya apa yang digambar mesin. Sudut membulat adalah satu-satunya sudut yang dimiliki StyleBoxFlat, sedangkan joystick, slot cepat, dan coach mark digambar oleh kode — jadi tema saja tidak akan pernah bisa mengubah bentuknya. Karena itu gohud menyediakan preset: tema, skin, dan set ikon yang dipilih sebagai satu paket.
GoUi.use_preset(GoThemePresets.MEDIEVAL_DARK) # tema, skin, dan ikon sekaligus
| Preset | Tampilan |
|---|---|
default_dark | gohud yang asli — sudut membulat, aksen biru lembut |
default_light | Bentuk yang sama pada palet terang |
scifi_dark | Sudut potong, tepi dan pendar neon sian, joystick heksagonal, kurung penanda sasaran |
scifi_light | Bentuk bersudut yang sama dalam palet cetak biru yang cerah |
medieval_dark | Besi gelap dan kulit, bingkai emas antik, paku keling, ikon ukiran, judul Cinzel |
medieval_light | Perkamen, tinta, dan perunggu dengan bingkai tempaan yang sama |
material_light Baru | Material 3 untuk layar aplikasi — tombol berbentuk pil, dialog 28dp, kartu terisi, bilah navigasi, FAB, dan bilah pencarian sebuah aplikasi, Roboto |
material_dark Baru | Bentuk Material 3 yang sama pada skema dasar gelap |
kids_light Baru | Kotak mainan untuk anak-anak — tombol permen jeli dengan garis tepi tebal dan bibir yang tenggelam saat ditekan, warna krayon, halaman yang cerah |
kids_dark Baru | Kotak mainan yang sama di halaman biru malam |
comic_light Baru | Panel buku komik — garis tepi tinta tebal dan bayangan tegas di setiap muka, panel putih di halaman krem seperti kertas; bayangan, ukurannya, dan lebar garis tepi adalah setelan |
comic_dark Baru | Tinta yang sama di halaman malam — garis tepi krem dan warna primer kuning |
arcade_light Baru | Mesin arcade — setiap tombol dicat dengan gradasi, kilau, dan bibir, berlabel putih dengan garis tepi tinta; papan berbingkai tebal di halaman biru langit, spanduk judul emas pada jendela |
arcade_dark Baru | Tombol-tombol cerah yang sama di papan biru tua dan halaman malam |
default_dark — sudut membulat, aksen biru lembut
default_light — bentuk sama, palet terang
scifi_dark — sudut potong, neon sian
scifi_light — bentuk bersudut sama, palet cetak biruKeempatnya adalah layar galeri yang sama. Tidak ada satu baris kode pun yang berbeda — hanya nama presetnya. Sudut tombol, bentuk sakelar, baris daftar, dan garis tepi kolom masukan semuanya berubah bersamaan.
Koleksi abad pertengahan
medieval_dark memadukan besi dan kulit dengan emas antik; medieval_light memakai perkamen
dan tinta. Bingkai menu membawa paku keling dan ornamen sudut kecil, sementara HUD yang selalu terlihat tetap tenang;
16 ikon ukiran menggambar ulang nama-nama benda, dan hanya judul serta subjudul yang memakai font Cinzel bawaan.
medieval_dark — besi dan kulit
medieval_light — perkamen dan tintaKedua tangkapan layar itu adalah examples/medieval/medieval.tscn, dibangun dari widget standar.
Panduan abad pertengahan dan cara membuat kerajaan Anda sendiri →
Layar yang sama di ponsel dan di desktop
Tangkapan layar galeri itu ponsel dalam mode potret. Di bawah ini kode yang sama pada 1280×800 — kontennya berhenti pada lebar yang nyaman dibaca (480dp) lalu memusat, sementara HUD tetap di sudut-sudut. Formulirnya memutari bagian HUD yang mengambang, tetapi tidak bergeser bila memang sudah tidak bertabrakan: memaksanya bergeser justru akan melempar konten keluar dari pusat pada layar lebar.
default_dark · 1280×800
scifi_dark · 1280×800Lembar yang sama, tampilan yang berbeda
Pilih salah satu dari Project Settings → gohud → Theme → Preset, atau setel GoConfig.preset.
Mengisi theme, skin, atau icons secara eksplisit mengalahkan
preset, sehingga Anda bisa memakai sebuah preset dan menimpa salah satunya saja.
new_theme.py kingdom --from medieval_dark menulis palet yang
menjabarkan setiap nilai warisan; make_theme.py kingdom membangun temanya, gambar kontrolnya, dan
kenop skinnya, lalu presetnya muncul di pemilih. Setiap setelan dan kenop →
Skin — tempat yang tak terjangkau Theme
Sebuah skin memiliki joystick, muka slot cepat, cincin coach mark, chip, kerangka pemuatan, peringatan, pemisah, dan judul bagian. Turunkan kelasnya dan timpa hanya apa yang ingin Anda ubah.
class_name MySkin extends GoSkin
func slot_box(accent: Color, lit: bool) -> StyleBox:
var box := GoStyleBoxCut.new()
box.bg_color = accent
box.cut = 6.0
box.edge_color = accent
return box
| Kelas | Bentuk yang bisa dibuatnya |
|---|---|
GoStyleBoxCut | Sudut terpotong diagonal (chamfer), satu tepi aksen yang ditebalkan, pendar di luar |
GoStyleBoxBracket | Hanya penanda sudut, tanpa mengurung kontennya |
GoStyleBoxMedieval | Bingkai tempaan dengan paku keling, ukiran sudut, sorotan bevel, dan serat material |
GoStyleBoxJelly | Permen jeli — garis tepi tebal, bibir padat yang tenggelam saat ditekan, badan yang lebih terang di bagian atas, dan kilau putih |
GoStyleBoxComic | Panel buku komik — garis tepi tinta tebal dan bayangan jatuh yang tegas, keduanya diukur oleh GoConfig selagi game berjalan |
GoStyleBoxArcade | Tombol atau papan arcade — badan bergradasi, kilau putih, bibir yang tenggelam saat ditekan, dan garis tepi tinta; papan menambahkan bingkai berwarna yang tebal di sekeliling ceruk pucat |
Keenamnya tersimpan ke dalam resource Theme — dan itulah yang membuat sebuah tema bisa mengubah bentuk, bukan hanya warna.
GoSkinSciFi, GoSkinMedieval, GoSkinMaterial, GoSkinKids, GoSkinComic, dan GoSkinArcade adalah subkelas bawaan.



GoStyle.box() selalu mengembalikan StyleBoxFlat, karena kode pemanggilnya
menerima objek itu lalu menyetel bg_color atau corner_radius. Pakai
GoStyle.surface() bila bentuk khusus harus tetap bertahan.
Widget
Seluruh bagiannya dalam satu tabel. Rinciannya satu per satu → · Setiap widget beserta gambarnya → · Popup dan dialog, panduan lengkapnya →
| Kelas | Basis | Fungsinya |
|---|---|---|
GoSurface | Control | Cangkang kartu mengambang — penempatan di tengah, bawah, atau tertambat, header dan footer yang menempel, body yang bergulir, tarik untuk mengubah ukuran |
GoSheet | CanvasLayer | Halaman yang naik dari bawah, pada lapisannya sendiri sehingga selalu berada di atas HUD |
GoDialogs | Node | Konfirmasi dan peringatan yang bisa Anda await; destructive untuk tindakan yang tak bisa dibatalkan |
GoForm | MarginContainer | Formulir berlebar terbatas yang menghindari keyboard virtual dan, dengan avoid_hud, menghindari HUD |
GoScroll | ScrollContainer | Gulir sentuh; bilah gulirnya menyelip ke dalam padding kartu |
GoNotice | PanelContainer | Snackbar yang tidak mengambil input maupun fokus |
GoPromptCard | PanelContainer | Pertanyaan yang tidak menghentikan jalannya game |
GoCoachMark | Control | Tur berpemandu yang menunjuk kontrol sungguhan; menekan sasarannya akan melanjutkan tur |
GoHudAnchor | Control | Menyematkan bagian HUD ke salah satu dari sembilan titik area aman |
GoBar | Control | Bar darah, mana, dan pengalaman dengan perubahan yang dilandaikan |
GoSlot | Button | Satu slot cepat — ikon, jumlah, waktu jeda, dan pintasan pada satu muka |
GoJoystick | Control | Stik virtual dalam mode tetap, mengikuti, atau relatif |
GoIconButton | Button | Terlihat kecil, ditekan besar |
GoStyle | statis | Tombol, baris daftar, kolom masukan, chip, tabel, tab, dan lainnya, dibuat dengan satu cara yang konsisten |
Menunggu, memberi tahu, menghitung
| Kelas | Basis | Fungsinya |
|---|---|---|
GoSnackbar | Node | pesan yang menempatkan dirinya sendiri |
GoSpinner | Control | menunggu tanpa tahu kapan berakhirnya |
GoBadge | PanelContainer | titik belum dibaca, tanda BARU, dan 99+ |
Formulir dan daftar
| Kelas | Basis | Fungsinya |
|---|---|---|
GoField | VBoxContainer | baris yang bisa salah |
GoInputGroup | HBoxContainer | masukan yang dilas ke tombolnya |
GoCombobox | Button | pemilih yang bisa mencari |
GoCodeInput | VBoxContainer | kode kupon dan hadiah |
GoTable | VBoxContainer | kepala kolom yang bisa diurutkan, baris yang bisa dipilih |
GoPagination | HBoxContainer | halaman, atau baris Selengkapnya |
Bentuk-bentuk yang benar-benar dipakai game
| Kelas | Basis | Fungsinya |
|---|---|---|
GoRewardCalendar | VBoxContainer | absensi harian |
GoRadar · GoDonut | Control | statistik dalam sekali lihat |
GoCarousel | VBoxContainer | banner dan pemilihan karakter |
GoKbd | HBoxContainer | petunjuk tombol yang tidak berbohong |
Di atas layar
| Kelas | Basis | Fungsinya |
|---|---|---|
GoDrawer | CanvasLayer | panel samping |
GoPopover | RefCounted | kartu yang disematkan |
GoContextMenu | RefCounted | tekan lama dan klik kanan |
GoConsole | CanvasLayer | konsol pengembang |
Go HUD Skill
gohud membawa AI skill: seluruh API, templat siap jalan, dan peluncur pratinjau. Tempelkan satu blok ke agen codingmu — ia memasang gohud dan tahu cara memakainya.
Keterbacaan itu diukur, bukan dikira-kira
"Cantik" itu selera; "terbaca" itu bisa diukur. Teks abu-abu samar terlihat baik-baik saja di monitor bagus dan lenyap di ponsel saat siang bolong — memilih dengan mata telanjang menjamin hal itu cepat atau lambat terjadi.
python3 addons/gohud/tools/check_contrast.py
Setiap pasangan warna dan setiap label keadaan tombol di atas panel tempatnya berada diukur terhadap WCAG, pada keempat belas tema. Warna tembus pandang lebih dulu dikomposit di atas latar sesungguhnya — mengukurnya secara langsung akan melaporkan rasio yang lebih baik daripada yang tampak di layar.
Karena itu warna teks diturunkan, bukan dipilih: pembangun tema mengambil entri palet sebagai titik berangkat lalu mendorong terangnya sampai melewati ambang batas pada setiap permukaan yang mungkin ditempatinya. Ubah paletnya dan kontrasnya ikut menyesuaikan. Aturannya dan jebakan di baliknya →
Pemeriksaan, rilis, dan situs ini
Satu titik masuk menjalankan semua pemeriksaan; tiap bagian melihat sesuatu yang tak terlihat oleh yang lain.
bash addons/gohud/tools/check_all.sh
| Pemeriksaan | Apa yang ditangkapnya |
|---|---|
run_tests.sh pada empat ukuran layar | Perilaku dan tata letak widget, posisi RTL, fokus keyboard, kontras skin saat runtime, semua preset |
new_project_check.sh | Ketergantungan tersembunyi pada proyek induk; dengan --zip menguji rilis apa adanya, dengan --export sebuah build Web |
check_contrast.py | Kontras WCAG setiap berkas tema, termasuk keadaan tombol dan panel tembus pandang |
check_generated.py · check_scaffold.sh | Tema hasil generasi cocok dengan paletnya; tema sekali pakai berhasil dibangun dan lolos uji kontras |
check_package.py | Versi yang diambil dari package.json, perpindahan changelog, dan isi ZIP, pada salinan sementara |
check_site.py | Tautan, jangkar, bahasa halaman, glosarium, dan tabel kenop situs ini |
Versi rilis
cat addons/gohud/package.json # { "version": "1.1.0" }
bash addons/gohud/tools/release.sh # semua pemeriksaan → ZIP → ZIP itu di proyek kosong
bash addons/gohud/tools/package.sh # 1.1.0 → builds/1.1.0/gohud-1.1.0.zip
Versinya adalah yang tertulis di package.json — pengemasan tidak pernah menaikkannya. Untuk merilis
versi baru, ubah dulu angka itu. Jalan yang berhasil menyamakan plugin.cfg dan
GoUi.VERSION dengan nilai itu, dan saat versi itu dikemas pertama kali, memindahkan catatan
Unreleased di CHANGELOG.md menjadi entri bertanggal. Mengemas versi yang sama lagi akan membangun
ulang ZIP-nya dan menggantikan yang lama. Jalan yang gagal tidak mengubah apa pun. ZIP-nya tidak menyertakan
situs web ini, berkas uji, tools, dan package.json.
Situs ini
python3 addons/gohud/tools/make_site.py # glosarium dan tabel kenop skin, dibuat dari kode sumber
python3 addons/gohud/tools/check_site.py # tautan, jangkar, bahasa, glosarium, tabel hasil generasi
bash addons/gohud/tools/site_shots.sh /tmp/shots # tangkapan layar desktop dan ponsel untuk setiap halaman
Halaman-halamannya HTML biasa di dalam www/ — bahasa Inggris di akar, bahasa Korea di ko/. Sebuah
workflow GitHub Actions menerbitkan folder itu sebagai akar situs.