116 lines
11 KiB
Markdown
116 lines
11 KiB
Markdown
|
|
Fiche CAM-B2f-VAL — Niveau N1 — Modèle prévu non précisé | utilisé claude-sonnet-5-5 — Agent lp-validator — Skills sk-protocol, sk-recount, debug-verification, lp-validate
|
||
|
|
# CAM-B2f-VAL : Room, sonde C2 de Camera à Visibility (2026-10-13)
|
||
|
|
|
||
|
|
Verdict global : **PASS**. V5 PASS, V6 PASS, MD5 finaux PASS. Éditeur fermé au départ et à la fin. Je n'ai modifié aucun asset, aucun code, aucune doc validée ; seuls fichiers écrits : les 2 sorties de commandlet et ce livrable.
|
||
|
|
|
||
|
|
## 1. Fiches amont relues
|
||
|
|
- `Docs/Migration/etat/CAM/CAM-B2f-FICHE.md` (§ 2 écritures et critères VAL, § 5 amendement B2f-a), lue en entier.
|
||
|
|
- `Docs/Migration/etat/CAM/CAM-B2f-IMPL.md` (seule IMPL amont de la fiche), lue en entier : § 1 à 6, constats C1 à C5, B2f-a A1 à A5.
|
||
|
|
- Référence d'avant : `Docs/Migration/etat/CAM/CAM-B2d-VAL_LPDumpFunction_20261013-173214.txt` et `CAM-B2d-VAL_CompileAllBlueprints_20261013-173326.txt`.
|
||
|
|
- Hors périmètre de cette VAL : la partie C++ de la fiche (§ 1), qui se contrôle au build COMMUN-3 (V7).
|
||
|
|
|
||
|
|
## 2. Points à confirmer des IMPL
|
||
|
|
| Point (CAM-B2f-IMPL § 5) | Résultat | Preuve |
|
||
|
|
|---|---|---|
|
||
|
|
| P1. Dump Room : `TraceTypeQuery1` sur 459, 499, 505 ; 1260 nœuds ; aucun `K2Node_IfThenElse_101` | **PASS** | § 3 V5 |
|
||
|
|
| P2. Diff avec le dump de l'instantané : seules les 3 valeurs `TraceChannel` changent | **PASS** | § 3 V5 : 3 lignes de diff dans le corps, 10 778 lignes de part et d'autre |
|
||
|
|
| P2b. Baisse de 66 octets du fichier (6 378 087 → 6 378 021), cause non vérifiée | **reporté** (incertain) | Je ne l'ai pas tranchée : il faudrait comparer les deux binaires. Le dump logique n'a aucune différence autre que les 3 valeurs. Non bloquant. |
|
||
|
|
| P3. MD5 de Room = `F2B082D2…` à l'ouverture de la VAL | **PASS** | `md5sum` avant les commandlets (relevé en début de VAL) et après (§ 3) |
|
||
|
|
| P4. V6 `CompileAllBlueprints` = référence | **PASS** | § 3 V6 |
|
||
|
|
| P4b. V7 dans le build COMMUN-3 | **reporté** (COMMUN-3) | Hors de cette VAL |
|
||
|
|
| P5. Ne pas accepter la restauration de `Room_Auto1` au prochain lancement de l'éditeur | **reporté** (consigne à l'utilisateur, case § 6) | Non rejouable ici : je n'ai pas ouvert l'éditeur ni regardé `Saved/Autosaves`. |
|
||
|
|
|
||
|
|
## 3. Critères rejoués
|
||
|
|
Conditions : copie `D:\Game\LifePlay-master 5.8`, branche `ue5.8`, moteur 5.8 (`Tools\RunCommandlet.ps1`). Éditeur fermé : `.\Tools\UeState.ps1` → `processus=0 editeur=0 compilation=0 shaders=0 jeu=0` avant les commandlets et après. Lot de sortie `CAM-B2f-VAL` (préfixe imposé), `-EtatDir` vers le dossier `etat\CAM`.
|
||
|
|
|
||
|
|
### V5 : dump de Room
|
||
|
|
Commande :
|
||
|
|
`.\Tools\RunCommandlet.ps1 -Lot CAM-B2f-VAL -Commandlet LPDumpFunction -Args '-BP=Room -Fn=* -Pins -Exec' -EtatDir 'D:\Game\LifePlay-master 5.8\Docs\Migration\etat\CAM'`
|
||
|
|
|
||
|
|
Sortie brute : `code=0 duree=93s erreurs=0 avertissements=10816`. Fichier : `Docs/Migration/etat/CAM/CAM-B2f-VAL_LPDumpFunction_20261013-195332.txt` (MD5 `b5fcb941e680447337044571137de8f7`). Journal complet : `Saved/Logs/portage/CAM-B2f-VAL_LPDumpFunction_20261013-195332.log`.
|
||
|
|
|
||
|
|
Comparaisons (méthode : `diff <(grep -v '^LogInit:' référence) <(grep -v '^LogInit:' nouveau)` ; première section de chaque graphe = lignes 1 à 10886 ; les deux fichiers font 10 937 lignes, dont 51 `LogInit:`) :
|
||
|
|
|
||
|
|
| Contrôle | Attendu | Obtenu | Verdict |
|
||
|
|
|---|---|---|---|
|
||
|
|
| Nombre d'en-têtes de graphe dans la première section | 39 (référence) | 39 et 39 (`grep -c '=== Room :: '`) | PASS |
|
||
|
|
| En-tête EventGraph | `(1260 noeuds)` | `=== Room :: EventGraph (1260 noeuds) ===` à la ligne 4833 | PASS |
|
||
|
|
| Nœuds listés dans EventGraph (2e méthode : lignes ` K2Node_… ` entre les lignes 4834 et 10886) | 1260 | 1260 | PASS |
|
||
|
|
| `TraceChannel` des nœuds 459, 499, 505 (lignes 10069, 10472, 10567 du fichier) | `'TraceTypeQuery1'` | `'TraceTypeQuery1'` aux 3 lignes ; nœud lu dans le contexte de chacune (`K2Node_CallFunction_459`, `_499`, `_505`, `appel KismetSystemLibrary::SphereTraceSingle()`) | PASS |
|
||
|
|
| Occurrences de `TraceTypeQuery2` dans le nouveau dump | 0 | 0 | PASS |
|
||
|
|
| `K2Node_IfThenElse_101` | 0 | 0 (nouveau et référence) | PASS |
|
||
|
|
| Autres différences, nœud, lien ou valeur, tous graphes | aucune | voir ci-dessous | PASS |
|
||
|
|
|
||
|
|
Différences brutes du corps du dump (à partir de la ligne 109, hors `LogInit:` ; 10 778 lignes de chaque côté) : **3 lignes**, et rien d'autre. Numéros du diff pris sur le corps coupé (ajouter 108 pour le fichier entier) :
|
||
|
|
```
|
||
|
|
9961c9961 < LogLPDump: Warning: TraceChannel = 'TraceTypeQuery2'
|
||
|
|
> LogLPDump: Warning: TraceChannel = 'TraceTypeQuery1'
|
||
|
|
10364c10364 < LogLPDump: Warning: TraceChannel = 'TraceTypeQuery2'
|
||
|
|
> LogLPDump: Warning: TraceChannel = 'TraceTypeQuery1'
|
||
|
|
10459c10459 < LogLPDump: Warning: TraceChannel = 'TraceTypeQuery2'
|
||
|
|
> LogLPDump: Warning: TraceChannel = 'TraceTypeQuery1'
|
||
|
|
```
|
||
|
|
|
||
|
|
Différences brutes de l'en-tête et du sommaire (lignes 1 à 108, produits par `RunCommandlet.ps1`, pas du dump) : lignes `Lot`, `Date` (durée 93 s contre 56 s) et `Journal` ; une BOM UTF-8 en tête du nouveau fichier ; « 6556 signatures » contre « 6557 » dans la référence, avec les mêmes 10 816 lignes d'avertissements. Le sommaire est trié par compte avec un départage instable : le diff trié des lignes 10 à 108 ne montre qu'une paire en bord de troncature (« 100 premières », compte 6) : `Condition -> K2Node_PromotableOperator_8.ReturnValue` dans la référence, `execute -> K2Node_CallArrayFunction_0.then` dans le nouveau. Ce sont des ex æquo coupés par la troncature ; le corps, lui, est celui du diff ci-dessus.
|
||
|
|
|
||
|
|
### V6 : CompileAllBlueprints
|
||
|
|
Commande :
|
||
|
|
`.\Tools\RunCommandlet.ps1 -Lot CAM-B2f-VAL -Commandlet CompileAllBlueprints -EtatDir 'D:\Game\LifePlay-master 5.8\Docs\Migration\etat\CAM'`
|
||
|
|
|
||
|
|
Sortie brute : `code=3 duree=207s erreurs=25 avertissements=55`. Fichier : `Docs/Migration/etat/CAM/CAM-B2f-VAL_CompileAllBlueprints_20261013-195519.txt` (MD5 `8f1491188d2ec4c5e75cbe49d33abefc`). Journal : `Saved/Logs/portage/CAM-B2f-VAL_CompileAllBlueprints_20261013-195519.log`.
|
||
|
|
|
||
|
|
| Contrôle | Référence B2d | Obtenu B2f | Verdict |
|
||
|
|
|---|---|---|---|
|
||
|
|
| Code de sortie | 3 | 3 | PASS |
|
||
|
|
| Ligne finale du journal | `Compiling Completed with 3 errors and 0 warnings and 0 blueprints that failed to load.` (l. 3301) | même texte (l. 3302) | PASS |
|
||
|
|
| Résumé « Erreurs » | 25 lignes, 16 signatures | 25 lignes, 16 signatures | PASS |
|
||
|
|
| Résumé « Avertissements » | 55 lignes, 42 signatures | 55 lignes, 42 signatures | PASS |
|
||
|
|
| `With N error(s), N warning(s)` (journal) | 17 / 34 | 17 / 34 | PASS |
|
||
|
|
| Lignes `[AssetLog] … Error` | 9, toutes `CR_FaceExpRig` | 9 au total, 9 avec le motif `CR_FaceExpRig` | PASS |
|
||
|
|
| Compilations « a réussi » / échecs | 420 / 0 | 420 / 0 | PASS |
|
||
|
|
| Room | `La compilation de Room a réussi ! [en 1 104 ms]` | `La compilation de Room a réussi ! [en 1 327 ms]` (journal l. 2021) | PASS |
|
||
|
|
| Diff trié des deux résumés (rang `[NNNN,NN]` et compte retirés) | | seules différences : durées de 7 compilations (ActorMacros, GI, PC, Person, Room, StandardMacros, StreetMap_Static) et le nom du journal dans la ligne de commande | PASS (aucun message nouveau) |
|
||
|
|
|
||
|
|
Aucune erreur et aucun avertissement nouveaux ; aucun sur Room. Les 6 lignes `LogScript: Error: Script Msg: Could not find graph function data for node @@.` ne nomment pas d'asset ; elles sont identiques à la référence en nombre (6) et en texte.
|
||
|
|
|
||
|
|
### MD5 et état de l'éditeur en fin de VAL
|
||
|
|
```
|
||
|
|
$ md5sum Content/BPs/Room.uasset Content/BPs/GI.uasset Content/BPs/Person.uasset
|
||
|
|
f2b082d2911d9f7c7be60c2cf30ee6d5 *Content/BPs/Room.uasset
|
||
|
|
e64b5b37c9ef0db7735de0d6e3bd7c1c *Content/BPs/GI.uasset
|
||
|
|
8668a47c627f7a5254910cf0ac33b12a *Content/BPs/Person.uasset
|
||
|
|
$ .\Tools\UeState.ps1
|
||
|
|
processus=0 editeur=0 compilation=0 shaders=0 jeu=0
|
||
|
|
```
|
||
|
|
Attendus `f2b082d2…`, `e64b5b37…`, `8668a47c…` : identiques. Les mêmes MD5 avaient été relevés avant les commandlets : elles n'ont rien réécrit. PASS.
|
||
|
|
|
||
|
|
## 4. Diff lu en entier
|
||
|
|
- Diff logique de Room : le dump `-Fn=*` couvre 39 graphes ; le diff brut contre la référence compte **3 lignes**, toutes `TraceChannel`, nœuds 459, 499, 505. Aucun nœud, lien ni valeur d'un autre graphe ne change.
|
||
|
|
- Git : `git status --short Content Source` montre `M` sur `Room.uasset`, `GI.uasset` et `Person.uasset` : états déjà `M` au début de la session, non attribuables à cette fiche seule. Je n'ai pas fait de `git diff` du binaire.
|
||
|
|
- Aucun chemin de profil Windows dans les sorties de commandlet (`grep -c Users` → 0 et 0) ni dans ce livrable.
|
||
|
|
|
||
|
|
## 5. Verdict
|
||
|
|
**PASS** (V5 PASS, V6 PASS, MD5 PASS, éditeur à 0 au départ et en fin).
|
||
|
|
Réserves, non bloquantes :
|
||
|
|
- **Estimé** : la référence B2d correspond à la Room `CA2A9A0B…` (affirmé par la demande de l'orchestrateur ; je n'ai pas pu relire ce MD5 à l'heure du dump B2d, 17:33). La conformité « seules 3 lignes changent » est établie contre cette référence.
|
||
|
|
- **Incertain** : cause de la baisse de 66 octets du fichier (P2b).
|
||
|
|
- Non rejoué : V7 (build COMMUN-3), cas CAM-17 à CAM-19, partie C++ de la fiche.
|
||
|
|
|
||
|
|
## 6. Points à confirmer par l'utilisateur
|
||
|
|
- [ ] Au prochain lancement de l'éditeur, refuser la restauration de `Room_Auto1` si elle est proposée (état intermédiaire avec le nœud temporaire, CAM-B2f-IMPL A3). Je n'ai pas vérifié l'existence de ce fichier.
|
||
|
|
- [ ] Accepter l'écart E3 de l'IMPL (un nœud créé puis supprimé, prescrit par l'amendement § 5) : le graphe final est conforme (0 `K2Node_IfThenElse_101`, 1260 nœuds).
|
||
|
|
- [ ] Le commit de `Room.uasset` portera aussi les changements non commités d'avant B2f (Room déjà `M` au début de la session) : décision au gardien.
|
||
|
|
|
||
|
|
## 7. Fichiers à commiter
|
||
|
|
Aucun fichier suivi modifié par moi. Fichiers nouveaux de la VAL (dépôt du jeu, branche `ue5.8`, dossier `etat/`) :
|
||
|
|
- `A Docs/Migration/etat/CAM/CAM-B2f-VAL.md`
|
||
|
|
- `A Docs/Migration/etat/CAM/CAM-B2f-VAL_LPDumpFunction_20261013-195332.txt`
|
||
|
|
- `A Docs/Migration/etat/CAM/CAM-B2f-VAL_CompileAllBlueprints_20261013-195519.txt`
|
||
|
|
Hors dépôt (ignorés) : deux journaux dans `Saved/Logs/portage/`.
|
||
|
|
|
||
|
|
Tours : 14 / 40
|
||
|
|
|
||
|
|
## Constats
|
||
|
|
- Le crochet `ecriture-gardien` a refusé deux de mes commandes Bash (redirection vers un fichier temporaire ; `>=` dans un `echo` pris pour une redirection). Aucune écriture n'a eu lieu ; j'ai repris les comparaisons par `diff <(…) <(…)`.
|
||
|
|
- À verser : `lp-validate` — comparer deux dumps Room par `diff <(grep -v '^LogInit:' A) <(grep -v '^LogInit:' B)` sans redirection ; comparer le corps (à partir de la ligne 109), pas le sommaire de `RunCommandlet.ps1`, dont le tri par compte a un départage instable. Pour `CompileAllBlueprints`, le « 3 errors and 0 warnings » se lit dans le journal `Saved/Logs/portage/*.log`, pas dans le résumé `.txt`.
|