| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- // ─── HALL GEOMETRY ────────────────────────────────────────────────────────────
- // Confirmed measurements — SK-303 Version B + site survey
- //
- // PLAN (square seating zone, all radii from geometric centre):
- // Overall seating plan: 20914 × 20914 mm (half-width = 10457 mm)
- // Row 1 front edge: 2210 mm (inner edge of first bench row)
- // Row pitch (FFL–FFL): 883 mm × 8 main rows
- // Row 8 back face: 8411 mm (per SK-303 drawing; includes ~20 mm bench thickness)
- // Back aisle: 2046 mm (10457 − 8411 = 2046 ✓)
- // Corner rows: 4 rows per corner, same 883 mm pitch
- // Corner row 1 front: 620 mm from the circular seating edge
- //
- // SECTION:
- // CEILING IS FLAT — one horizontal plane at ceilFlat above the centre floor datum.
- // Measured floor-to-ceiling at row 8 back = 3600 mm; floor at row 8 = +700 mm
- // → flat ceiling at 3600 + 700 = 4300 mm above centre datum.
- // Corner zone ceiling is structurally lower at cornerCeilClearance floor-to-ceiling.
- //
- // FLOOR IS DISHED — rises from 0 mm at centre (communion table zone)
- // to +700 mm at row 8 back face, slope ≈ 1:8.9.
- // The flat centre zone (r = 0 → row1Radius) is the communion table area.
- //
- // SPEAKERS: All flush-mounted (no drop rods). Hanging face at ceiling height.
- // Suggested power (Dudley Wilkin, 2010 Aberdeen layout):
- // Centre (spk 13): 6 W — covers rows 1–3
- // Inner ring (1–8): 8 W — covers rows 4–7
- // Outer ring (9–12):4 W — covers row 8 + aisle back
- // Corner (2 per corner): 4 W
- export const HALL_DEFAULTS = {
- // Plan
- hallWidth: 20914, // mm — confirmed seating plan dimension
- rows: 8, // main circular rows
- row1Radius: 2210, // mm — centre to front edge of row 1 (inner edge)
- rowPitch: 883, // mm — FFL to FFL
- row8Back: 8411, // mm — centre to back face of row 8 (per SK-303)
- aisleWidth: 2046, // mm — back aisle behind row 8
- // Corner seating
- hasCornerRows: true,
- cornerRows: 4, // rows in each corner zone
- cornerFrontOffset: 620, // mm — front of corner row 1 measured from circular seating edge
- // Ceiling — FLAT throughout main seating zone
- ceilFlat: 4300, // mm — absolute ceiling height above centre floor datum
- // Derivation: floor-to-ceiling at row 8 back (3600 mm) + floor rise at row 8 (700 mm)
- cornerCeilClearance: 2900, // mm — floor-to-ceiling in corner zone (structural drop)
- // Floor — dished bowl, lowest at centre
- dishRise: 700, // mm — floor rise from centre datum to row 8 back face
- // Slope: 700 mm over 6201 mm (row1Radius → row8Back) ≈ 1:8.9
- // Acoustic
- earHeight: 1100, // mm — seated ear height above local floor
- speedOfSound: 343, // m/s (20 °C)
- tileGrid: 600, // mm — ceiling tile grid (constrains speaker positions)
- };
- // ─── SPEAKER RINGS ────────────────────────────────────────────────────────────
- // All flush-mounted (dropRod = 0). Acoustic face is at the ceiling surface.
- // Power settings per Dudley Wilkin's 2010 Aberdeen 8-row hall proposal.
- export const SPEAKER_DEFAULTS = {
- centre: {
- enabled: true,
- count: 1,
- radius: 0, // mm — geometric centre of ceiling
- dropRod: 0, // mm — flush (no rod)
- power: 6, // W
- sensitivity: 88, // dB / 1 W / 1 m (Visaton FRS8M + G20SC combined)
- // phase codes: 1=all-normal, 4=quarter (quadrant), 8=eighth (per-speaker), -1=all-inverted
- phase: 1, // single speaker — no alternating pattern applies
- label: 'Centre (×1)',
- },
- inner: {
- enabled: true,
- count: 8,
- radius: 5720, // mm — confirmed site measurement
- dropRod: 0,
- power: 8, // W
- sensitivity: 88,
- phase: 4, // 1/4 quadrant anti-phase (pairs of 2 reversed, 4 null lines)
- label: 'Inner Ring (×8)',
- },
- outer: {
- enabled: true,
- count: 8,
- radius: 8600, // mm — confirmed site measurement
- dropRod: 0,
- power: 4, // W
- sensitivity: 88,
- phase: 4, // 1/4 quadrant anti-phase
- label: 'Outer Ring (×8)',
- },
- corner: {
- enabled: true,
- count: 8, // 2 per corner × 4 corners
- radius: 10310, // mm — confirmed; 1500 mm from side walls
- dropRod: 0,
- power: 4, // W
- sensitivity: 88,
- phase: 4, // 1/4 quadrant (adjacent corners alternate, 2 spk per corner)
- label: 'Corner (×8, 2/corner)',
- },
- };
- // ─── APPLICATION SETTINGS ─────────────────────────────────────────────────────
- export const SETTINGS_DEFAULTS = {
- // LLM provider
- provider: 'ollama',
- ollamaHost: 'http://192.168.8.73',
- ollamaPort: '11434',
- ollamaModel: '',
- anthropicKey: '',
- anthropicModel: 'claude-sonnet-4-6',
- // REW API
- rewHost: 'http://127.0.0.1',
- rewPort: '4735',
- // LLM behaviour
- maxTokens: 2048,
- temperature: 0.3,
- systemPrompt: [
- 'You are an expert acoustic consultant specialising in distributed ceiling speaker systems',
- 'for large assembly halls. You have deep knowledge of accoustic ceiling speaker layout and design,',
- 'including the MS6 speaker (Visaton FRS8M + G20SC drivers), the MIDAS MR12 active crossover',
- 'with its 433 Hz gap at 3 kHz, anti-phasing techniques, and the Haas effect in multi-speaker',
- 'environments. Analyse the provided coverage data and give specific, technical, actionable',
- 'recommendations.',
- ].join(' '),
- };
|