|
| 1 | +# Tiger Studio Manager — Dev Log |
| 2 | + |
| 3 | +Journal de travail par session. Plus granulaire que ROADMAP.md, moins public que README.md. |
| 4 | +Mis à jour en fin de chaque session Claude. |
| 5 | + |
| 6 | +--- |
| 7 | + |
| 8 | +## 2026-05-08 — v1.4.14 |
| 9 | + |
| 10 | +### Demandes |
| 11 | +- ADP : sélecteur Mono / Dual / Tri / Rainbow dans la bottom-sheet couleur |
| 12 | +- Lien bidirectionnel mode couleur ↔ `id_aspect2` (252 Bicolor / 24 Tricolor / 145 Rainbow / 0 "-") |
| 13 | +- Rainbow affiche le même dégradé lisse que dans l'inventaire (`linear-gradient`) |
| 14 | +- Filtre "Type" dans la barre de recherche → rebrancher sur la version/protocole (TigerTag, TigerTag+, TigerTag Cloud) |
| 15 | +- Effacer la search bar + filtres au changement de compte ou de vue ami |
| 16 | + |
| 17 | +### Fichiers modifiés |
| 18 | +| Fichier | Nature de la modification | |
| 19 | +|---------|--------------------------| |
| 20 | +| `renderer/inventory.js` | `_adpColorMode` + `_adpSlotCount()` + `_adpSetColorMode()` (remplace `_adpSetColorCount`), `_adpModeForAspect2()`, `_ADP_MODE_TO_ASPECT2`, listener aspect2 bidirectionnel, `_adpUpdateCircle()` Rainbow linear-gradient, `normalizeRow` champ `protocol`, `populateOneQuickFilter` → `filterAllVersions` + `pickValue: r.protocol`, filtre appliqué sur `r.protocol` (×2), `_clearSearchFilters()`, appels dans `switchToFriendView` / `switchBackToOwnView` / `switchAccountUI` | |
| 21 | +| `renderer/inventory.html` | Sélecteur `data-mode` (Mono/Dual/Tri/Rainbow), slot row, `#typeFilter` → `filterAllVersions` | |
| 22 | +| `renderer/css/60-modals.css` | `.adp-color-count-row`, `.adp-color-count-btn`, `.adp-color-slots-row`, `.adp-color-slot-btn` | |
| 23 | +| `renderer/locales/*.json` | `colorCountMono/Dual/Tri/Rainbow`, `filterAllVersions` (9 locales) | |
| 24 | +| `package.json` | version `1.4.13` → `1.4.14` | |
| 25 | +| `README.md` | Section changelog v1.4.14 | |
| 26 | +| `DEVLOG.md` | Ce fichier | |
| 27 | + |
| 28 | +### Notes techniques |
| 29 | +- `_adpColorMode` = "mono" | "dual" | "tri" | "rainbow" — dérivé en slot count via `_adpSlotCount()` |
| 30 | +- Rainbow : `linear-gradient(90deg, c1, c2, c3)` — identique à `colorBg()` dans l'inventaire |
| 31 | +- Dual : `linear-gradient(90deg, c1 50%, c2 50%)` (hard cut, pas de dégradé) |
| 32 | +- Tri : `conic-gradient` 120° × 3 secteurs |
| 33 | +- Boucle infinie évitée par `{ skipAspect2: true }` sur le listener aspect2 |
| 34 | +- `protocol` dans `normalizeRow` : Cloud → "TigerTag Cloud", sinon `versionName(id_tigertag)` |
| 35 | +- `_clearSearchFilters()` remet aussi les `<select>` DOM à "" et retire `.is-active` |
| 36 | + |
| 37 | +--- |
| 38 | + |
| 39 | +## 2026-05-07 — v1.4.13 |
| 40 | + |
| 41 | +### Demandes |
| 42 | +- Custom product image (`url_img` + `url_img_user: true`) — DIY et Cloud uniquement |
| 43 | +- Toolbox : bouton "Clear TD" (hold-to-confirm 1 200 ms) sur la ligne Scan TD |
| 44 | +- Bouton TD1S dans le header du Add Product panel |
| 45 | +- Stat tile "TigerTag Cloud" (violet) dans la barre KPI |
| 46 | +- Titre de fenêtre en dark mode natif (`nativeTheme.themeSource = 'dark'`) |
| 47 | +- Suppression de l'ombre OS de la fenêtre (`hasShadow: false`) |
| 48 | +- Icône de mise à jour (orange spinning = téléchargement, vert brillant = prêt) à droite du nuage |
| 49 | +- Fix : ombre des panels off-screen qui saignait dans le viewport |
| 50 | +- Redesign barre URL image en pill unifiée (trigger à gauche, input au centre, ✓ à droite) |
| 51 | +- Fix : barre blanche WebKit sur le focus de l'input URL |
| 52 | + |
| 53 | +### Fichiers modifiés |
| 54 | +| Fichier | Nature de la modification | |
| 55 | +|---------|--------------------------| |
| 56 | +| `renderer/inventory.js` | `customImgBar` pill (trigger + input + ok), `onUpdateStatus` + click handler icône update, toolbox Clear TD split-button, bouton TD1S dans ADP header | |
| 57 | +| `renderer/inventory.html` | `#updateStatusIcon` ajouté dans `.top-status-icons` (dernier enfant) | |
| 58 | +| `renderer/css/70-detail-misc.css` | `.custom-img-bar` pill CSS complet (collapsed → `.open` via `max-width` transition) ; `-webkit-appearance: none` sur l'input pour supprimer le focus ring blanc | |
| 59 | +| `renderer/css/60-modals.css` | `.update-health-icon` + `.update-health.downloading` + `.update-health.ready` + `@keyframes updateSpin` | |
| 60 | +| `renderer/css/50-snapmaker.css` | `.sfe-sheet` : `box-shadow` uniquement sur `.open` | |
| 61 | +| `renderer/css/30-racks.css` | `.rp-side` : `box-shadow` uniquement sur `.is-open` | |
| 62 | +| `renderer/css/00-base.css` | `.detail-panel` : `box-shadow` uniquement sur `.open` | |
| 63 | +| `main.js` | `nativeTheme.themeSource = 'dark'` ; `hasShadow: false` dans BrowserWindow | |
| 64 | +| `package.json` | version `1.4.12` → `1.4.13` | |
| 65 | +| `README.md` | Section changelog v1.4.13 ajoutée | |
| 66 | +| `ROADMAP.md` | ✅ Done mis à jour : custom image, Clear TD, Cloud tile, TD1S ADP, dark chrome, update icon, shadow fix | |
| 67 | + |
| 68 | +### Notes techniques |
| 69 | +- Le pill bar utilise `max-width` (pas `width`) pour animer depuis `auto` → transition fluide |
| 70 | +- `box-shadow` sur panels cachés : toujours appliquer uniquement sur l'état `.open` / `.is-open` pour éviter le bleed hors viewport |
| 71 | +- GitHub Actions se déclenche sur les tags `v*` uniquement — penser à `git tag vX.Y.Z && git push origin vX.Y.Z` |
| 72 | +- `hasShadow: false` supprime l'ombre OS, pas les `box-shadow` CSS — deux mécanismes indépendants |
| 73 | + |
| 74 | +--- |
0 commit comments