Commit Graph
198 Commits
Author SHA1 Message Date
IliesAllaliandClaude Opus 5.5 73be6a7cfd Compteurs d'édition (sans contenu de l'arbre) : personne ajoutée et par où, proposition envoyée ou relue, modifications enregistrées, doublon ouvert
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:21:41 +01:00
IliesAllaliandClaude Opus 5.5 5ebfa8337d Ajouter un proche depuis la fiche : créer depuis la recherche d'un lien, frère ou sœur, « + » en lecture, panneau prérempli, alerte de doublon
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:20:27 +01:00
IliesAllaliandClaude Opus 5.5 6e42a1f12d Erreurs : la photo posée sur l'arbre dit pourquoi elle échoue ; « Mettre à jour l'arbre » garde dans le brouillon ce qui n'a pas été enregistré
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:16:02 +01:00
IliesAllaliandClaude Opus 5.5 0c74adb012 Fantômes : propositions en attente, brouillon et envois de la famille dessinés sur l'arbre ; acceptation ou refus depuis le fantôme
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:14:58 +01:00
IliesAllali b9faa2a4b4 Merge branch 'feat/cogestion-145' into feat/bouton-icone
# Conflicts:
#	CHANGELOG.md
2026-10-25 18:31:39 +01:00
IliesAllali 83e8282d94 Merge remote-tracking branch 'origin/main' into feat/cogestion-145
# Conflicts:
#	CHANGELOG.md
#	backend/src/app.ts
#	frontend/src/i18n/en/index.js
2026-10-25 18:30:28 +01:00
IliesAllaliandClaude Opus 5.5 b61ce5c8ad Icône de l'arbre (un emoji, dans les menus, le compte et la page d'invitation) et bouton « Modifier » pour qui gère l'arbre
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 18:22:48 +01:00
IliesAllali f192665f17 Merge pull request #146 from IliesAllali/feat/recherche-sources
Chercher quelqu'un ailleurs : panneau à droite de l'arbre
2026-10-25 18:19:56 +01:00
IliesAllaliandClaude Opus 5.5 7c9ea3c95e Chercher quelqu'un : créer la personne trouvée, rattachée à un proche
« Ajouter à l'arbre » s'ouvre sur Nouvelle personne : lien (parent, enfant, conjoint,
frère ou sœur) et proche dans l'arbre, par le même chemin qu'« Ajouter quelqu'un ».
Dates, lieux, sexe, source en note, à vérifier. « Déjà dans l'arbre » complète une fiche.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 18:15:03 +01:00
IliesAllaliandClaude Opus 5.5 f9fefd83e1 Chercher quelqu'un : recherche repliée après résultats, cartes plus complètes
La recherche tient en une ligne au-dessus des résultats. Chaque carte donne les
années de vie, l'âge au décès, des phrases accordées au sexe et la raison de sa note.
WikiTree limité au même nom de famille ; flèche des liens collée au texte.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:51:43 +01:00
IliesAllaliandClaude Opus 5.5 d0ab96d634 Pastilles : emoji entier en initiale (arbre, compte, personne) ; fiche : message clair quand les droits ont été retirés
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:35:31 +01:00
IliesAllaliandClaude Opus 5.5 bff3f54b00 Chercher quelqu'un ailleurs : panneau à droite de l'arbre
Entrée « Quelqu'un ailleurs » dans le menu +. On tape un nom, une année et un lieu.
Liens préremplis vers Gallica, FranceArchives, Mémoire des hommes, Léonore, Geneanet,
Open Archives, WikiTree, FreeBMD et FamilySearch, ouverts par le navigateur.
Le serveur interroge les décès INSEE depuis 1970 (matchID) et WikiTree quand
SEARCH_SOURCES les nomme ; MATCHID_TOKEN au-delà d'une centaine de recherches.
Un résultat ajouté ne remplit que les champs vides, passe la personne à vérifier
et garde la source dans sa note.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:33:41 +01:00
IliesAllaliandClaude Opus 5.5 aa50123e9f Paramètres : cinq onglets qui tiennent à 360 px
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:20:19 +01:00
IliesAllaliandClaude Opus 5.5 07d69896ae Co-gestion (#145), écrans : onglet Gestion, page du lien d'invitation, Quitter pour le co-gestionnaire, avertissement à la suppression du compte, Immich caché
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 16:57:57 +01:00
IliesAllaliandClaude Opus 5.5 befe8fe19a « À vérifier » : drawPortrait, et un test qui échoue si la marque repasse sous la découpe du cadre
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 16:57:10 +01:00
IliesAllaliandClaude Opus 5.5 230ec2ae05 Fiche : « Modifier » d'un clic pour l'administrateur ; « à vérifier » entier sur un cadre rond ; arbre jusqu'en bas de l'écran sur iPad
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 16:36:41 +01:00
IliesAllaliandClaude Opus 5.5 aa22ff1422 Souvenirs en orbite recadrés, plus étirés dans leur carré
Retour de Patch du 23/10 sur l'arbre d'Anaïs : les vignettes de souvenirs autour des portraits
étaient « souvent tassées horizontalement ou verticalement ». drawMediaContent étirait la photo
dans le carré quel que soit son format ; elle passe par drawImageCover, le recadrage centré
des portraits.

Vérifié ailleurs, rien à corriger : fiche, liste et gestion des souvenirs, onglet Vie, moments,
propositions et Immich sont déjà en object-fit cover, la visionneuse en contain, les photos
posées sur l'arbre gardent leur rapport.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 16:05:04 +02:00
IliesAllali 8fe2f53b34 Merge remote-tracking branch 'origin/main' into feat/a-verifier 2026-10-23 15:27:25 +02:00
IliesAllali 93a5e41794 Merge remote-tracking branch 'origin/main' into fix/annotations-ancrees
# Conflicts:
#	frontend/src/App.jsx
#	frontend/src/components/Galaxy.jsx
2026-10-23 15:24:46 +02:00
IliesAllaliandClaude Opus 5.5 2e5db68969 Annotations rattachées à une personne, texte posé modifiable
Retour d'Anaïs du 23/10 : un texte posé dans l'onglet d'une famille réapparaissait au même
endroit dans l'onglet d'une autre. L'annotation ne gardait que x et y, or chaque onglet recalcule
le placement.

- Chaque annotation garde dans son style la personne la plus proche quand on la pose et le
  décalage à son portrait (style.anchor, pas de migration). Elle s'affiche à côté de ce portrait
  dans le placement affiché, et pas du tout si la personne n'y est pas. Déplacer recalcule l'ancre.
- Les anciennes annotations sont rattachées au premier affichage, dans le placement de l'onglet
  de départ, puis enregistrées une fois (style seul) quand on administre l'arbre.
- Un texte déjà sélectionné se rouvre au clic pour être modifié (double clic sur ordinateur,
  deux touchers sur téléphone), et n'est plus dessiné sous sa saisie.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 15:10:46 +02:00
IliesAllaliandClaude Opus 5.5 e9d57e5954 Personnes « à vérifier » : la famille signale ce dont elle n'est pas sûre
Retour d'Anaïs du 23/10 : plutôt que de dessiner sur l'arbre, marquer une
personne « à vérifier ». Champ toVerify (migration additive, faux par défaut),
posé dans la fiche en modification (ligne « Vérification ») par un admin ou
par la famille via une proposition, montré par une pastille dans la fiche et
un petit rond terracotta avec un « ? » sur le portrait (absent au dézoom).
Taper « à vérifier » dans la recherche liste les personnes marquées.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 15:02:29 +02:00
IliesAllaliandClaude Opus 5.5 03f172b59b Onglets de familles : la ligne directe vers « C'est moi » dans chaque onglet
Dans l'onglet d'une autre famille, la personne commune (celle que le visiteur
désigne par « C'est moi », sinon la personne de départ de l'arbre) reste visible,
reliée par sa ligne directe : le plus court chemin de parenté jusqu'à la famille,
avec les deux parents à chaque pas, sans fratries autour. Ces portraits sont
estompés et un peu réduits.

Un visiteur sans compte peut maintenant dire qui il est dans l'arbre (menu du
visiteur), choix gardé dans son navigateur pour cet arbre.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 14:49:46 +02:00
IliesAllaliandClaude Opus 5.5 754fd62689 Arbre : plus de « + photo » sur un portrait vide en modification
Au survol, un portrait sans photo montrait « + photo » et un clic ouvrait le sélecteur de fichiers au lieu de la fiche. Le clic ouvre maintenant la fiche ; la photo s'ajoute par le badge appareil photo de la fiche. Retire le dessin, la zone de clic, l'entrée de fichier cachée et les demandes de recadrage et de source qui n'existaient que pour lui.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 21:23:31 +02:00
IliesAllali bf1d1c1a3e Merge remote-tracking branch 'origin/main' into feat/souvenirs-personnes 2026-10-21 20:33:52 +02:00
IliesAllaliandClaude Opus 5.5 f65273e95a Personnes identifiées sur un souvenir
Sur une photo ou une vidéo, on ajoute les personnes de l'arbre qui y figurent et, sur une photo,
on touche leur visage pour poser un point. Le souvenir apparaît aussi sur la fiche de chaque
personne identifiée (« Avec Odette »), un prénom ouvre sa fiche et recentre l'arbre.

