identité 3 : plus de zigzag ni de paires, des tailles variées, chaque oiseau sur une vraie ligne

Second avis du studio DA (03/11, 07h56) et relecture de fb8c71f (08h14) :
- numérique : le zigzag gauche-droite à pas égal est cassé. Électricien en M,
  codeuse et cryptographe au bas de leur carte, à droite, administrateur réseau
  en grand derrière Cloud libre ;
- commande : un seul côté par carte. Cycliste à gauche de la première, libraire
  en grand derrière la seconde ; la lectrice se tient sur le sac de l'icône.
  Le cartonnier va sur la ligne qui clôt chaque chapitre, l'empileur sur le
  sommaire du livre : les 61 restent rendus ;
- au moins deux tailles dès trois oiseaux (chapitre, en-musique, événement) ;
- un oiseau de marge a les pieds sur une vraie ligne, le bas ou le haut de son
  bloc ou d'une carte, jamais à mi-hauteur (« posés sans flotter ») ;
- aucun oiseau sur le haut invisible de la boîte d'un titre : dj, trapéziste,
  alchimiste et droneuse se tiennent sur la dernière ligne ou au bout de
  l'intitulé ;
- téléphone : le pompeur de Ğ1 au bout de la ligne de l'intitulé ;
- sous-pages numériques : poses, tailles et décalages variés malgré le sommaire
  à droite ; le comédien de tarifs-eau perché sur sa carte, hors du sommaire.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Yvv
2026-11-03 12:33:05 +01:00
co-authored by Claude Opus 5.5
parent fb8c71fc59
commit 44e9576b38
15 changed files with 80 additions and 44 deletions
+7 -4
View File
@@ -132,15 +132,18 @@ interface OiseauxPage { fonctions?: OiseauPlace[], projet?: OiseauPlace[], texte
const OISEAUX_PAGE: Record<string, OiseauxPage> = {
'decision': {
fonctions: [
{ nom: 'mime', pose: 'marge-g', ecart: '48px', bottom: '24%', w: 104 },
{ nom: 'avocate', pose: 'marge-d', ecart: '44px', bottom: '58%', w: 96, retourne: true },
{ nom: 'mime', pose: 'marge-g', ecart: '48px', w: 104 },
// on the line under the first row of cards (16 px gap between the rows)
{ nom: 'avocate', pose: 'marge-d', ecart: '44px', bottom: 'calc(50% + 8px)', w: 96, retourne: true },
// above the grid's left corner the page is empty (the links row starts at its middle)
{ nom: 'tisserand', pose: 'perche', left: '24px', w: 84 },
],
},
'tarifs-eau': {
projet: [{ nom: 'comedien', pose: 'marge-d', ecart: '44px', bottom: '-20px', w: 112, retourne: true }],
texte: [{ nom: 'potier', pose: 'marge-g', ecart: '52px', bottom: '18%', w: 112 }],
// the summary stands right of the project card: the actor stands on the card, where the
// links row above leaves the page empty
projet: [{ nom: 'comedien', pose: 'perche', right: '24px', w: 100, retourne: true }],
texte: [{ nom: 'potier', pose: 'marge-g', ecart: '52px', w: 112 }],
},
}
const oiseaux = computed<OiseauxPage>(() => OISEAUX_PAGE[slug] ?? {})
+2 -2
View File
@@ -19,7 +19,7 @@
<div class="mx-auto max-w-3xl flex flex-col gap-6">
<!-- Decision collective — the card clips its corners, the birds stand on a wrapper -->
<div class="relative">
<UiOiseauPose nom="juge" pose="marge-d" ecart="40px" bottom="30%" :w="84" retourne />
<UiOiseauPose nom="juge" pose="marge-d" ecart="40px" :w="84" retourne />
<div class="item-card">
<NuxtLink to="/citoyenne/decision" class="item-overlay" aria-label="Décision collective" tabindex="-1" />
<div class="item-body group">
@@ -49,7 +49,7 @@
<div class="relative">
<!-- 24 px between the two cards: no room above them for a perched bird (DA rule of 03/11) -->
<UiOiseauPose nom="cartographe" pose="derriere" left="calc(100% - 100px)" bottom="-70px" :w="220" />
<UiOiseauPose nom="capitaine" pose="marge-g" ecart="46px" bottom="-30px" :w="136" />
<UiOiseauPose nom="capitaine" pose="marge-g" ecart="46px" :w="136" />
<div class="item-card">
<NuxtLink to="/citoyenne/tarifs-eau" class="item-overlay" aria-label="Tarifs de l'eau" tabindex="-1" />
<div class="item-body group">