feat(layout): Fibonacci sunflower distribution pour T1(27)+T2(30) agents overcrowded - supprime overlap, T0/T3 gardent cercle simple
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled

This commit is contained in:
opus
2026-04-21 00:46:25 +02:00
parent f39c129c97
commit 9b948cf4a9

View File

@@ -475,13 +475,22 @@ A.forEach(function(a,i){
let x,z;
if(cnt===1){
x=0;z=0;
} else {
} else if(cnt>=15){
// WAVE 200: Fibonacci sunflower — optimal disc distribution (T1/T2 overcrowded)
const R=(pw[a.t]/2)*0.92;
// WAVE 190: Single circle — agents around meeting table
const angle=(ti/cnt)*Math.PI*2 - Math.PI/2; // start from top
const tableR=R*0.72; // agents sit at 72% of plateau radius
const golden=Math.PI*(3-Math.sqrt(5)); // golden angle ~137.5°
const theta=ti*golden - Math.PI/2;
const rFrac=Math.sqrt((ti+0.5)/cnt);
const discR=R*0.88; // 88% of plateau radius
x=rFrac*discR*Math.cos(theta);
z=rFrac*discR*Math.sin(theta)*0.72; // 72% Z perspective (less compression)
} else {
// Single circle for sparse tiers (T0=7, T3=13)
const R=(pw[a.t]/2)*0.92;
const angle=(ti/cnt)*Math.PI*2 - Math.PI/2;
const tableR=R*0.72;
x=tableR*Math.cos(angle);
z=tableR*Math.sin(angle)*0.65; // 65% Z for perspective
z=tableR*Math.sin(angle)*0.65;
}
const url=_pk[a.n]||(a.r?'https://robohash.org/'+encodeURIComponent(a.n)+'?set=set1&size=200x200':'https://api.dicebear.com/9.x/adventurer/svg?seed='+encodeURIComponent(a.n));