# 16 Sep 2026 — STANDAR DESAIN BARU Threads @ukyhandoko (FIXED, perintah Bos)

Perintah Bos (Telegram, 16 Sep 2026):
1. "Tun ini designnya terlalu luas pastikan text di tengah dan jangan terlalu banyak space kosong dibawahnya"
2. "dibuat ukuran square coba n text dibesarkan 1 kali"
3. "hilangkan separator garis"
4. "ukuran text kembalikan semula"
5. "ok pas segini" + "save ukuran ini"
6. "rata kiri aja"

## SPESIFIKASI BAKU (jangan diubah tanpa perintah Bos)

- Kanvas: **SQUARE 1080×1080** (sebelumnya 9:16 1080×1920)
- Judul: Poppins-Bold **85** (ukuran semula) — auto-shrink ke 80/75/70/66/62/58/54/50 kalau >4 baris
- Body: Poppins-Regular **36** (ukuran semula)
- **Blok teks dipusatkan VERTIKAL** (jarak atas ≈ jarak bawah) — tidak lagi nempel di y=280 dengan
  void ~55% di bawah
- **Rata KIRI** (mode `left`)
- **TANPA garis separator** di bawah judul
- Header: `@ukyhandoko` kiri-atas + nomor slide kanan-atas; Footer: teks brand kiri-bawah
  (`@ukyhandoko • Founder StudioSoft` / `dmark.id • Strategic Branding Agency` / `studiosoft.id • Digital Growth Partner`)
- Warna tetap: Biru #1E40AF (teks putih), Putih #FFFFFF (teks biru), Orange #F97316 (teks putih)

## Cara render (script baku)

```bash
cd ~/.hermes/profiles/atun/workspace
python3 gen_uky_center.py left preview square   # preview 2 slide → uky_preview/
python3 gen_uky_center.py left batch square     # render ulang 71 file (20 seri + 51 quote card)
```

`gen_uky_center.py` membaca teks dari generator lama lewat AST (`generate_uky_threads_images.py`
dan `gen_uky3.py LIST_POSTINGAN`) — jadi teks tidak diduplikasi. Default argumennya sudah =
spesifikasi baku (left, square, teks semula, tanpa garis).
Backup file lama: `*.legacy-20260916` (20 di `uky_threads_images/`, 51 di `uky3_output/`).

## Eksekusi hari ini

- **71 file dirender ulang** (20 `uky_threads_images/*.png` + 51 `uky3_output/*.png`).
- **25 jadwal Threads @ukyhandoko yang BELUM tayang (pending) di-swap medianya** ke desain baru:
  script `uky_swap_square.py` (dry-run default, `--apply` untuk PUT; idempoten).
  Media baru di-upload dengan nama BARU `uky_sq_<nama>.jpg` (jalur fetch Repliz segar) →
  diverifikasi 200 di KEDUA ingress funnel → PUT ke `/public/schedule/<id>` (status tetap pending,
  `scheduleAt` tidak berubah, `replies` tetap) → **verifikasi ulang fetch dari API: 25/25 ✅**.
  Jadwal: 18–22 Sep 08:00 WIB (05–09, dari pipeline `uky_threads_images`) dan
  29 Sep–1 Okt + 3–6 Okt (item `uky_quote_*` / `12–15`).
- File lama TIDAK dihapus (URL lama tetap hidup → bisa dibalik kalau Bos mau).
- Posting yang sudah tayang TIDAK diubah (media posting live tidak bisa diganti).
- Antrean harian (`daily-image-posting-all`, index 46 → item 16 dst.) otomatis pakai file baru
  karena file sumber sudah dirender ulang.

## Pelajaran

- Urutan revisi desain Bos: ALIGN → UKURAN KANVAS → UKURAN TEKS → ELEMEN (garis) → ALIGN final.
  Jangan berasumsi; render 2 varian cepat lalu kirim preview (dia pilih satu).
- Preview wajib dikirim sebagai gambar (MEDIA:) sebelum render massal.
