diff --git a/web/src/citation.css b/web/src/citation.css
index 8b32a93..ebfc9a9 100644
--- a/web/src/citation.css
+++ b/web/src/citation.css
@@ -33,8 +33,8 @@
font-family: 'Roboto Mono','Consolas',monospace;
}
.cit-pfd { aspect-ratio: 800 / 940; }
-.cit-mfd { aspect-ratio: 1 / 1; }
-.cit-eicas { aspect-ratio: 760 / 900; }
+.cit-mfd { aspect-ratio: 800 / 940; }
+.cit-eicas { aspect-ratio: 800 / 940; }
.cit-pfd text, .cit-mfd text, .cit-eicas text { font-family: 'Roboto Mono','Consolas',monospace; }
/* ---- bezel (soft-key / knob strip beneath a display) ---- */
diff --git a/web/src/components/citation/CitMFD.jsx b/web/src/components/citation/CitMFD.jsx
index 059e56a..514cd67 100644
--- a/web/src/components/citation/CitMFD.jsx
+++ b/web/src/components/citation/CitMFD.jsx
@@ -32,6 +32,8 @@ export default function CitMFD({ xp }) {
const [ov, setOv] = useState({ traffic: true, terrain: false, apts: true, vor: true });
const [setup, setSetup] = useState(null); // null | 'mfd' | 'eicas' | 'pfd'
const [vspd, setVspd] = useState(false);
+ const [baroUnit, setBaroUnit] = useState('in'); // PFD SETUP: IN / HPA
+ const [eicasSub, setEicasSub] = useState('fuel'); // EICAS SYS subset page
const [et, setEt] = useState(0);
const etRun = useRef(false);
useEffect(() => { const id = setInterval(() => etRun.current && setEt((t) => t + 1), 1000); return () => clearInterval(id); }, []);
@@ -41,8 +43,9 @@ export default function CitMFD({ xp }) {
const lon = useEased(num(V.lon), 0.14);
const hdg = useEasedAngle(num(V.heading), 0.10);
const trk = num(V.track);
- // arc map geometry: ownship near bottom, ~120° forward arc
- const W = 760, H = 760, cx = W / 2, cy = 600, R = 470; // compass radius
+ // arc map geometry: portrait DU-870 tube (identical to the PFD); ownship low,
+ // ~120° forward arc filling the upper two-thirds, data blocks along the bottom.
+ const W = 800, H = 940, cx = 400, cy = 740, R = 540; // compass radius
const pxPerNm = R / rng;
const project = (d, brg) => { // heading-up
const rel = toRad(brg - hdg);
@@ -71,6 +74,10 @@ export default function CitMFD({ xp }) {
}
}
+ // coupled nav source (Nav Source Selector): FMS flight plan vs VOR1/VOR2.
+ const cdiSrc = num(V.cdiSrc);
+ const src = cdiSrc === 2 ? 'fms' : 'nav';
+ const srcLabel = cdiSrc === 2 ? 'FMS1' : cdiSrc === 1 ? 'VOR2' : 'VOR1';
const gs = Math.round(num(V.groundspeed) * 1.94384);
const tas = Math.round(num(V.tas));
const sat = Math.round(num(V.oat));
@@ -84,16 +91,16 @@ export default function CitMFD({ xp }) {
return (
-