L'administrateur enregistre directement. La famille propose, l'administrateur relit dans
« Propositions à relire ». Suppression d'une personne ou d'un souvenir : identifications retirées.

Table media_person_tags (migration additive), route PUT /trees/:id/media/:mediaId/people.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 20:32:22 +02:00
IliesAllaliandClaude Opus 5.5 8c684847ca Fiche sans bouton d'ajout de photo hors modification, rond du compte bien rond
Hors mode modification, un portrait vide montre les initiales : la photo s'ajoute en modification.
La photo du rond du compte suivait sa hauteur naturelle dans la grille et s'étirait en ovale.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 19:38:11 +02:00
IliesAllaliandClaude Opus 5.5 0a0668410e Souvenirs depuis Immich : relecture des retouches
- Le titre tiré du nom de fichier ne retire plus que l'extension (point échappé).
- Zone de dépôt unique, un label comme sur main, avec « depuis Immich » en bouton dedans.
- Le lien Immich n'apparaît que pour une photo ou une vidéo.
- Plusieurs souvenirs venus d'Immich : le champ Titre disparaît, le bouton dit « Ajouter ces n souvenirs ».
- Message vide et nom dans l'aperçu en serif 20 px, comme ailleurs dans l'app.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 16:47:53 +02:00
IliesAllaliandClaude Haiku 5.5 bfa8d2e01a Souvenirs depuis Immich : multi-sélection dans le panneau et retouches de design
Reprend les commits de la PR #103 d'Askrosm (sélecteur Immich).

