diff --git a/src/view/footing-section-svg.ts b/src/view/footing-section-svg.ts index 7a91b9f..a3587ef 100644 --- a/src/view/footing-section-svg.ts +++ b/src/view/footing-section-svg.ts @@ -153,21 +153,22 @@ export function footingSectionSvg(model: PierModel): string { parts.push(text(xr + 6, yNote + 12, `높이 ${(z.B5 - z.B68).toFixed(0)}`, 'start', COLOR.b5)); // Bubbles outside the outline, spread apart, each with a leader to its bar (the leader carries the same data-bar, so it highlights too). - const bubble = (name: string, bx: number, by: number, tx: number, ty: number) => { + // A leader ends on a point rebar (점철근) of its family: a small dot in the family colour at the leader end (승인 2026-10-26). + const bubble = (name: string, bx: number, by: number, tx: number, ty: number, dotColor: string) => { const edgeY = by < ty ? by + 11 : by - 11; - return `${name}`; + return `${name}`; }; const zB11 = js.length > 0 ? fs.cBottom + js[0] * fs.sV : fs.cBottom; const yTop = 40; const yBot = Y0 + 100; // Each bottom bubble sits straight below its own bar (B2 left of centre, B4 at centre, B3 right of centre) on a bar of the right parity. - parts.push(bubble('B5', xa + 12, yTop, x(xsW[1]), y(z.B5))); - parts.push(bubble('B1', cx - 60, yTop, cx - 60, y(z.B1))); - parts.push(bubble('B11', xb - 20, yTop, xb, y(zB11))); - parts.push(bubble('B10-1', X0 - 18, y(fs.cBottom + (levels - 1) * fs.sV / 2), X0 + 2, y(fs.cBottom + (levels - 1) * fs.sV / 2))); - parts.push(bubble('B2', cx - 70, yBot, cx - 70, y(z.B24))); - parts.push(bubble('B4', cx, yBot, cx, y(z.B24))); - parts.push(bubble('B3', cx + 70, yBot, cx + 70, y(z.B3))); + parts.push(bubble('B5', xa + 12, yTop, x(xsW[1]), y(z.B5), COLOR.b5)); + parts.push(bubble('B1', cx - 60, yTop, cx - 60, y(z.B1), COLOR.b14)); + parts.push(bubble('B11', xb - 20, yTop, xb, y(zB11), COLOR.b11)); + parts.push(bubble('B10-1', X0 - 18, y(fs.cBottom + (levels - 1) * fs.sV / 2), X0 + 2, y(fs.cBottom + (levels - 1) * fs.sV / 2), COLOR.b10)); + parts.push(bubble('B2', cx - 70, yBot, cx - 70, y(z.B24), COLOR.b14)); + parts.push(bubble('B4', cx, yBot, cx, y(z.B24), COLOR.b14)); + parts.push(bubble('B3', cx + 70, yBot, cx + 70, y(z.B3), COLOR.b14)); // Legend (선 모양별, 삽도 기준) and the units note. const yLeg = 352;