| # | Assumption | Rationale |
| Z-1 | All engineering logic runs in the browser | Required for deployment on Cloudflare Pages as a static build, with no application server |
| Z-2 | The backend is optional and performs no computation | Cloudflare Workers has hard CPU and memory limits; engineering computation does not belong there |
| Z-3 | No external dependencies, no CDN | Fully offline operation after first load; no supply-chain exposure |
| Z-4 | SI units in the computation layer | Conversion happens only in the presentation layer |
| Z-5 | No normative values hard-coded | All come from a profile file carrying a SHA-256 checksum |
| Z-6 | Guessing normative values is prohibited | Values without a confirmed source are marked [TO BE VERIFIED] |
| Z-7 | Drawings authored in sheet millimetres | The only way to guarantee scale fidelity in print |
| Z-8 | Rasterisation of technical drawings prohibited | The PDF must remain vector and measurable |
| # | Assumption | Practical consequence |
| H-1 | Friction model: Prandtl–Colebrook, explicit form | No iteration, deterministic result |
| H-2 | Roughness k_b is operational, not material | Includes local losses and manholes; minor losses are not added separately |
| H-3 | Kinematic viscosity fixed at 1.31\cdot10^{-6} m²/s | Corresponds to roughly 10 °C; temperature effects neglected |
| H-4 | Bisection range limited to h \le 0.938D | Above this Q(h) is not monotonic; exceedance is treated as pressurised flow |
| H-5 | Only circular sections in the sizing engine | Egg, bell and rectangular sections are out of scope for this release |
| H-6 | Minor losses not modelled separately | Absorbed into k_b per DWA-A 110 practice |
| H-7 | Downstream boundary: free outfall | Backwater from the receiving body is out of scope |
| # | Assumption | Practical consequence |
| Y-1 | Rational method as the sizing basis | Appropriate where time of concentration is close to storm duration |
| Y-2 | Critical storm searched across ten durations, 5–180 min | Selected on maximum flow, not maximum intensity |
| Y-3 | Runoff coefficient \psi uniform across the catchment | Composite catchments require the user to area-weight \psi |
| Y-4 | Initial and continuing losses not modelled | Absorbed into \psi; Horton, Green-Ampt and SCS-CN are out of scope |
| Y-5 | Areal reduction factor (ARF) neglected | Defensible for urban catchments below a few tens of hectares |
| Y-6 | Catchment defaults to a strip along the route | Alternative: D8 delineation from the DTM |
| Y-7 | Hyetographs preserve rainfall depth, not the IDF curve at every step | Verified by test; error 0.0000 % |
| Y-8 | Błaszczyk use outside 5–180 min is not blocked | The user is responsible for the range of applicability |
| # | Assumption | Practical consequence |
| D-1 | Local optimisation, reach by reach | Not a global network optimum; it is repeatable and explainable |
| D-2 | Objective: pipe + excavation + manhole cost | Prices come from the profile file, marked [TO BE VERIFIED] |
| D-3 | Excavation volume simplified: L\,(c_{min}+D+0.15)(D+0.8) | Trench bottom width per EN 1610 with 0.8 m working space; battered sides excluded from the objective |
| D-4 | Gradient search step 0.5 ‰ | Trade-off between resolution and runtime |
| D-5 | Fixed 55 m spacing when building the network | DN-dependent normative spacing lives in the profile, but the initial subdivision is uniform |
| D-6 | Self-cleansing criterion is alternative: v_{min} or \tau_{min} | Satisfying either is sufficient |
| D-7 | Drop manholes and steps are not inserted automatically | The threshold exists in the profile; implementation is out of scope |
| D-8 | Clashes with existing utilities are not checked | No utility layer in this release |
| D-9 | Pumping stations are not designed | Exceeding trench depth is flagged only |
| # | Assumption | Practical consequence |
| S-1 | Kinematic wave, explicit upwind scheme | Backwater effects are not represented |
| S-2 | Time step 5 s, simulated duration 1 h | Courant condition monitored and reported |
| S-3 | Lateral inflow proportional to the hyetograph ordinate | No separate catchment rainfall–runoff transformation |
| S-4 | Flooding taken as volume exceeding 0.98 D capacity | Simplified balance, no overland spreading |
| S-5 | Full Saint-Venant equations out of scope | Verification path: export to EPA SWMM |
A register of exclusions. Each carries a technical rationale and a workaround.
| # | Requirement | Status | Rationale | Workaround |
| O-1 | LAS/LAZ | Excluded | Decompressing and triangulating hundreds of millions of points exceeds the browser memory budget | Convert to raster in QGIS |
| O-2 | GeoTIFF / COG | Excluded | Requires geotiff.js, conflicting with the no-dependency principle (Z-3) | Export to ASCII Grid in QGIS; restoring it means moving to a Vite build |
| O-3 | Binary ESRI Grid, DWG | Excluded | Closed formats or ones requiring GDAL/ODA | External conversion |
| O-4 | Quasi-geoid .gtx model | Replaced | No PROJ-data in the browser | Constant zonal shift from the profile + uncertainty annotation |
| O-5 | Saint-Venant equations (Preissmann) | Excluded | Computational cost and numerical stability exceed the browser budget for production networks | .inp export to EPA SWMM |
| O-6 | Running EPA SWMM in-app | Excluded | No native environment in the browser or in Workers | Cross-validation outside the application |
| O-7 | Full EN 1295-1 structural calculations | Limited | Out of scope for the web version | SN stiffness class attribute + indicative cover check |
| O-8 | PDF/A-2b, GeoPDF, GeoPackage | Excluded | No dependency-free libraries offering validatable conformance | External conversion |
| O-9 | proj4js reprojection, CRS detection cascade | Limited | No-dependency principle (Z-3) | Explicit CRS selection by the user, stored in .drnx together with the vertical datum |
| O-10 | MapLibre GL + deck.gl | Replaced | Require a CDN or bundler; conflict with Z-3 | Bespoke canvas plan renderer with hillshading and hypsometric tinting |
| O-11 | Web Workers | Deferred | The heaviest operation (D8, 134 k cells) runs in under 300 ms and is one-off | Extract once DTMs exceed 4 million cells |
| O-12 | Font embedding in the PDF | Excluded | Dependency-free TrueType subsetting is substantial work | Helvetica WinAnsi; diacritics transliterated |
| O-13 | KOSTRA curves in the DE profile | Approximate parameters | No licensed access to DWD data | Marked [TO BE VERIFIED]; the structure is import-ready |
| O-14 | Gullies, separators, storage, regulators | Out of scope | The data model provides for them; the engine does not handle them | Represent as manual node inflows |
| O-15 | Automatic gully spacing (HEC-22) | Out of scope | Requires a kerb-channel model and carriageway geometry | — |
| O-16 | Roof catchments per EN 12056-3 | Out of scope | — | Fold into \psi or add as a manual inflow |
| O-17 | Revisions, revision clouds, version comparison | Out of scope | The data model provides a Revision entity | Compare .drnx files with an external tool |
| O-18 | Splitting a long profile across sheets | Out of scope | The profile fits one sheet at typical scales | Change the scale or sheet format |
| O-19 | SVG symbol library in national convention | Simplified | Manholes drawn as a rectangular outline | Replaceable via a configuration file in a future release |
| O-20 | 50-step undo/redo | Limited | Undo operates on route vertices | Full state history requires an immutable model |
| Requirement | Status | Evidence |
| DTM import in ≥ 2 formats | Met | ASCII Grid, XYZ/CSV + synthetic terrain |
| Sizing consistent with the normative profile | Met | 0 violations across 75 checks, PL and DE profiles |
| Scaled printing, including distorted scale, ±0.1 % | Met | Measured error 0.000000 % on profile and cross section |
| Vector PDF without rasterisation | Met | No /Subtype /Image objects in the stream |
| Simulation continuity error < 1 % | Met | 0.0000 % over 720 steps, Cr_{max} = 0.462 |
.drnx save and load without data loss | Met | SHA-256 of inputs recorded in the manifest |
| Reproducibility of computation | Met | Engine version + profile hash + input hash |
| Offline operation after first load | Met | No dependencies, no CDN |
| Deployment as a static build without a server | Met | wrangler pages deploy . |
| 100-manhole scheme from drawing to PDF in < 20 min | Met | Six-step path described in the tutorial |