Every seat gets three independent scores from real room geometry and acoustics, then a weighted blend based on the need assigned to it:
SPL(d) = L0 - 20*log10(d/1m) - k*θ_off (inverse-square law + directivity)
SNR = SPL(d) - ambient noise
angular size φ = 2*atan( (boardHeight/2) / d ) (visual acuity depends on φ)
mobility = f(aisle-adjacency, row spacing)
- Sound level falls off with the inverse-square law as distance d from the board doubles, sound pressure drops ~6 dB; sitting off to the side adds a further directivity loss. Comparing that to the room's ambient noise floor gives a signal-to-noise ratio (SNR) — the number that actually predicts speech intelligibility.
- Visual angle is the angle the board subtends at the seat — the same geometry an optometrist uses for acuity: twice as far away means half the apparent size, and sitting at a steep angle foreshortens it further.
- Mobility score rewards seats next to the centre aisle (a clear path to the door) and penalises rows spaced tighter than a wheelchair's turning clearance.
- A seat with no specific need blends sound and vision evenly; low vision weights the visual-angle term; hard of hearing weights the SNR term; wheelchair weights the mobility term. Try widening the aisle or moving the front row closer and watch the worst-seat score climb.