198 lines
13 KiB
Markdown
198 lines
13 KiB
Markdown
|
|
# 37. Feuille de route : alphas 2026.10.2.2a et 2026.11.3.1a
|
||
|
|
|
||
|
|
Rédigé le 2026-10-20 par Big Boss (lot ROAD1, DOC-37), à partir de la feuille de route donnée par l'utilisateur ce jour
|
||
|
|
et des tâches en attente de `etat\BOSS\BOSS-ETAT.md` (§ PAUSE, En cours, Décisions, Après l'alpha) et de la reprise REP1.
|
||
|
|
Règle de tri donnée par l'utilisateur : les tâches en attente sont classées (urgence, fix, quick gain, amélioration) et partent
|
||
|
|
dans la **première build** ; le reste de la feuille de route part dans la **seconde build**.
|
||
|
|
|
||
|
|
Statut de départ : jeu `ue5.8` à `cdd69d9`, publié `pub/ue5.8` `8084622` ; addon `35a9e2c` (= `origin/ue5.8`, Forgejo) ;
|
||
|
|
archive de la copie avant reprise : `D:\Game\LifePlay_Backup_5.5\ARCH58-20261020\` (copie sans le régénérable, 24 673 fichiers,
|
||
|
|
11,2 Go, robocopy 0 échec, bundles `jeu-5.8` et `modules-5.8` vérifiés, manifeste sha256).
|
||
|
|
|
||
|
|
## 1. Build 1 : alpha 2026.10.2.2a — 5 jours glissés (2026-10-20 → 2026-10-24)
|
||
|
|
|
||
|
|
### 1.1 Feuille de route de l'utilisateur
|
||
|
|
|
||
|
|
**Fix**
|
||
|
|
|
||
|
|
| Id | Tâche | Lien avec l'existant |
|
||
|
|
|---|---|---|
|
||
|
|
| F1 | Analyser et corriger tous les défauts relevés par l'audit du générateur de personnage (`D:\Game\LifePlay-Sandbox-5.8\Docs\CG\REF`) | CGREF1 (CHG-368), STE-H3i (378 Accessed None `chargen`) |
|
||
|
|
| F2 | Empêcher les caméras de sortir de la pièce | CAM B2l (caméra qui évite les meubles), CAM B1e Q1-Q5, R-B1f |
|
||
|
|
| F3 | StreetMap ne s'affiche plus normalement en 5.8 (par rapport à la 5.5) | C4996 StreetMap (`lp-ue-compat`), plugin désactivé dans l'addon |
|
||
|
|
|
||
|
|
**Amélioration**
|
||
|
|
|
||
|
|
| Id | Tâche |
|
||
|
|
|---|---|
|
||
|
|
| A1 | Caméra à la première personne : ajouter le mouvement sur l'axe Y (aujourd'hui X seul), mouvement (X, Y) |
|
||
|
|
| A2 | Caméra à la troisième personne : étudier les jeux de référence pour fixer le meilleur paramétrage |
|
||
|
|
|
||
|
|
**Paramétrage du clavier**
|
||
|
|
|
||
|
|
| Id | Tâche |
|
||
|
|
|---|---|
|
||
|
|
| K1 | Auditer le mappage des touches → document de référence (lien : TSC1, Insert et Tilde, `Config/DefaultInput.ini`) |
|
||
|
|
| K2 | Liste déroulante des dispositions QWERTY et AZERTY avec bouton « Apply » (d'après les jeux les plus populaires) |
|
||
|
|
| K3 | Entrée pour définir une action |
|
||
|
|
| K4 | Entrée pour définir une interaction (s'asseoir, parler) |
|
||
|
|
| K5 | Saisie acceptant les clics de souris et les combinaisons de touches |
|
||
|
|
| K6 | Section de scène des menus de contrôle : bloc des mouvements de caméra, bloc du déplacement des personnages, entrée pour afficher le panneau d'action |
|
||
|
|
|
||
|
|
### 1.2 Tâches en attente avant le gel, triées
|
||
|
|
|
||
|
|
**Urgence** (avant tout autre travail de la build)
|
||
|
|
|
||
|
|
| Id | Tâche | Pourquoi |
|
||
|
|
|---|---|---|
|
||
|
|
| U1 | Recompiler l'addon et valider les sources C++ de SBXTYP-R2 (commitées et poussées sans build rejoué) | code publié non vérifié |
|
||
|
|
| U2 | Confirmer la visibilité des dépôts sur le Forgejo (jeu public ? addon privé ?) | l'addon contient le référentiel CG |
|
||
|
|
| U3 | Rotation de Big Boss et des sessions saturées (Low · MEN1, Medium-High > 250 k) | règle de rotation |
|
||
|
|
| U4 | Copie au profil des skills révisés (liste et MD5 attendus d'EVAL W6, non consignés) | skills du profil peut-être en retard |
|
||
|
|
|
||
|
|
**Fix**
|
||
|
|
|
||
|
|
| Id | Tâche |
|
||
|
|
|---|---|
|
||
|
|
| F4 | `LifePlay.uproject` : remettre `TargetAllowList: Editor` sur `McpAutomationBridge` (perdu, ERR-140) |
|
||
|
|
| F5 | 7 fiches d'état de l'addon à constat PubCheck (ENV1-T1, SHP1-T1, SHP1-T2, PROJ1-T3-DOC, UEM1-T5 à T7) |
|
||
|
|
| F6 | ERR-042 : personnages de partie dans `Content\Saves` (reste) |
|
||
|
|
| F7 | ERR-011 : avertissement CenterBrow ; animation « look » restée active ; accessoires détachés |
|
||
|
|
| F8 | C4701 : `Aim` à initialiser ; meshZ au lever dans le Blueprint |
|
||
|
|
| F9 | Écart CHG-329 (« 10 sur 60 » contre « 12 sur 100 ») |
|
||
|
|
| F10 | README racine qui annonce encore V2.0 |
|
||
|
|
|
||
|
|
**Quick gain**
|
||
|
|
|
||
|
|
| Id | Tâche |
|
||
|
|
|---|---|
|
||
|
|
| Q1 | TSC1 : essai en jeu de la console de scènes (Insert, `tf_start`, Entrée) et réponse au joueur (`TSC1-DIAG-01.md` § 5) — à joindre à K1 |
|
||
|
|
| Q2 | Ajouter `find` aux fonctions sûres de la garde lp-mcp (refus à tort en TSC1) |
|
||
|
|
| Q3 | Employer `Tools\CopieEtat.ps1` pour les contrôles GO / FIN de Big Boss |
|
||
|
|
| Q4 | PIPE1 : choisir l'outil de W4 (a / b / c ; VERIF1 conseille b) et le premier outil (`Vague.ps1` ou `VerifLivrable.ps1`) |
|
||
|
|
| Q5 | PIPE1 : approuver le recensement `PIPE1-INV-01-SUBSTITUTION.md` et la règle « mécanique = script » (`sk-protocol`, `lp-lot`) |
|
||
|
|
| Q6 | Décider du tag local `v2026.10.2.1a` (non poussé) |
|
||
|
|
| Q7 | Licence d'`ue-cpp-build` ; 228 fichiers `synced/` ; `etat\AG\ORGA2\` ; session inconnue `Docs/BAR` (trier, suivre ou écarter) |
|
||
|
|
|
||
|
|
**Amélioration** — **reportées en build 2** (décision de l'utilisateur, 2026-10-20 : « A3 à A9 passent en build 2 ») ; numéros gardés
|
||
|
|
|
||
|
|
| Id | Tâche |
|
||
|
|
|---|---|
|
||
|
|
| A3 | G2 : nettoyage U9 de la grille A3 (banc `LPTestStringCompat` étendu, 56 `LPMeshCompat`, 6 `LPNavigationHelpers`), SPEC puis mesure M0 — lié à la modernisation de la build 2 |
|
||
|
|
| A4 | B2-ter : mesure de cadence par `logman`/`wpr` puis PresentMon `--etl_file`, journal AMD Adrenalin ou CSV Profiler (Development) |
|
||
|
|
| A5 | REF2 : 15 contradictions, statuts, orphelines, étiquette « historique » |
|
||
|
|
| A6 | OPT0 A3 et B1 |
|
||
|
|
| A7 | PIPE1 : SPEC de W1, W2, W3, W5, W6, W8 ; réponse attendue de Medium-xHigh · PIPE1 sur le modèle de mesure |
|
||
|
|
| A8 | AMEL1 : mesure P4 et essai R4 (`lp-mcp-bp` en Sonnet, ORGA2) |
|
||
|
|
| A9 | Après l'alpha : CAM N2 (ligne de journal de refus), STG-POST1 (6 extérieurs), STG-POST2 (S-F2), B2q-b2 à b4, bonus v5.26 (grille), essai GPU de 45 min (STG), Scope Insight RT (EVAL-FAB-4) |
|
||
|
|
|
||
|
|
**Échéances dans la fenêtre** : G1 Sentry **suspendu** (utilisateur, 2026-10-20 : « on suspend G1 ») ; passage des traces `TRACE-2026-11` le 2026-11-01 (pendant la build 2).
|
||
|
|
|
||
|
|
## 2. Build 2 : alpha 2026.11.3.1a — 10 jours glissés (2026-10-25 → 2026-11-03)
|
||
|
|
|
||
|
|
### 2.1 Réforme du processus d'animation
|
||
|
|
|
||
|
|
1. Analyser et auditer le processus en place pour évaluer la difficulté d'implémentation → document de référence.
|
||
|
|
2. Comparer avec les processus d'animation classiques des personnages.
|
||
|
|
3. Permettre plusieurs opérations du même type.
|
||
|
|
4. Clé `ANIMATION_PRIORITY` :
|
||
|
|
- `default` : jouée quand aucune autre pose n'est présente ;
|
||
|
|
- `override` : surcharge `default` ;
|
||
|
|
- `randomize` : si deux poses sont enregistrées pour la même action, tirage au sort ;
|
||
|
|
- `forced` : pas de tirage, l'animation est imposée ;
|
||
|
|
- redéfinissable quand `ANIMATIOND_ID` sert de référence d'appel depuis un `.lpaction`.
|
||
|
|
5. Clés d'une animation composée :
|
||
|
|
- `ANIMATION_IN` (pose d'entrée), `ANIMATION_IDLE` (pose d'attente, en boucle), `ANIMATION_OUT` (pose de sortie) ;
|
||
|
|
- `ANIMATION_STEP` : numéro d'étape, délai, pose à jouer, effet sonore ; poses jouées dans l'ordre indiqué ;
|
||
|
|
- `ANIMATION_WEIGHT` : pourcentage d'avantage au tirage ;
|
||
|
|
- `ANIMATION_LINKED_ASSET` : asset lié pendant l'animation ;
|
||
|
|
- `ANIMATION_TARGET_ASSET` : asset lié à la pose (position relative à la pose) ;
|
||
|
|
- `ANIMATION_SOUND_EFFECT` : liste d'effets sonores à charger ;
|
||
|
|
- `ANIMATIOND_ID` : identifiant qui appelle la chaîne complète depuis un `.lpaction`.
|
||
|
|
6. Définition et chargement dans un fichier `.lpanimation` (format YAML) ou directement dans un `.lpaction`.
|
||
|
|
7. Règles : une clé `ANIMATION` seule dans un `.lpaction` vaut `ANIMATION_PRIORITY: default` ; tirage au sort pour `randomize`
|
||
|
|
ou quand deux `override` entrent en collision.
|
||
|
|
|
||
|
|
### 2.2 Optimisation
|
||
|
|
|
||
|
|
- Pipeline de rendu pour automatiser les tests (lien : `lp-perf`, modèle de mesure PIPE1).
|
||
|
|
- Qualité du rendu des personnages.
|
||
|
|
|
||
|
|
### 2.3 Modernisation
|
||
|
|
|
||
|
|
- Audit puis remplacement des modules obsolètes UE 4 et 5.5 par leurs équivalents UE 5.8 (lien : doc 30, grille A3, A3 de la build 1).
|
||
|
|
|
||
|
|
### 2.4 Dépréciation
|
||
|
|
|
||
|
|
- L'ancien module de réglages est forké et désactivé avant son retrait à la release suivante ; le menu redirige vers le nouveau
|
||
|
|
panneau du menu général.
|
||
|
|
|
||
|
|
### 2.5 Interaction
|
||
|
|
|
||
|
|
- Parler à un PNJ affiche la liste des opérations permises par le mécanisme de filtrage.
|
||
|
|
- Une action affiche la liste des opérations permises dans une pièce par le même mécanisme.
|
||
|
|
- Action « s'asseoir » : déterminer l'identifiant unique (`uniq_id`) à employer ; vérifier que la propriété du siège est
|
||
|
|
verrouillée et qu'aucun PNJ n'est à proximité (10 cm) ; déverrouiller le siège, jouer `ANIMATION_IN` puis `ANIMATION_IDLE` ;
|
||
|
|
jouer `ANIMATION_OUT` dès qu'une touche met le personnage principal en mouvement.
|
||
|
|
- Documentation en anglais et en français, et une démo.
|
||
|
|
|
||
|
|
### 2.6 Organisation IA
|
||
|
|
|
||
|
|
- Commandes pour les tâches répétitives (moins de jetons) — lien : recensement PIPE1-INV-01, Q4 et Q5.
|
||
|
|
- Processus de découpage des projets complexes : Ouverture → Interview → Analyse des besoins → Définition des objectifs →
|
||
|
|
Cahier des charges + RACI → Découpage des objectifs en tâches plus fines → Analyse des tâches → Analyse des risques →
|
||
|
|
Conception → Codage → Compilation → Test → Validation → Fermeture.
|
||
|
|
- Skills « codeur C++ et Blueprint » et « testeur ».
|
||
|
|
- Définition des nouveaux agents.
|
||
|
|
|
||
|
|
### 2.7 Reportées de la build 1
|
||
|
|
|
||
|
|
A3 à A9 du § 1.2 (G2, B2-ter, REF2, OPT0 A3 et B1, SPEC PIPE1, mesure P4 et R4, lots d'après l'alpha) : décision de l'utilisateur
|
||
|
|
du 2026-10-20. A3 (G2) se joint à la modernisation (§ 2.3), A7 (PIPE1) à l'organisation IA (§ 2.6).
|
||
|
|
|
||
|
|
## 3. Build 1 : ordre des lots et sessions (proposition de Big Boss, à approuver)
|
||
|
|
|
||
|
|
Contrainte : **une seule copie UE** (compilation, MCP, éditeur, jeu lancé, paquet) sous le jeton de Big Boss ; tout ce qui ne
|
||
|
|
touche pas la copie (CART en lecture de fichiers, recherche, doc) tourne en parallèle. Chaque lot suit `lp-lot` (CART → SPEC →
|
||
|
|
IMPL → BUILD → VAL distincte → DOC → tickets) ; commits par vague du gardien en fin de journée.
|
||
|
|
|
||
|
|
### 3.1 Lots
|
||
|
|
|
||
|
|
| Lot | Contenu | Session (modèle) | Copie UE |
|
||
|
|
|---|---|---|---|
|
||
|
|
| ADD1 | U1 : build de l'addon, VAL des sources SBXTYP-R2 | Medium · OPT0-G0 (`local_3df0f077`, opus medium) → « Medium · ADD1 » | oui (1er jeton) |
|
||
|
|
| QG1 | Q2, Q3, Q7 (tri), F4, F5, F9, F10 : quick gains et petits fix de texte ou de config | Sonnet · REP1 (`local_345cbd76`, sonnet) → « Sonnet · QG1 » | non (F4 : une ligne du uproject, sous instantané) |
|
||
|
|
| KEY1 | K1 (audit du mappage, doc de référence) + Q1 (TSC1) ; puis SPEC de K2-K6 | Lower · TSC1 (`local_fb6a93ea`, haiku, MCP déjà donné) → « Lower · KEY1 » pour la lecture ; SPEC par Sonnet · REP1-PUB | lecture MCP (2e jeton) |
|
||
|
|
| CG2 | F1 : défauts de l'audit CG (`Docs\CG\REF`), CART puis IMPL C++ et Blueprint | Medium-xHigh · PIPE1 (`local_c917cf01`, opus xhigh) → « Medium-xHigh · CG2 » | IMPL : 4e jeton |
|
||
|
|
| CAM2 | F2 (caméras hors de la pièce) + A1 (vue à la 1re personne en X, Y) | session neuve (Medium-High a > 250 k ; CAM y garde son contexte : passation écrite d'abord) | IMPL : 5e jeton |
|
||
|
|
| CAM3 | A2 : étude du paramétrage de la vue à la 3e personne (recherche) | Sonnet · REP1-PUB (`local_224d5242`) → « Sonnet · CAM3 » | non |
|
||
|
|
| STM1 | F3 : StreetMap en 5.8 (CART 5.5 contre 5.8, puis correctif) | Medium (`local_232546c8`, opus medium) → « Medium · STM1 » | CART : non ; IMPL : 3e jeton |
|
||
|
|
| KEY2 | K2-K6 : panneau de touches (disposition QWERTY / AZERTY + Apply, action, interaction, souris et combinaisons, section de scène) | Medium · ADD1 après ADD1 (opus) | IMPL : 6e jeton |
|
||
|
|
| FIX1 | F6, F7, F8 : petits correctifs Blueprint par MCP | Lower · KEY1 après K1 (`lp-mcp-bp`) | 7e jeton |
|
||
|
|
| REL2 | VAL commune, Shipping `2026.10.2.2a`, essai en jeu par l'utilisateur, vague du gardien, publication `pub/ue5.8` | Big Boss (session neuve, U3) | dernier jeton |
|
||
|
|
|
||
|
|
Gestes de l'utilisateur hors lots : U2 (visibilité Forgejo), U3 (nouvelle session Big Boss, archivage de Low · MEN1 et
|
||
|
|
Medium-High après copie des transcriptions), U4 (copie des skills au profil), Q4, Q5, Q6 (décisions PIPE1 et tag).
|
||
|
|
|
||
|
|
### 3.2 Calendrier (5 jours glissés)
|
||
|
|
|
||
|
|
| Jour | En parallèle (hors copie UE) | File de la copie UE |
|
||
|
|
|---|---|---|
|
||
|
|
| J1 (10-20) | QG1 ; CART de CG2, STM1, CAM2 ; CAM3 ; gestes U2-U4, Q4-Q6 | ADD1 (build + VAL) → KEY1 (lecture MCP) |
|
||
|
|
| J2 (10-21) | SPEC de CG2, CAM2, STM1 ; SPEC de KEY2 (d'après K1 et CAM3) | STM1 (IMPL + build) → CG2 (IMPL + build) |
|
||
|
|
| J3 (10-22) | VAL de STM1 et CG2 ; doc K1 | CAM2 (IMPL + build) → FIX1 |
|
||
|
|
| J4 (10-23) | VAL de CAM2, FIX1 | KEY2 (IMPL + build) |
|
||
|
|
| J5 (10-24) | DOC et tickets de tous les lots | VAL de KEY2 → REL2 (Shipping, essai en jeu, vague, publication) |
|
||
|
|
|
||
|
|
### 3.3 Risques
|
||
|
|
|
||
|
|
1. **KEY2 est le plus gros lot** (panneau d'interface, capture souris et combinaisons, deux dispositions) : **tout K2-K6 reste
|
||
|
|
en build 1** (décision de l'utilisateur, 2026-10-20 : « non on laisse tout en build 1 »). Parades : SPEC de KEY2 dès la fin
|
||
|
|
de K1 (J1-J2) ; écriture du code C++ / UMG hors copie UE dès le J2 (seuls compilation, éditeur et essai prennent le jeton) ;
|
||
|
|
FIX1 avancé au J2 si CG2 finit tôt, pour laisser au KEY2 le J3 soir et tout le J4 sur la copie UE.
|
||
|
|
2. F1 dépend de l'ampleur de l'audit CG : la CART de CG2 donne le compte des défauts au J1 ; au-delà d'une journée d'IMPL, tri
|
||
|
|
par gravité avec l'utilisateur.
|
||
|
|
3. File unique de la copie UE : un build rouge décale toute la file ; Big Boss réordonne, jamais deux jetons ouverts.
|
||
|
|
4. K6 et F1 touchent du contenu réservé aux adultes : les livrables suivent la règle du doc 27 (rien de tel sur un dépôt
|
||
|
|
public) ; le référentiel CG reste dans l'addon.
|