{"bridge_copy":{"source":{"anchor":"Public bridge copy","document":"repo:website/BUILD_PLAN.md","git_blob":"b1111bb8d0e2fce8c398be420d019a6fbf35e414"},"text":"The band result and the six-band listening example describe the same model configuration. They are different products of the simulation."},"metric_caveats":{"C50_db":{"caveat":null,"label":"C50 (clarity, 50 ms)","unit":"dB"},"C80_db":{"caveat":null,"label":"C80 (clarity, 80 ms)","unit":"dB"},"D50":{"caveat":null,"label":"D50 (definition)","unit":"1"},"EDT_s":{"caveat":"Reverberation metrics are unreliable outdoors (PLAN section 6.5); published only where the fit range exists before the trusted cutoff. It is the ONLY decay time the echogram estimator produces (ADR 0011 D4).","label":"EDT","unit":"s"},"G_basis_db":{"caveat":"On a Receiver3D row it needs the IR energy scale K (amplitude.ir_scale_k); on an echogram row it IS mapping.strength_db, the same ISO 3382-1 definition against the same free-field reference.","label":"G (strength), seat","unit":"dB"},"T20_s":{"caveat":"As EDT; Receiver3D rows only (ADR 0011 D4).","label":"T20","unit":"s"},"T30_s":{"caveat":"As EDT; Receiver3D rows only, and show only with the validity caveat.","label":"T30","unit":"s"},"Ts_s":{"caveat":null,"label":"Ts (centre time)","unit":"s"},"distance_m":{"caveat":null,"label":"source-receiver distance","unit":"m"},"strength_g_db":{"caveat":"Source-normalised BASIS strength, not strict ISO G (ADR 0010 D5); voice sources are not omnidirectional, which strict ISO G assumes.","label":"G (strength)","unit":"dB"},"t0_s":{"caveat":"Absolute seconds since source release; never re-zeroed per band. Since ADR 0014 D3 this is the METRIC origin - the exact unbinned energy-weighted centroid of the visible direct quadrature nodes - and it is NOT the origin the 1 ms histogram and the ADR 0011 D5 IR synthesis use; that one is published beside it as synthesis_histogram_t0_s and the two differ by about 2.9 ms on the campaign medium. A view that labels a first arrival must say which of the two it is showing. Energy arriving BEFORE this origin is early and contributes zero to the Ts numerator; its share is published per location as timing.energy_pre_t0_fraction. That share is VISIT-COUNT dependent: on the judged cells of production 400 000-ray runs it reaches 6.63 % on the worst map cell of the six ADR 0014 validation replays (2.08 % on the worst seat), while the 2 600-ray review run of the committed mock reaches 83.8 % on a map with no judged cell at all. Per location the effect on Ts is bounded by this document's own two origins: the clamped numerator biases Ts HIGH against a signed first moment by at most share x (metric_t0_s - synthesis_histogram_t0_s), and LOW against a Ts formed from post-t0 energy alone by share x that Ts - see DATA_CONTRACT section 3.2 for both bounds, their scope and their source.","label":"metric origin t0","unit":"s"}},"metric_caveats_source":"taormina_acoustics.pipeline.METRIC_CATALOGUE","provenance":{"accepted_interfaces":"taormina_acoustics.pipeline and taormina_acoustics.uncertainty, imported read-only with bytecode disabled (decision X6)","exporter":"website/pipeline/data","exporter_sources_sha256":"5100ea820c9d35094c37dcfe438db029326b0c4434acef63ae0c19271312eada","input_lock_portable_sha256":"5b37cf4ad5ea752790c5f271f38a110d5745310e1b910db06b1b4f9ab23c57c1","runtime":{"matplotlib":"3.11.2","numpy":"2.4.6","python":"3.14.7"}},"release_id":"r1","schema":"taormina.web.statements/1","skipped_handoff_items":[{"item":6,"reason":"outside this release by owner decision (2026-09-23)"}],"statements":[{"id":"honesty","required":"verbatim on the Evidence/Method page (PLAN section 6.5)","source":{"callable":"taormina_acoustics.pipeline.honesty_statement()","git_blob":"cefaf3c5aad569e2894767ab1dcaf9c518af14f3","reads":"repo:docs/PLAN.md section 6.5"},"text":"This model has not been calibrated against measured impulse responses from the Teatro Antico di Taormina; no public per-position dataset exists. Materials are literature values for comparable Greco-Roman theatres, cited individually. Ray acoustics does not model edge diffraction; low-frequency results near the scaenae-frons gap and seat rows carry extra uncertainty. Results are a physically consistent reconstruction with stated sensitivity ranges — what our model predicts, not what it sounded like."},{"id":"uncertainty_methods","required":"wherever a map or seat number is shown (ADR 0012 D9)","source":{"constant":"taormina_acoustics.pipeline.UNCERTAINTY_METHODS_STATEMENT"},"text":"How precise these numbers are, and what that does and does not mean (ADR 0012 D9). The direct sound is deterministic. The reflected energy is sampled by a FINITE DETERMINISTIC release lattice, and the uncertainty published beside every D50, C50, C80, Ts and G is conditional internal release-ray resampling of that run's own rays: an approximate expanded uncertainty u2 = 2 sigma_N, NOT an ISO compliance statement and NOT total model uncertainty - geometry, materials, model form and calibration are outside it, and a bias shared by every resample is invisible to it. Precision misses stay visible: a value whose u2 exceeds its target is published and flagged, never withheld or quietly smoothed. A pooled layer, where one is shown, is a separately labelled regional estimate and is not 2.5 m-resolved. Echogram EDT is published only where its fit passes the decay-linearity and trusted-range gates; a failed fit is null with its reason, while a valid EDT remains numeric. The echogram estimator does not produce T20 or T30: their null reason is metric_not_produced_by_estimator, not a claim that their decay fits failed. An A/B or occupancy contrast needs matched-ray resampling: two bars whose intervals overlap have not been shown to differ, and two that do not overlap have not been compared correctly either until the same rays are used on both sides."},{"id":"timing_convention","required":"with published timing metrics (ADR 0014)","source":{"constant":"taormina_acoustics.pipeline.TIMING_CONVENTION_STATEMENT"},"text":"TIMING (ADR 0014, contract v0.4). D50, C50, C80, Ts and t0 are the POINT-EQUIVALENT EVENT estimator: contiguous pieces of one ray in one cell are coalesced into complete visits (D1), each visit is booked at the energy-weighted centroid of its in-cell chord (D2), t0 is the exact unbinned energy-weighted centroid of the visible direct quadrature nodes - or the earliest complete reflected-visit centroid where there is no direct energy (D3) - and the four parameters come from exact E / E50 / E80 / sum(E t) accumulators over strictly half-open windows [t0, t0+50 ms) and [t0, t0+80 ms) (D4). G carries the D5 reference taken IN THE RUN'S AIR, which is +alpha_b*10 dB above the air-free reference a v0.3 document used. The 1 ms entry-booked histogram is UNCHANGED and is kept for the ADR 0011 D5 IR synthesis and for EDT, on its own frozen origin synthesis_histogram_t0_s; the legacy value of each metric travels beside the exact one as <metric>_histogram with the signed <metric>_hist_minus_exact difference, so the change is auditable from this document alone. Energies, the direct/reflected split, both visit counters, the histograms and EDT did not move. A v0.3 document and a v0.4 document of the same run must never be mixed in one view: the producer SCHEMA ID, never a date, is how a renderer tells them apart."},{"id":"closure_narrowed","required":"with the listening example and metrics (ADR 0014 D7)","source":{"constant":"taormina_acoustics.pipeline.CLOSURE_NARROWED_STATEMENT"},"text":"CLOSURE, NARROWED (ADR 0014 D7). The ADR 0011 D5 energy closure of a synthesised impulse response holds for TOTAL ENERGY, for the direct/reflected split and for the HISTOGRAM window partitions of that waveform. It does NOT claim that those histogram partitions equal the published D50 / C50 / C80 / Ts, which are the exact point-equivalent event values of ADR 0014 D1-D4 on a different origin. The signed difference between the two is published per cell and per seat (<metric>_hist_minus_exact), so the gap is a number a reader can see rather than an assumption. Nothing may be read back off a synthesised waveform and quoted as a published parameter."},{"id":"outdoor_reverberation","required":"Method page","source":{"callable":"taormina_acoustics.pipeline._caveats(shipped manifest runs)[4]"},"text":"Reverberation-time metrics are unreliable outdoors: G/D50/C50/C80/Ts are the headline; T30 only with a validity caveat (PLAN section 6.5)."},{"id":"basis_strength","required":"beside every voice-source (S1) G value","source":{"callable":"taormina_acoustics.pipeline._caveats(shipped manifest runs)[5]"},"text":"Voice results are source-normalised BASIS strength, not strict ISO G, and no absolute dB SPL exists until a cited talker spectrum is attached (ADR 0008 D2 / ADR 0010 D5)."},{"id":"air_absorption","required":"Method page","source":{"callable":"taormina_acoustics.pipeline._caveats(shipped manifest runs)[6]"},"text":"Every run in this publication propagated in the audited air-absorbing medium of ADR 0009 (the pre-2026-09-02 theatre numbers, which had no air absorption, are not published here)."},{"aliases":[],"id":"must_show.1","markdown":"The study is uncalibrated (PLAN §6.5). Conditional ray precision is not total model uncertainty; EDT is conditional; T20/T30, absolute speech levels and STI are not produced.","required":"Evidence/Method page (PRE_WEBSITE_HANDOFF explicit uncertainties)","source":{"document":"repo:docs/PRE_WEBSITE_HANDOFF.md","extraction":"item lines joined with single spaces; 'text' drops Markdown link targets and backticks","git_blob":"f3bd9633de8bb70274d078903db0e2dc274aa52a","item":1,"section":"Explicit uncertainties the website must show, not hide"},"text":"The study is uncalibrated (PLAN §6.5). Conditional ray precision is not total model uncertainty; EDT is conditional; T20/T30, absolute speech levels and STI are not produced."},{"aliases":[],"id":"must_show.2","markdown":"Same-seat listening: accepted products are band-selectable private mono responses. No combined broadband waveform, HRTF, playback/device validation or publication admission exists (`playback_available=false`).","required":"Evidence/Method page (PRE_WEBSITE_HANDOFF explicit uncertainties)","source":{"document":"repo:docs/PRE_WEBSITE_HANDOFF.md","extraction":"item lines joined with single spaces; 'text' drops Markdown link targets and backticks","git_blob":"f3bd9633de8bb70274d078903db0e2dc274aa52a","item":2,"section":"Explicit uncertainties the website must show, not hide"},"text":"Same-seat listening: accepted products are band-selectable private mono responses. No combined broadband waveform, HRTF, playback/device validation or publication admission exists (playback_available=false)."},{"aliases":[],"id":"must_show.3","markdown":"Stage motion: state A was computed and compared but is unqualified (all four precision allowances unknown; recorded arithmetic shows every state-A context already exceeds at least one unchanged target); state B halted on a preserved release mismatch. No moving-source, interpolation or held-out-accuracy claim exists; the common-normalization application is still `REFUSED_MISSING_ACTUAL_PROVENANCE`.","required":"Evidence/Method page (PRE_WEBSITE_HANDOFF explicit uncertainties)","source":{"document":"repo:docs/PRE_WEBSITE_HANDOFF.md","extraction":"item lines joined with single spaces; 'text' drops Markdown link targets and backticks","git_blob":"f3bd9633de8bb70274d078903db0e2dc274aa52a","item":3,"section":"Explicit uncertainties the website must show, not hide"},"text":"Stage motion: state A was computed and compared but is unqualified (all four precision allowances unknown; recorded arithmetic shows every state-A context already exceeds at least one unchanged target); state B halted on a preserved release mismatch. No moving-source, interpolation or held-out-accuracy claim exists; the common-normalization application is still REFUSED_MISSING_ACTUAL_PROVENANCE."},{"aliases":[],"id":"must_show.4","markdown":"A-occupied `seat-3S03` has six accepted private diagnostic bands. Its 2000 Hz band is the root-adopted standalone 1.6M result: a private named diagnostic with no confidence, total-ear, point-limit, HRTF, playback, broadband, seed-independence or sqrt-N claim and no publication authorization. The four 800k refusals stand as dated history and nothing is pooled. No 2000 Hz value is shown before its own publication admission.","required":"Evidence/Method page (PRE_WEBSITE_HANDOFF explicit uncertainties)","source":{"document":"repo:docs/PRE_WEBSITE_HANDOFF.md","extraction":"item lines joined with single spaces; 'text' drops Markdown link targets and backticks","git_blob":"f3bd9633de8bb70274d078903db0e2dc274aa52a","item":4,"section":"Explicit uncertainties the website must show, not hide"},"text":"A-occupied seat-3S03 has six accepted private diagnostic bands. Its 2000 Hz band is the root-adopted standalone 1.6M result: a private named diagnostic with no confidence, total-ear, point-limit, HRTF, playback, broadband, seed-independence or sqrt-N claim and no publication authorization. The four 800k refusals stand as dated history and nothing is pooled. No 2000 Hz value is shown before its own publication admission."},{"aliases":["geometry_representation_adr0024"],"id":"must_show.5","markdown":"Geometry representation: the bounded A/B screen found locally material effects, including some reversed architectural contrasts; the original ranges do not include it.","required":"Evidence/Method page (PRE_WEBSITE_HANDOFF explicit uncertainties)","source":{"document":"repo:docs/PRE_WEBSITE_HANDOFF.md","extraction":"item lines joined with single spaces; 'text' drops Markdown link targets and backticks","git_blob":"f3bd9633de8bb70274d078903db0e2dc274aa52a","item":5,"section":"Explicit uncertainties the website must show, not hide"},"text":"Geometry representation: the bounded A/B screen found locally material effects, including some reversed architectural contrasts; the original ranges do not include it."},{"aliases":[],"id":"must_show.7","markdown":"Strict ISO G assumes an omnidirectional source, a claim still to be verified against the standard before publication; the directive voice sources' G is therefore published as source-normalised basis strength ([VERIFICATION §4](results/VERIFICATION.md#4--what-verification-does-not-establish), [ADR 0010](decisions/0010-m4-execution-design.md) D7).","required":"Evidence/Method page (PRE_WEBSITE_HANDOFF explicit uncertainties)","source":{"document":"repo:docs/PRE_WEBSITE_HANDOFF.md","extraction":"item lines joined with single spaces; 'text' drops Markdown link targets and backticks","git_blob":"f3bd9633de8bb70274d078903db0e2dc274aa52a","item":7,"section":"Explicit uncertainties the website must show, not hide"},"text":"Strict ISO G assumes an omnidirectional source, a claim still to be verified against the standard before publication; the directive voice sources' G is therefore published as source-normalised basis strength (VERIFICATION §4, ADR 0010 D7)."}],"vocabularies":{"colour_scale_rule":"One scale per (band, parameter) across the WHOLE publication, so state A vs B and empty vs occupied are read against the same ruler; vmin/vmax are the min and max over the cells that are valid AND not 'unjudged' (< 5 visits), across every member map; unjudged cells are still published but never set the scale, and a value outside [vmin, vmax] is CLAMPED by the renderer, never rescaled per map. Percentile clipping is forbidden: it hides the extremes an acoustic map exists to show.","confidence_rule":"MAP_METHOD visit classes kept by ADR 0010 D1: judged >= 20 independent ray-cell visits, low_confidence 5-19, unjudged < 5. An unjudged cell is published (it is a result) but must be rendered as provisional and never sets a colour scale. A cell that publishes no value at all - the ADR 0010 D7 masked source cell, a cell no ray reached - is 'unjudged' whatever its visit count, and is excluded from the coverage fraction on both sides (counts.assessable is the denominator).","contrast_reasons":{"insufficient_finite_replicates":"fewer than 3 of the replicate differences are finite - a C80 of +/-inf in one half (all energy on one side of the 80 ms boundary) or a metric that is null in one half; the MAD of one or two numbers is not a spread","no_precision_target":"ADR 0012 D3 sets a precision target for D50, C80, G and Ts only. C50 is published WITH its uncertainty and WITHOUT a precision class - the number is there, the pass/fail is not asserted","not_judged_in_either_run":"neither run's value is judged at this location","not_judged_in_run_a":"run A's value is below the ADR 0010 D1 'judged' class (< 20 independent reflected visits): the contrast and its u2 are measured and published, but no precision class is asserted","not_judged_in_run_b":"the same, for run B","not_published_in_either_run":"neither run publishes a value here","not_published_in_run_a":"run A does not publish a value here (its ADR 0011 D3 seat gate or its ADR 0010 D7 cell validity), so there is no contrast to qualify","not_published_in_run_b":"run B does not publish a value here, so there is no contrast to qualify"},"contrast_reasons_source":"taormina_acoustics.uncertainty.CONTRAST_REASONS","effect_scale":{"C50_db":1.0,"C80_db":1.5,"D50":0.05,"G_db":1.0,"Ts_s":0.01},"null_reasons":{"blocked_no_direct_sound":"fully blocked from the source; no diffraction is invented (ADR 0010 D2)","cell_invalid":"the map marked the cell invalid (see mask_reason in the run's map header)","cell_masked_source":"the source-containing cell, masked per ADR 0010 D7 / T55","decay_fit_nonlinear":"the decay-time fit range DOES exist before the trusted cutoff, and the fit over it failed the ISO 3382-2 clause 5.3.4 linearity gate (r^2 >= 0.99, xi <= 10) or came out non-decaying - a truncation dive, not a decay. Before ADR 0012 D5 this was published as 'fit_range_absent', which said the range was missing when it was the straight line that was","fit_range_absent":"the decay-time fit range does not exist before the trusted cutoff (ADR 0010 D5)","gate_not_published":"the ADR 0011 D3 seat gate refused this seat-band: fewer than 20 independent REFLECTED ray visits, so nothing is published for it (5-19 is a low-confidence diagnostic, < 5 invalid)","k_not_supplied":"G needs the IR energy scale K; none was supplied to this run's post-processing","metric_not_produced_by_estimator":"this seat's estimator does not produce this metric at all - the echogram publishes an energy density and one decay time (EDT), the Receiver3D export publishes Pa^2 s and EDT/T20/T30 (ADR 0011 D1/D4)","no_sample":"no ray reached this cell and no deterministic direct term applies","not_finite":"the published array holds NaN here","silent_ir":"the seat's impulse response carries no energy - a sampling failure, not a quiet seat","spectrum_not_attached":"an absolute (speech-weighted) value needs a cited talker spectrum; taormina_acoustics.spectrum fails closed","undefined_ratio":"the ratio is infinite (all of the energy is on one side of the split)"},"null_reasons_source":"taormina_acoustics.pipeline.NULL_REASONS","precision_classes":["meets_target","exceeds_target","not_assessable"],"precision_target_units":{"C50_db":"dB","C80_db":"dB","D50":"1","G_db":"dB","Ts_s":"s"},"precision_targets":{"C50_db":null,"C80_db":1.5,"D50":0.05,"G_db":1.0,"Ts_s":0.01},"uncertainty_reasons":{"cell_not_valid":"the cell publishes no value at all (ADR 0010 D7: the collection volume contains the source), so there is nothing to qualify","gate_not_published":"the ADR 0011 D3 seat gate does not publish this seat-band (< 20 independent reflected ray visits): the value itself is null, so no uncertainty is published beside it","insufficient_finite_replicates":"fewer than 3 of the replicate differences are finite - a C80 of +/-inf in one half (all energy on one side of the 80 ms boundary) or a metric that is null in one half; the MAD of one or two numbers is not a spread","map_cell_not_judged":"the cell is below the ADR 0010 D1 map visit class 'judged' (< 20 independent reflected ray visits): the value is published as a low-confidence class and its uncertainty is measured, but no precision class is asserted for it","no_precision_target":"ADR 0012 D3 sets a precision target for D50, C80, G and Ts only. C50 is published WITH its uncertainty and WITHOUT a precision class - the number is there, the pass/fail is not asserted"},"uncertainty_reasons_source":"taormina_acoustics.uncertainty.UNCERTAINTY_REASONS"}}