- Sélecteur : aide retirée sous le titre, aide de recherche déplacée dans le titre du champ, onglets Photos/Vidéos et filtre visage sur une ligne sur mobile, erreur Immich affichée en haut des résultats avec Réessayer.
- Panneau souvenirs : plusieurs fichiers Immich peuvent être cochés, « Terminer la sélection » les ajoute à la liste ; à l'enregistrement, un souvenir est créé par fichier, titré par son nom de fichier.
- Le bouton « Depuis Immich » pleine largeur devient un lien dans la zone de dépôt.
- Cible de sélection portée à 44 px, choix de visage à 44 px minimum.
- Tailles de police et rayon de bordure ramenés à l'échelle de pz.css.
- useMediaManager : handleUploadPersonMedia renvoie true ou false pour arrêter l'envoi à la première erreur.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-21 16:25:18 +02:00
IliesAllali 0ff143f2c1 Merge origin/main dans feat/immich-memories-retouches 2026-10-21 16:16:22 +02:00
IliesAllaliandClaude Opus 5.5 d55ea6ce4a fix(arbre): « + photo » seulement en modification (issue #124)
Depuis la 1.2.0, chez le propriétaire, un clic sur un portrait vide ouvrait
le sélecteur de fichiers même en simple lecture, sur chaque personne sans
photo. En lecture, le clic ouvre maintenant la fiche, comme pour les autres
portraits ; l'invite « + photo » au survol et le sélecteur direct ne restent
qu'en mode modification. L'ajout de photo depuis la fiche ne change pas.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 15:38:00 +02:00
Askrosm fb791b6752 fix: address Immich import review feedback
Use Immich previews for photos, enforce the image download cap while streaming,
reuse design tokens and remove unused translations. Add regression coverage.

Signed-off-by: Askrosm <155456680+Askrosm@users.noreply.github.com>
2026-10-20 22:05:42 +02:00
IliesAllaliandClaude Opus 5.5 07e4fb11f9 1.2.0 : changelog, OIDC marqué expérimental, jamais relié à un compte à mot de passe
- OIDC : une identité n'est plus reliée automatiquement à un compte existant qui a un mot de passe.
  L'inscription ne vérifie pas l'adresse, un tiers aurait pu créer ce compte avec l'email de la victime et lire
  ce qu'elle y met ensuite. Refus avec oidc_email_taken et un message clair (FR, EN). Trouvé par la relecture
  de sécurité avant la release.
- Tests OIDC : chaque connexion simulée a sa propre adresse (limite de 20 appels par minute et par adresse).
- CHANGELOG 1.2.0, OIDC marqué expérimental dans les deux README.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 16:12:42 +02:00
IliesAllali 441693bf43 Merge pull request #118 from IliesAllali/feat/sexe-et-liens
Sexe d'une personne et liens de parenté genrés (#114)
2026-10-20 15:47:57 +02:00
IliesAllaliandClaude Opus 5.5 9ba1aee96f Merge origin/main dans feat/sexe-et-liens, trois choix à bascule, « Décédé(e), date inconnue » sur une ligne (#114)
- Fusion de main : graphAdapter.js supprimé par #119 ; le sexe est relu par
  normalizeSex au chargement du graphe (data/mockData.js), en plus du serveur
  qui renvoie déjà male/female/other/null. Mention retirée de i18n/en/app.js.
- Sexe : trois boutons à bascule (Femme, Homme, Autre, aria-pressed). Rien de
  choisi = non précisé (null), la valeur par défaut ; un second clic sur le
  choix actif y revient. La relecture affiche « Non précisé » pour une valeur
  vide (sexLabel).
- « Ajouter quelqu'un » : « Décédé(e), date inconnue » sort de la colonne Décès
  et tient sur une ligne, comme la case du prénom (règle CSS commune).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 15:45:26 +02:00
IliesAllaliandClaude Opus 5.5 65900a4372 feat(comptes): connexion par un fournisseur OIDC (#115)
OIDC_ISSUER, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET et OIDC_REDIRECT_URI
ajoutent « Se connecter avec … » à l'écran de connexion. Tout le protocole
passe par openid-client 6 : découverte, PKCE S256, state et nonce, échange
du code, vérification de l'ID token (signature, émetteur, audience, dates).
State, nonce et vérificateur PKCE vivent dans un cookie signé, httpOnly,
SameSite=Lax, qui lie le retour au navigateur qui a commencé la connexion.

Le compte est trouvé par (émetteur, sub), sinon relié par email vérifié,
sinon créé sans mot de passe si ALLOW_REGISTRATION le permet (instance
vide comprise). Retour vers l'app par un jeton de passage de 60 s, à usage
unique, dans le fragment, échangé contre une session.

PASSWORD_LOGIN=false retire les mots de passe Parenthèse. Un compte sans
mot de passe se supprime en retapant son email, dans les 15 minutes qui
suivent une connexion. Code OIDC masqué dans les journaux.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 15:26:01 +02:00
IliesAllaliandClaude Opus 5.5 7a43fe4aaf feat(personnes): quatrième choix « Autre » (SEX X), case du prénom inconnu sur une ligne (#114)
- Sexe : Femme, Homme, Autre, Non précisé. Autre est enregistré « other »,
  refusé en 400 comme toute valeur inconnue, et prend les formes neutres ou
  doubles pour nommer un lien.
- GEDCOM : import SEX X (GEDCOM 7) → other, SEX U → non précisé ; export
  other → SEX X, non précisé sans ligne SEX. Aller-retour testé.
- « Ajouter quelqu'un » : « Je ne connais pas son prénom » sort de la colonne
  Prénom et tient sur une ligne (sous les deux champs sur ordinateur, sous
  Prénom sur téléphone) ; les quatre choix du sexe tiennent sur une ligne.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 15:13:12 +02:00
IliesAllaliandClaude Opus 5.5 0ad44fbaa7 Propositions à relire : la pastille s'allume dès l'ouverture de l'arbre
Le compte des propositions en attente ne se chargeait qu'à l'ouverture de Partager ou du panneau des
propositions. Il se charge maintenant quand le propriétaire ouvre son arbre et se remet à jour quand il
revient sur l'onglet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 15:08:32 +02:00
IliesAllali 352951979a Merge pull request #120 from IliesAllali/fix/onglet-souvenirs
Fiche : « Souvenirs · 3 » sur une ligne en modification
2026-10-20 14:37:39 +02:00
IliesAllaliandClaude Opus 5.5 c46cc747f6 Fiche : « Souvenirs · 3 » ne passe plus sur deux lignes en modification
Les quatre onglets (Liens en plus) se partagent la place selon leur texte, sans retour à la ligne.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 14:34:36 +02:00
IliesAllaliandClaude Opus 5.5 34454abc18 Ménage : retirer onze modules de l'interface que plus rien n'importe
AddPersonButton, DropTrashZone, CreateMyTreeButton, EditModeOverlay.jsx (App importe EditSessionBar sous ce
nom, sa feuille de style reste), InitialTreeWizard, InlinePersonForm, ProximityFeedback, useAddPersonDrag,
graphAdapter et graphDataHelpers, avec leurs feuilles de style. Aucun import, test compris ; lint, 253 tests et
build verts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 14:27:49 +02:00
IliesAllaliandClaude Opus 5.5 eaecac8fa5 feat(personnes): saisir le sexe et nommer les liens de parenté en conséquence (#114)
- Champ Sexe (femme, homme, non précisé) dans la fiche en modification, à l'ajout
  d'une personne et dans une proposition de la famille ; relu « Sexe » dans les
  propositions à relire.
- Valeurs ramenées à male / female / null à l'écriture et à la lecture (anciennes
  valeurs M/F relues sans migration), valeur inconnue refusée (400). Export GEDCOM
  inchangé dans sa forme.
- Lien au survol genré quand le sexe est connu (Père, Tante, Cousine germaine,
  Belle-mère…), forme double sinon. Nommage déplacé dans utils/kinship : une
  fonction par langue reçoit le chemin complet (pas, personnes, sexe, année de
  naissance), pour brancher d'autres langues.
- Anglais : beau-parent distingué de parent par alliance selon l'ordre du chemin
  (Stepmother / Mother-in-law).
- Propositions à relire : le nom de la personne modifiée vient de l'avant lu en
  base quand la modification ne porte que le champ changé.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 14:25:45 +02:00
IliesAllali 4dd0db9699 Merge pull request #117 from IliesAllali/feat/inscription-fermee
Auto-hébergement : fermer la création de compte (ALLOW_REGISTRATION)
2026-10-20 14:14:44 +02:00
IliesAllaliandClaude Opus 5.5 1b2d8ed6e2 feat(comptes): ALLOW_REGISTRATION ferme la création de compte (#113)
À false, POST /auth/register répond 403 registration_closed et l'app ne
propose plus de créer un compte (accueil, connexion, porte d'un arbre
partagé, menu du visiteur). Les comptes existants se connectent et créent
leurs arbres, le partage par lien et mot de passe ne change pas.

Une instance sans aucun compte accepte quand même le premier, sous un
verrou de transaction PostgreSQL (deux inscriptions simultanées n'en
créent qu'un). GET /auth/options expose l'état à l'écran d'accueil.

Défaut true : rien ne change pour les instances existantes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 14:12:18 +02:00
IliesAllaliandClaude Opus 5.5 ff078fd2bf onglets : la recherche ouvre l'onglet de la personne ; barre jamais cachée par la fiche ou la recherche
- Une personne trouvée par la recherche mais rangée dans un autre onglet : l'onglet s'ouvre et la vue va
  sur elle (avant, la fiche s'ouvrait et l'arbre ne bougeait pas).
- Téléphone : recherche ouverte, la barre passe dessous. Grand écran : fiche ouverte, la barre passe à sa
  droite ; recherche ouverte, elle s'arrête avant et se fond au bord.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 13:33:30 +02:00
IliesAllaliandClaude Opus 5.5 eb8e717638 onglets : pas d'onglet pour une famille de 10 personnes ou moins, elle reste dessinée
desc-3 : 30 → 5 onglets, croisements 30 → 41 ; arbre réel et asc-23 inchangés.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 13:00:54 +02:00
IliesAllaliandClaude Opus 5.5 e6aa6d7fda onglets : deux familles au même nom se distinguent par les prénoms de leur charnière
Sauf le plus grand, chaque onglet homonyme prend les prénoms du couple charnière (« Bonnet · Hugo et
Françoise »), et la pastille qui y mène porte le même nom.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 12:58:27 +02:00
IliesAllaliandClaude Opus 5.5 bfa85f83fc placement : le côté extérieur de la branche prime sur le centre ; oncles et tantes ne montent pas
- Une branche au bout de sa fratrie pose ses belles-familles au-delà, jamais dans la fratrie des aînés :
  la branche de Paul passe à droite d'Eugénie et de Louise, hors de la ligne d'Auguste et Yvonne.
- Une belle-famille qui monte au-dessus des parents du conjoint se réduit aux parents si elle y amène des
  oncles ou tantes ; une simple colonne d'ancêtres reste dessinée (archétype issue-67 inchangé).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 10:29:50 +02:00
IliesAllaliandClaude Fable 5.1 a1203fa767 placement : les parents du conjoint juste au-dessus de lui
- La rangée des parents n'est réservée que sur la moitié de l'enfant de la lignée, pour tout couple : au-dessus
  du conjoint, ses propres parents se posent (Louis et Joséphine au-dessus de Victor, 936 → 138 px).
- Un enfant parti dans un onglet ne laisse plus de place fantôme : ses parents se centrent sur les enfants
  dessinés.
- Cinq archétypes mis à jour : les parents du conjoint collés au-dessus de lui.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-20 10:20:40 +02:00
IliesAllaliandClaude Fable 5.1 a562ad9c6e placement : une belle-famille collée ne grimpe pas au-dessus des parents du conjoint
Avec des ancêtres plus haut que les parents, elle montait dans les rangées des aînés de la lignée et s'y
glissait entre deux frères (Marc et Sophie entre Anaïs et Germaine). Les parents restent au-dessus du
conjoint, le reste devient un onglet, sauf les toutes petites familles (FAMILY_INLINE_MAX = 6 au-delà des
parents) qui restent dessinées. asc-23 : croisements 15 → 0, fratries coupées 7 → 1 ; arbre réel 1 → 0.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-20 10:08:09 +02:00
IliesAllaliandClaude Fable 5.1 10815498b7 placement : un enfant au bord d'un large bloc de descendants va du côté où son bloc déborde
Les couples d'une fratrie restent groupés sous leurs parents, le gros bloc part au-delà. asc-23 :
croisements 21 → 15, fratries coupées 17 → 7 ; desc-3 : 47 → 40 ; Antoine 1787 à 91 px de ses parents
au lieu de 2 600.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-20 00:03:34 +02:00