Physics / Cosmology / Simulation
Fictional Planetary Consequence Simulation: Causal Architecture and Visual Evolution
Report summary
The development of a robust, reproducible, and educational planetary simulation for fictional nuclear events demands a rigorous separation of deterministic physical modeling from generative narrative synthesis. To fulfill this requirement without presenting the system as a highly classified weapons-
Key topics
- Physics / Cosmology / Simulation
- Physics
- Cosmology
- Simulation
- AI
- WordPress
- .NET
- Python
- Semantic Systems
Research provenance
For citation, use the report title and canonical URL. Archival presence does not establish authorship or promote report statements into portfolio evidence.
This page renders the archived Markdown as safe, formatted HTML. It is background research and does not become a portfolio claim without evidence review.
Full report
The development of a robust, reproducible, and educational planetary simulation for fictional nuclear events demands a rigorous separation of deterministic physical modeling from generative narrative synthesis. To fulfill this requirement without presenting the system as a highly classified weapons-effect calculator, the architecture relies on a neuro-symbolic design paradigm1. This framework integrates a deterministic computational core—leveraging hybrid System Dynamics (SD) and Agent-Based Modeling (ABM)3—with a constrained large language model (LLM) that translates the resulting mathematical state into qualitative educational narratives. Furthermore, the visual rendering of these consequences requires specialized WebGL and WebGPU pipelines capable of deterministic, age-driven volumetric transformations that communicate environmental and societal impacts without resorting to hyper-realistic gore or scientifically authoritative damage assessments5.
Part 1: Causal Model Overview and System Architecture
The causal architecture functions as a unidirectional pipeline, strictly isolating user interactions from the calculation of consequence states. This layered approach guarantees that the simulation state is derived exclusively from a minimal set of initiating variables interacting with enriched geospatial datasets, preventing the user from manually dictating outcomes.
1. Authoritative Input Record: This initial layer captures and locks the minimal user inputs (site selection, inherited coordinates, simulation date, scenario branch, and abstract event/weapon class). It strictly prohibits direct manipulation of consequence parameters, acting as the immutable seed for the subsequent deterministic execution.
2. Site-Context Enrichment: The system queries bounded geospatial datasets to populate the initial state with underlying population densities, infrastructure resilience, economic status, institutional robustness, and environmental biomes. Missing data is handled via regional median fallbacks to guarantee a fully populated starting graph.
3. Event-Profile Selection: The architecture translates the abstract event class (e.g., high-altitude EMP, surface detonation) into a qualitative physics profile. This establishes the relative initial intensities of blast, thermal, and radiation signals without relying on precise, classified device designs.
4. Immediate Consequence Calculation: Computes the instantaneous spatial overlaps between the event profile and the site context. Using deterministic spatial decay functions, this layer derives the immediate infrastructural destruction and abstract casualty zones.
5. Cascading System Effects: A hybrid SD and ABM engine models the multi-layer infrastructure failures3. It calculates how the loss of power cascades into water, communications, and transport networks, while agent-based logic determines population displacement vectors based on resource scarcity.
6. Time-Evolution Engine: Advances the simulation state through discrete event ticks. To prevent state desynchronization between continuous SD flows and discrete ABM events, the engine utilizes conservative time management algorithms (consistent with IEEE 1516 High Level Architecture principles)10.
7. Uncertainty and Confidence Layer: Quantifies missing data and model assumptions, propagating epistemic and aleatory uncertainty through the system in alignment with NASA-STD-7009 credibility assessment guidelines12.
8. Visual-State Derivation: Translates the quantitative, multidimensional simulation state into abstract rendering instructions (e.g., normalized intensity channels for smoke, infrastructure loss, and displacement) suitable for the client's graphics engine.
9. Narrative Explanation: Passes the deterministic state graph to a constrained LLM. The AI synthesizes causal chains and educational summaries based exclusively on the verified output state, functioning purely as a read-only explainer.
10. Audit and Replay Record: Serializes the entire execution branch—including initial inputs, external datasets utilized, random seeds, and transition logic—into a JSON-LD format using the PROV-O ontology, guaranteeing exact reproducibility and interoperability14.
Input Versus Derived-Variable Matrix
The integrity of the simulation requires a strict delineation between variables the user controls, variables inherited from the environment, and variables generated by the physics and socio-economic engines.
| ID | Concept | Architectural Classification |
|---|---|---|
| 1 | Target Site Coordinates (Latitude/Longitude) | User Input |
| 2 | Simulation Initialization Date/Time | User Input |
| 3 | Abstract Event or Weapon Class | User Input |
| 4 | Detonation Environment (e.g., Surface, Altitude) | User Input |
| 5 | Current Scenario Branch Identifier | Inherited Scenario Fact |
| 6 | Prior Historical Scenario Events | Inherited Scenario Fact |
| 7 | Baseline Population Density | Dataset Enrichment |
| 8 | Urban vs. Rural Settlement Classification | Dataset Enrichment |
| 9 | Preexisting Infrastructure Resilience/Age | Dataset Enrichment |
| 10 | Local Climate, Wind Vectors, and Topography | Dataset Enrichment |
| 11 | Regional Hospital and Triage Capacity | Dataset Enrichment |
| 12 | Institutional Governance Strength Index | Dataset Enrichment |
| 13 | Pre-event Economic Output (Regional GDP) | Dataset Enrichment |
| 14 | Initial Yield/Energy Approximation Base | Model Assumption |
| 15 | Thermal Radius Environmental Scaling Factor | Model Assumption |
| 16 | Radiation Decay Constants over Time | Model Assumption |
| 17 | Evacuation Speed Constants for Agents | Model Assumption |
| 18 | Infrastructure Cascading Vulnerability Threshold | Model Assumption |
| 19 | Health System Surge Capacity Multiplier | Model Assumption |
| 20 | Abstract Blast Overpressure Zone | Calculated Intermediate |
| 21 | Thermal Ignition Probability Area | Calculated Intermediate |
| 22 | Immediate Communications Outage Zone | Calculated Intermediate |
| 23 | Primary Power Grid Disconnection Footprint | Calculated Intermediate |
| 24 | Initial Affected Population Estimate | Calculated Intermediate |
| 25 | Transportation Chokepoint Identification | Calculated Intermediate |
| 26 | Atmospheric Particulate Volume | Calculated Intermediate |
| 27 | Local Water Supply Contamination Level | Calculated Intermediate |
| 28 | Emergency Responder Depletion Rate | Calculated Intermediate |
| 29 | Immediate Casualties (Qualitative Banding) | Calculated Output |
| 30 | Infrastructure Disruption Duration | Calculated Output |
| 31 | Cascading Power Outage Horizon | Calculated Output |
| 32 | Telecommunications Decay and Restoration | Calculated Output |
| 33 | Potable Water Scarcity Level | Calculated Output |
| 34 | Food Supply Chain Disruption | Calculated Output |
| 35 | Health-System Collapse Threshold Timing | Calculated Output |
| 36 | Displaced Population Volume | Calculated Output |
| 37 | Refugee Migration Vectors | Calculated Output |
| 38 | Governance Continuity Status | Calculated Output |
| 39 | Institutional Command Failure Rate | Calculated Output |
| 40 | Misinformation Spread / Panic Level | Calculated Output |
| 41 | Economic Activity Suspension Magnitude | Calculated Output |
| 42 | Diplomatic Escalation/Isolation Posture | Calculated Output |
| 43 | Military Escalation Response Velocity | Calculated Output |
| 44 | Environmental Contamination Persistence | Calculated Output |
| 45 | Long-Term Habitability Status | Calculated Output |
| 46 | Regional Recovery Capacity / Timeline | Calculated Output |
| 47 | Time Phase Transition Triggers | Calculated Output |
| 48 | Qualitative Uncertainty Confidence Score | Calculated Output |
| 49 | Causal Chain Narrative Summarization | Narrative Explanation Only |
| 50 | Scenario Extrapolation Warnings / Education | Narrative Explanation Only |
Consequence Domains and Interdependencies
The simulation relies on a technology-neutral consequence model evaluating interconnected socio-technical domains. Because power networks, communication systems, and transportation logistics form multi-layer interdependent networks, the failure of a single node in one layer invariably precipitates cascading failures across others9. The domains are processed sequentially in the time-evolution engine to accurately model load redistribution and subsequent failure cascades17.
| Consequence Domain | Core Dependencies | Time Behavior |
|---|---|---|
| Immediate Event Signal | Event class, detonation environment, local topography. | Instantaneous onset at T+0, acting as the initiating shock boundary. |
| Surface and Atmospheric Conditions | Weather data, biome type, event profile. | Peaks within minutes; fallout distributes over hours; particulate haze persists globally for months. |
| Critical Infrastructure | Blast radius, pre-existing structural resilience. | Instantaneous failure; extremely slow recovery (months to years). |
| Power and Communications | Critical infrastructure state, EMP profile. | Cascading failure across seconds to hours8; prolonged outage depending on recovery capacity. |
| Transport and Logistics | Power availability, physical infrastructure, population. | Initial physical blockage, followed by severe logistical gridlock as displaced populations flood arteries within hours. |
| Water and Food Systems | Transport logistics, power grid (for pumping). | Local reserves last 48–72 hours; severe, non-linear scarcity accelerates thereafter. |
| Health-System Pressure | Power, transport, casualty volume, supply chains. | Rapid surge at T+1 hour; systemic collapse highly probable within Days 2–7 as supplies deplete18. |
| Population Displacement | Transport, water/food scarcity, environmental toxicity. | Initiates hours after the event, swelling continuously over weeks as uninhabitable zones are abandoned. |
| Institutional Continuity | Communications integrity, physical survival of command. | Immediate degradation; potential fragmentation into localized, disconnected authority over weeks. |
| Information Integrity | Communications, governance strength. | Misinformation peaks in the days following the event; decays slowly as official channels are restored. |
| Economic Disruption | Infrastructure, population density, logistics. | Instantaneous localized halt; regional cascading recession lasting years. |
| Diplomatic Response | Event attribution, prior geopolitical conflict state. | Evolves from immediate statements of support/condemnation to long-term embargoes or aid deployments (Weeks 2–4). |
| Military Escalation | Diplomatic response, command continuity. | Highly volatile in the first 24 hours; solidifies into protracted mobilization or de-escalation by Day 7\. |
| Environmental Persistence | Event class, local climate, hydrology. | Decays exponentially but lingers significantly beyond the simulation's active societal crisis phases. |
| Recovery Capacity | Economics, governance, diplomatic aid. | Stagnant during early phases; begins positive trajectory only in the long-term phase (Months 6+). |
Dynamic Time-Phase Model
In traditional simulations, a single, arbitrary "horizon" defines the timeline. To ensure causal accuracy, this architecture defines dynamic phase boundaries dictated by the event's scale, the regional context, and the resulting cascading failures. An event in a highly isolated region stretches the "First Hours" chaos into days due to a lack of immediate external intervention.
- Immediate (T+0 to T+1h): Dominated by physics. Shockwaves, thermal pulses, loss of electromagnetic signal. The state graph is heavily weighted toward deterministic spatial overlap.
- First Hours (T+1h to T+12h): Realization and acute reaction. Unorganized evacuation, grid instability, first responder mobilization. ABM agent behavior dominates this phase.
- First Day (T+12h to T+24h): The boundary of local self-reliance. Medical capacity reaches its peak surge; early signs of systemic cascading failures appear as backup generator fuels deplete.
- Days 2–7 (The Cascade Phase): Water reservoirs empty, logistics freeze, and mass migration begins. For smaller events, stabilization may begin here. For major events, this phase marks complete socio-technical systemic collapse.
- Weeks 2–4 (The Institutional Phase): External aid arrives, military or federal governance supersedes local authority, and displacement centers establish permanence.
- Months 2–6 (The Stabilization Phase): Re-establishment of basic perimeters, organized decontamination efforts, and long-term economic assessment.
- Long-Term Recovery (Months 6+): Shift from crisis management to chronic adjustment. Permanent demographic shifts and infrastructure redesign become the primary simulation outputs.
Causal-Chain Contextual Examples
The deterministic model inherently diverges based on site context. The following non-operational, qualitative examples demonstrate how identical abstract event classes yield radically different simulated outcomes:
1. Dense Urban Region vs. Remote Region: An event over a megacity triggers a massive ABM displacement wave, causing multi-state logistical gridlock and instantly collapsing regional health systems. The same event in a remote region causes minimal displacement but features a prolonged environmental persistence phase due to a lack of accessible cleanup infrastructure.
2. Strong Infrastructure vs. Fragile Infrastructure: A metropolis with buried power and distributed smart-grid topology contains cascading power failures within a 50 km radius. A city with fragile, highly centralized infrastructure experiences a total cascading grid failure spanning 500 km, leading to a secondary crisis of water purification.
3. Coastal vs. Inland Context: A coastal event contaminates port logistics, halting global maritime shipping lanes and accelerating regional economic disruption. An inland event isolates the contamination but relies heavily on highly vulnerable highway choke points for mass evacuation.
4. Isolated Event vs. Preexisting Conflict: An event in a politically stable zone prompts rapid, unified diplomatic aid. An event in a conflict zone triggers rapid military escalation, as fragmented command structures interpret the event as a preemptive strike, actively blocking humanitarian corridors.
5. Single Event vs. Broader Exchange: A single event results in targeted national resource allocation to the affected zone. A broader exchange exhausts national resources instantly, forcing local institutional continuity to operate entirely independently for months.
6. Robust Institutions vs. Fragmented Governance: A region with high institutional governance manages structured evacuations, reducing panic and maintaining information integrity. Fragmented governance collapses entirely, allowing misinformation to drive chaotic, fatal displacement vectors into uninhabitable biomes.
Deterministic Core and AI Explanation Boundary
The simulation enforces a strict neuro-symbolic separation to mitigate AI hallucination in mission-critical education systems1. Generative models predict the most statistically likely linguistic output, which introduces unacceptable stochastic variance into mathematical consequence modeling. Therefore, the architecture dictates that the LLM functions purely as a downstream interpreter. The Deterministic Engine Owns: All state generation, variable calculation, spatial decay, timing, routing, casualty estimation, and multi-layer infrastructure network logic. The engine produces a finalized JSON-LD state graph14. The Optional Language Model May:
- Summarize the derived JSON-LD output graph into natural prose.
- Explain the causal chains explicitly present in the data (e.g., "The water supply failed on Day 3 because the power grid cascade removed pumping capacity").
- Identify sources of uncertainty by reading the assumption ledger.
- Compare divergent branches side-by-side using the data structures provided.
The Optional Language Model Must Not:
- Invent authoritative states, numerical estimates, or geographic events not present in the JSON-LD payload.
- Change computed values to enhance narrative drama.
- Override safety boundaries or generate operational targeting, blast, or weapons-effect data.
- Silently alter the simulation's underlying assumptions.
Fallback Behavior: If the LLM provider experiences an outage, high latency, or returns output failing structural verification, the UI defaults to rendering the deterministic state via standard, templated string components. The visual and numerical simulation remains fully operational without the AI narrative layer.
Uncertainty Model and Assumption Ledger
Because the simulation relies on incomplete real-world data and qualitative approximations, transparently conveying uncertainty is paramount. Grounded in the NASA-STD-7009 guidelines for Models and Simulations12, the uncertainty model tracks multiple dimensions of credibility:
- Missing Data: Flagged when geospatial enrichment fails (e.g., unknown regional hospital capacity), triggering median fallback values.
- Model Uncertainty (Epistemic): Inherent limitations in the rulesets (e.g., abstract blast radius formulas replacing fluid dynamics).
- Scenario Uncertainty (Aleatory): Natural variability in population distribution (e.g., day vs. night populations at the time of the event).
- Confidence Ranges: Outputs are generated as qualitative bounds (e.g., "Displacement: High") rather than precise integers, preventing false precision.
These factors populate a user-facing Assumption Ledger. This UI component lists all deterministic assumptions utilized during the run (e.g., "Assumed weather: clear," "Assumed governance response: nominal"). Users can inspect this ledger to understand the qualitative confidence of the current simulation branch, aligning with the "Input Pedigree" and "Results Robustness" criteria of NASA's Credibility Assessment Scale13.
Reproducibility Contract and Determinism
Simulations must be historically replayable and scientifically consistent. Given the cross-platform nature of web applications, hardware differences—specifically IEEE-754 floating-point standard variations in JavaScript and the presence or absence of Fused Multiply-Add (FMA) instructions—can lead to butterfly-effect divergences in ABM engines over thousands of simulation ticks21. To guarantee an ironclad reproducibility contract:
1. Strict Seed Management: All stochastic processes rely on a seeded pseudo-random number generator (PRNG), such as Mulberry32 or PCG32, initialized with the branch's unique hash23. Math.random() is strictly prohibited throughout the codebase.
2. Floating-Point Determinism: The engine utilizes fixed-point arithmetic or strict software-defined math libraries for critical calculations (e.g., agent distances, decay rates) to prevent platform-specific rounding deviations across operating systems26.
3. Model Versioning: The exact semantic version of the rule engine and the underlying dataset hash are stored in the state. Older branches execute using their original logic versions, ensuring historic replays do not drift when the engine is upgraded.
4. Narrative Isolation: Provider-generated narrative differences are excluded from the state hash. The narrative is a downstream derivative; a change in LLM wording does not constitute a new simulation state and does not break branch reproducibility.
Result Schema (PROV-O/JSON-LD)
The output relies on a JSON-LD data structure leveraging the W3C PROV-O ontology to maintain a strict, interoperable provenance graph14.
JSON { "@context": \["https://schema.org/", "http://www.w3.org/ns/prov\#"\], "@type": "prov:Entity", "eventIdentity": "UUID-9876-5432", "branchIdentifier": "branch-omega", "replayIdentifier": "seed-mulberry-42", "provenance": { "@type": "prov:Activity", "modelVersion": "2.1.0", "datasetHash": "sha256-abc123xyz", "executionDate": "2026-07-31T06:00:00Z" }, "inputFacts": { "site": {"lat": 48.8566, "lon": 2.3522}, "date": "2026-11-01T12:00:00Z", "eventClass": "abstract-surface-yield" }, "assumptions": \[ {"domain": "weather", "value": "nominal-clear", "confidence": "high"}, {"domain": "infrastructure", "value": "fragile", "confidence": "medium"} \], "phaseTimeline": { "immediate": {"endTime": 1}, "firstDay": {"endTime": 24}, "cascadePhase": {"endTime": 168} }, "causalOutputs": { "infrastructure": {"powerGridLoss": "severe", "commsLoss": "moderate"}, "population": {"displacementVolume": "high", "displacementVectors": \[0.4, 0.8\]} }, "uncertainty": { "overallConfidence": "moderate", "contestedVariables": \["hospitalCapacity"\] }, "visualEffectInstructions": { "plumeIntensity": 0.85, "surfaceStressRadius": 65.0 }, "explanation": { "summary": "LLM-generated contextual summary of the cascading failure...", "llmVersion": "gpt-4-0613" } }
Validation Framework
To validate qualitative models that lack complete real-world ground truth (and where producing such truth is ethically impossible), the architecture employs a rigorous multi-tiered validation methodology:
1. Unit-Level Rule Testing: Isolated tests verifying individual SD equations and ABM agent logic.
2. Conservation and Boundedness Checks: Asserts that displaced persons do not exceed the underlying population, and that infrastructure cannot degrade below 0% functionality.
3. Monotonicity Tests: Ensures that destructive physical effects (e.g., radiation, thermal heat) decay over distance and time, never spontaneously intensifying without a secondary causal trigger.
4. Scenario Invariants: Tests that a zero-yield or null-class event produces exactly zero consequences across all domains.
5. Expert Review: Structured walkthroughs with subject matter experts to validate the plausibility of derived causal chains.
6. Sensitivity Analysis: Perturbations applied to input variables to ensure the model does not exhibit volatile, non-linear collapse over trivial input changes (avoiding chaotic attractors in the SD model).
7. Counterfactual Comparison: Automated generation of parallel branches altering a single variable (e.g., dense vs. sparse population) to ensure relative outcomes match expected theoretical behavior.
8. Regression Fixtures: A comprehensive suite of historical outputs that must match byte-for-byte upon any engine refactor.
9. Deterministic Replay: Unit tests enforcing that identical seeds yield bit-for-bit identical JSON-LD outputs across differing CPU architectures (ARM vs. x86).
10. Visual-Output Consistency: Automated headless rendering checks (e.g., via Puppeteer) comparing output pixels against baseline regression fixtures using Structural Similarity Index Measure (SSIM).
Acceptance Criteria (Architecture)
The following criteria govern the successful implementation of the causal architecture.
| ID | Category | Acceptance Criteria |
|---|---|---|
| 1.1 | Input Bounds | No field chosen by the user may directly set a consequence that should be calculated by the model. |
| 1.2 | Input Bounds | The system must accept only site coordinates, date, branch ID, event class, and detonation environment as inputs. |
| 1.3 | UI Enforcement | The UI must not provide sliders or direct inputs for "casualty count," "destruction radius," or "recovery time." |
| 1.4 | Data Enrichment | Geospatial data extraction must successfully complete within 2 seconds of coordinate lock. |
| 1.5 | Missing Data | Missing geospatial data must automatically substitute global median values and flag the assumption ledger. |
| 1.6 | Immutability | The system must lock inputs immutably upon simulation execution; further edits generate a new branch. |
| 1.7 | Branching | Scenario branch IDs must derive cryptographically from the parent branch plus the new event hash. |
| 1.8 | State Inheritance | Inherited scenario facts must correctly load pre-existing infrastructure damage from prior events. |
| 1.9 | Date Constraints | The date input must seamlessly accommodate historical, current, and future dates up to the year 2100\. |
| 1.10 | Edge Cases | Invalid coordinates (e.g., Null Island, deep ocean without targets) must be handled gracefully. |
| 1.11 | Validation | The simulation must reject event classes not explicitly defined in the core qualitative schema. |
| 1.12 | Computation | The deterministic engine must resolve all time phases continuously without user intervention. |
| 1.13 | Time Engine | The time-evolution engine must support discrete tick advances (e.g., 1 hour per tick) for ABM resolution. |
| 1.14 | Spatial Logic | Spatial overlap calculations must use geodetic distance (WGS84) to account for planetary curvature. |
| 1.15 | Boundaries | System Dynamics feedback loops must cap negative flows to prevent below-zero resource accumulation. |
| 1.16 | ABM Bounds | Agent-Based macroscopic approximations must cap total displacement at 100% of the local baseline population. |
| 1.17 | Causal Chains | Total power loss must causally trigger water system degradation within 48 simulated hours. |
| 1.18 | Causal Chains | Transportation gridlock must actively reduce health-system recovery and supply replenishment rates. |
| 1.19 | Physics | Environmental persistence variables must decay monotonically over time. |
| 1.20 | Event Profiles | High-altitude detonations must produce broader EMP/infrastructure effects than surface detonations. |
| 1.21 | Event Profiles | Surface detonations must produce higher localized environmental persistence than high-altitude detonations. |
| 1.22 | Economics | Economic disruption variables must scale non-linearly with the baseline GDP density of the affected urban area. |
| 1.23 | Institutions | Institutional continuity must degrade exponentially faster if local communications infrastructure fails. |
| 1.24 | Performance | The simulation must complete a full 365-day calculation in under 5 seconds of wall-clock time on average hardware. |
| 1.25 | Compounding | Multiple independent events must compound infrastructure stress additively or multiplicatively based on domain rules. |
| 1.26 | Time Sync | The framework must implement conservative time management to synchronize SD and ABM modules precisely. |
| 1.27 | AI Boundaries | The LLM prompt must strictly contain only the validated JSON-LD state data and system context. |
| 1.28 | AI Output | The LLM must not generate casualty statistics if the JSON-LD state provides only qualitative bands ("High"). |
| 1.29 | AI Validation | The LLM JSON/text output must be structurally validated before display in the UI. |
| 1.30 | Hallucinations | If the LLM generates hallucinated data (e.g., unlisted cities), the system parser must reject the response. |
| 1.31 | AI Capabilities | The LLM must successfully identify causal links (e.g., stating power loss caused hospital failure). |
| 1.32 | Fallbacks | The system must load standard deterministic templates if the LLM API times out after 3000ms. |
| 1.33 | AI Security | The LLM must be air-gapped from internet access to prevent it from supplementing simulation state with external news. |
| 1.34 | Disclaimers | The AI explanation must explicitly note the simulation's fictional, qualitative, and educational nature. |
| 1.35 | Dynamic UI | Narrative explanations must change dynamically if the user shifts between defined time phases. |
| 1.36 | AI Constraints | The LLM must not alter the numeric visual-effect instructions designated for the graphics engine. |
| 1.37 | Reproducibility | Executing the same input payload with the same PRNG seed must produce identical JSON-LD outputs. |
| 1.38 | Cross-Platform | Executing the simulation on a mobile ARM processor and a desktop x86 processor must yield bit-for-bit identical state outputs. |
| 1.39 | Schema | The state output must strictly validate against the PROV-O based JSON schema. |
| 1.40 | Versioning | Upgraded model versions must not overwrite historic branches; historic branches must execute using historic rule logic. |
| 1.41 | Auditing | The assumption ledger must accurately log all default dataset fallbacks used during the calculation. |
| 1.42 | Uncertainty | Uncertainty ranges and epistemic limitations must be explicitly documented in the JSON output. |
| 1.43 | UI Comparison | A counterfactual comparison of two branches must clearly highlight the diverging variables in the UI. |
| 1.44 | Testing | Monotonicity tests must pass for all radiation/thermal decay variables during CI/CD. |
| 1.45 | Testing | Conservation checks must prevent population duplication across adjacent regions. |
| 1.46 | Testing | Scenario invariant tests must strictly pass for zero-yield mock events (resulting in a blank state). |
| 1.47 | Versioning | Model versions must strictly adhere to Semantic Versioning (SemVer) guidelines. |
| 1.48 | Provenance | The state payload must include a cryptographic SHA-256 hash of the input parameters. |
| 1.49 | Portability | The reproducibility contract must hold across all major browsers (Chrome, Safari, Firefox, Edge). |
| 1.50 | Testing | Regression fixtures must cover at least 20 diverse geographical biomes and contexts. |
| 1.51 | Schema Spec | The @context key must correctly resolve to the standardized simulation schema URLs. |
| 1.52 | Identifiers | Each distinct event execution must receive a unique eventIdentity UUID. |
| 1.53 | Completeness | The causalOutputs object must contain populated data for all 15 defined consequence domains. |
| 1.54 | Timeline | The phaseTimeline object must calculate dynamic phase lengths rather than static, hardcoded integer bounds. |
| 1.55 | Graphics API | The visualEffectInstructions must map purely to normalized floats (0.0 to 1.0) for shader consumption. |
| 1.56 | Auditing | The system must implement an audit logging mechanism for AI token usage and prompt history. |
| 1.57 | Threading | The architecture must not use any blocking synchronous API calls during state calculation on the main thread. |
| 1.58 | Memory | Data pipeline structures must use immutable state copies to prevent cross-tick contamination. |
| 1.59 | Error Handling | Error boundaries must catch and report engine failures without crashing the host application. |
| 1.60 | Interoperability | The output JSON-LD must be fully compatible with external graph database ingestion. |
Part 2: Time-Evolving Nuclear Consequence Visuals and Globe Transitions
Visualizing planetary consequences requires a delicate balance between scientific representation and qualitative educational abstraction. The planet's imagery must evolve based strictly on simulated time, rather than wall-clock animation. To achieve performance and accessibility, the rendering architecture utilizes multi-layer compositing, volumetric impostors, and precomputed atmospheric scattering, deliberately avoiding hyper-realistic gore or precise weapons-effect visualizations in favor of abstract consequence layers.
Visual-Effect Taxonomy
The globe compositing engine separates consequence effects into distinct, deterministically rendered layers. Each layer corresponds to specific variables within the visualEffectInstructions of the JSON-LD payload.
| Layer | Purpose | Geometry | Altitude / Surface | Opacity & Scale Behavior | Persistence | Compositing & Fallbacks |
|---|---|---|---|---|---|---|
| Flash | Initial kinematic energy release. | Full-screen post-process bloom. | Screen space. | Spikes to 1.0 instantly; decays exponentially over seconds. | Seconds. | Topmost. Fallback: Simple opacity fade. |
| Pulse/Shock | Illustrates the kinematic pressure wave. | Spherical decal (WGS84 reconstructed)28. | Surface draped. | Opacity decays while scale grows logarithmically. | Minutes. | Additive blend. Fallback: 2D expanding sprite. |
| Local Surface Mark | Represents total infrastructural annihilation. | Multi-resolution texture decal. | Surface draped. | Opacity fades in; scale remains fixed. | Permanent. | Multiply blend. Fallback: Low-res decal. |
| Regional Surface Stress | Denotes cascading infrastructure loss and displacement. | Procedural shader mask over base Earth imagery. | Surface draped. | Opacity tied to SD infrastructure cascade; grows over days. | Months to Years. | Desaturation/Tint. |
| Smoke/Plume | Initial fires and particulate lift. | Raymarched volume or volumetric impostors5. | Troposphere to Stratosphere. | Scale grows, edges diffuse, opacity decays over days. | Days. | Alpha blend. Fallback: 2D Particle system. |
| Cloud Corridor | Atmospheric transport of fallout/particulates. | Spline-based textured mesh. | Stratosphere. | Drifts laterally; opacity decays; scale expands. | Weeks. | Alpha blend. Fallback: Billboard trail. |
| Illustrative Dispersion | Heatmaps for unseen variables (radiation, displaced populations). | Vector lines / GeoJSON polygons. | Raised slightly above surface. | Toggled by user; scales with variable intensity. | User-toggled. | Overlay. Accessible Okabe-Ito colors30. |
| Atmospheric Haze | Particulate injection causing dimming. | Precomputed Atmospheric Scattering shell (Bruneton)7. | Global atmosphere. | Opacity increases globally over weeks; decays over years. | Months to Years. | Additive scattering. Fallback: Vertex-shader tint. |
| Planetary Dimming | Shifts in global temperature/climate. | Post-process color lookup table (LUT). | Screen space. | Interpolates to cooler LUT over weeks. | Years. | Post-process. Fallback: Screen-space tint. |
| Infrastructure Disruption | Visualization of lost power grids. | Additive/subtractive blending on night-texture. | Surface (Night-side only). | Subtractive mask grows over days based on SD state. | Months. | Subtractive blend. |
| Recovery | Cues of rebuilding (new lights, receding stress). | Texture blending. | Surface. | Opacity slowly increases after stabilization phase. | Long-term. | Additive blend. |
| Event Symbols/Labels | UI markers for epicenter and phase. | Screen-space HTML/SVG or WebGL billboards. | Screen space. | Fixed opacity; scales based on camera zoom. | Permanent. | Topmost UI. High contrast text. |
Simulated-Day Storyboard
The globe's appearance derives directly from the authoritative simulation date. The transition of layers tells the educational story of the event.
| Time Point | Globe Appearance & Surface Effects | Plume & Atmosphere | Event Markers, Legends & UI |
|---|---|---|---|
| T+0 | Flash blooms the screen. Shock ring expands rapidly. | No plume visible yet. | Event marker drops. Phase: "Immediate". |
| T+6 Hours | Flash gone. Night-side rendering shows a stark, immediate blackout of local city lights. | Dense, high-altitude volumetric plume sits stationary over the site. | Legend active. UI notes loss of local communications. |
| Day 1 | Local surface mark (the scar) is fully opaque and permanent. | Plume begins to sheer laterally, forming the cloud corridor. | Phase: "First Day". |
| Day 3 | Regional stress mask begins to form. | Cloud corridor stretches hundreds of kilometers. | Dispersion overlays show spreading displacement. |
| Day 7 | Regional surface stress (desaturation) expands to maximum extent. | Main plume dissipates. Corridor fades into general atmospheric haze. | Phase: "Days 2-7". Health-system pressure indicators flash. |
| Day 14 | Night-light blackouts remain total over a wide area. | Hemispheric atmospheric dimming becomes visibly noticeable. | UI explains cascading failures reaching peak. |
| Day 30 | Vast, desaturated regional stress zone marks the economic dead zone. | Cloud corridors gone. The planet looks noticeably dimmer globally. | Phase: "Weeks 2-4". |
| Day 90 | Edges of the regional surface stress blur and slightly shrink. | Atmospheric haze remains static. | Phase: "Months 2-6". Recovery UI begins to populate. |
| Day 180 | Minor night-lights flicker back on the periphery of the stress zone. | Atmospheric haze begins to clear, restoring base coloration. | Legend highlights early stabilization efforts. |
| Day 365 | Surface mark remains prominent. Regional stress zone reduced to persistent footprint. | Atmosphere is clear. The globe reaches a new, altered equilibrium. | Phase: "Long-term Recovery". |
Transition Curves
Animations driven by continuous wall-clock time break deterministic replay. Instead, all visual states are calculated as a mathematical function of the event's age ([Figure omitted from source export]).
- Fade-in / Flash: Dirac delta function or extremely steep exponential decay ([Figure omitted from source export]) for rapid onset.
- Radius Growth: Logarithmic curve ([Figure omitted from source export]), growing rapidly initially and plateauing as kinetic energy dissipates.
- Plume Rise & Drift: Linear functions of [Figure omitted from source export] for position, coupled with exponential decay for volumetric density.
- Edge Diffusion: Gaussian blur radius increases proportionally to [Figure omitted from source export], softening boundaries over time to represent atmospheric mixing.
- Decay & Recovery: Sigmoid (logistic) curves. Recovery remains at nearly [Figure omitted from source export] until a threshold time is reached, then follows an S-curve back toward baseline, allowing gradual, natural-looking transitions rather than abrupt opacity toggles.
Why Opacity Alone is Insufficient: Changing opacity alone is mathematically lazy and visually inaccurate; a smoke plume fading out while remaining perfectly still looks like a fading photograph, not a physical phenomenon. To convey physical dispersion, the plume must simultaneously increase its spatial scale, lower its relative altitude, soften its texture boundaries via edge diffusion, and drift laterally as its opacity drops.
Event-Profile Differences
While the simulation is strictly qualitative, visual profiles must vary to reflect different scenarios based on the user's initial selection:
- Surface-Level Event: Characterized by a large permanent surface mark, a dense local cloud corridor containing heavy particulate matter, and high desaturation of the regional stress layer.
- High-Altitude Event: Minimal surface mark. Massive, immediate EMP blackout of night-lights spanning a massive radius. Widespread, thin atmospheric haze rather than a dense local plume.
- Underground Event: Highly localized surface mark. Almost no atmospheric plume or global haze. No cloud corridor is generated.
- Underwater Event: No permanent surface scar on the terrain. A massive, rapidly dispersing cloud corridor (representing steam/water vapor). Coastline regional stress applied due to modeled tsunami effects.
- Broader Exchange (Multi-event): Planetary dimming (LUT grading) aggressively triggers. The aggregate atmosphere turns noticeably gray/brown. Massive, contiguous regional stress masks envelop entire continents.
Surface-Image Transitions
Base Earth imagery cannot abruptly swap textures when transitioning from pristine to damaged without jarring the user and breaking immersion. The architecture mandates:
1. Multi-resolution Texture Blending: Base textures are preserved. A secondary, grayscale "damage" texture is mapped globally but driven by a localized shader mask (a spatial radial gradient centered on the event).
2. Shader-Based Tinting: Instead of loading heavy new textures, fragment shaders desaturate and tint the existing diffuse map based on the event's local intensity channel.
3. Affected-Area Decals: For the immediate local mark, spherical decals (correcting for WGS84 distortion)28 are projected onto the globe's geometry, utilizing alpha-blending with Perlin noise to create organic, irregular edges.
4. Zoom-Level Behavior: At macro levels, procedural shaders apply tinting. As the camera zooms in, level-of-detail (LOD) systems selectively fade in high-resolution decals to maintain texture fidelity.
Multi-Event Composition
When multiple events are triggered on the same globe, the graphics engine must composite them without generating visual chaos or shader artifacting.
- Maximum Active Effect Contributors: The shader limits localized calculations (e.g., volumetric raymarching for specific plumes) to the most recent 16 events to maintain performance budgets. Older events are baked into a global persistent damage texture cache.
- Per-Channel Saturation Limits: Damage cannot exceed 100%. Overlapping regional stress masks use a maximum-blend mode (e.g., max(stressA, stressB)) to prevent overlapping semi-transparent black layers from creating "black hole" artifacts.
- Deterministic Draw Order: Shaders render decals and alpha layers sorted strictly by the event timestamp, then by unique Event ID, ensuring z-fighting does not cause flickering across subsequent replays.
- Aggregate Atmosphere: Individual hazes are summed into a global scalar variable, which drives a single Bruneton atmospheric scattering parameter, ensuring performance and preventing the atmosphere from blowing out to pure white.
Consequence-Layer Monitor (UI)
To provide educational context, the UI includes a Consequence-Layer Monitor—a compact, draggable panel on desktop, or a bottom sheet on mobile.
- Active Event & Phase: Clearly displays the current state (e.g., "Event Alpha — Phase: Days 2-7").
- Simulated Age: "Time since event: 142 hours."
- Playing/Paused State: Clear iconography indicating if the simulation clock is actively advancing.
- Strongest Active Channels: A dynamic bar chart illustrating the driving variables (e.g., "Displacement: 85%", "Atmospheric Haze: 40%").
- Visual Legend: Color swatches matching the WCAG-compliant Okabe-Ito accessible color palette30 (e.g., Orange \= Infrastructure loss, Sky Blue \= Recovery) for all illustrative dispersions.
- Explanation: A brief LLM-derived or rule-based string explaining why the layer looks the way it does (e.g., "Haze is dispersing globally as particulates settle").
Time Controls
The graphics engine is a slave to the authoritative scenario date; it does not maintain its own internal physics clock.
- Play/Pause: Halts the advancement of the simulation date. All particle systems, plume drift, and visual maturity freeze instantly.
- Scrub / Jump / Reverse: Because the visual state is a mathematical function of [Figure omitted from source export], jumping to any date calculates the exact visual state deterministically. There is no requirement to "simulate forward" to reach a future visual state.
- Reduced Motion: Complies with accessibility standards by pausing cloud drift, pulsing indicators, and camera shakes, while preserving the static consequence visualization.
Performance Architecture
To maintain 60 FPS across diverse devices, the rendering engine must degrade gracefully based on hardware capabilities:
- Discrete GPU (Desktop): Full raymarched volumetric clouds5, real-time Bruneton atmospheric scattering7, and high-resolution multi-layered decals.
- Integrated GPU (Laptop): Replaces expensive raymarching with volumetric impostors (pre-rendered billboards dynamically aligned to the camera)29. Lowers atmospheric scattering sample counts.
- Mobile Browser: Uses simple sprite-based particle systems for plumes. Atmospheric scattering is replaced with a standard vertex-shader skybox tint. Decal counts are strictly capped.
- Reduced-Power Mode: Caps framerate at 30 FPS, disables offscreen caching to save memory, and relies purely on 2D texture blending.
- WebXR: Targets 90 FPS stereoscopic rendering by aggressively culling off-screen decals and locking all volumetric effects to low-sample impostors.
Visual Validation Plan
Since visual output must be reproducible and stable across updates:
1. Image-Difference Testing: Headless browsers (Puppeteer) execute specific branches and dates, rendering the canvas and performing a pixel-by-pixel diff against a known baseline. A structural similarity index (SSIM) of \>0.99 is required.
2. Deterministic Date Fixtures: A test suite forces the clock to exact timestamps (e.g., T+86400 seconds) to verify that mathematical interpolation curves output exact opacity floats to the shaders.
3. Layer-Isolation Tests: Renders each consequence domain independently to ensure opacity blending functions do not improperly multiply or hide critical information.
4. Pause and Replay Tests: Verifies that a simulation paused at Day 5, scrubbed to Day 10, and scrubbed back to Day 5 produces a bit-for-bit identical frame buffer.
5. Accessibility Checks: Validates contrast ratios of the Consequence-Layer Monitor and ensures the Okabe-Ito palette is strictly enforced via automated linter checks.
Acceptance Criteria (Visuals)
The following criteria govern the successful implementation of the visual and rendering architecture.
| ID | Category | Acceptance Criteria |
|---|---|---|
| 2.1 | Visual Distinctness | Day 0, Day 3, Day 7, Day 30, and Day 90 must be materially distinguishable visually on the globe. |
| 2.2 | Time Coupling | Visual maturity (opacity, scale, drift) must freeze completely when the simulation time is paused. |
| 2.3 | Deterministic Scrubbing | Scrubbing backward to a previous date must reproduce the exact earlier visual phase without artifacting. |
| 2.4 | Reproducibility | Revisiting the same branch, date, and event must reproduce the exact same visual state on the canvas. |
| 2.5 | UI Separation | Disabling event symbols (UI markers) must leave all physical consequence effects visible on the globe. |
| 2.6 | State Integrity | Disabling consequence layers in the legend must not delete or alter the underlying event state. |
| 2.7 | Transitions | Transitions must cross-fade or use alpha masks; the entire Earth image must never abruptly flash or swap textures. |
| 2.8 | Accessibility | Mobile users must be able to understand the current phase without relying only on color (using iconography and text). |
| 2.9 | Flash Layer | The flash layer must disappear completely within the first simulated minute of the event. |
| 2.10 | Saturation Limits | The regional surface stress layer must use a maximum-blend mode to prevent total blackout from overlapping events. |
| 2.11 | Volumetrics | The plume geometry must scale, soften, and drift as its opacity decays to simulate physical dispersion. |
| 2.12 | Persistence | Long-term surface marks must persist indefinitely throughout the remainder of the simulation timeline. |
| 2.13 | Accessibility | The globe must utilize the Okabe-Ito color palette for all data and dispersion overlays31. |
| 2.14 | Global Effects | The planetary dimming effect must apply globally via a post-process LUT, rather than modifying local textures. |
| 2.15 | Shader Limits | The shader must limit localized intense rendering (e.g., raymarching) to the 16 most recent events. |
| 2.16 | Recovery Visuals | Recovery textures (e.g., returning night lights) must not appear until the stabilization phase is triggered by the SD engine. |
| 2.17 | Hardware Fallbacks | The renderer must detect mobile devices and automatically fall back to volumetric impostors or sprites. |
| 2.18 | Performance | The engine must maintain 60 FPS on standard integrated GPUs during standard playback. |
| 2.19 | Performance | The engine must maintain 30 FPS on standard mobile browsers during standard playback. |
| 2.20 | Memory Budget | Memory usage for consequence textures must not exceed 512 MB. |
| 2.21 | Optimization | Raymarching algorithms must be restricted to tightly fit bounding boxes to optimize GPU cycles. |
| 2.22 | Optimization | Base earth textures must utilize LOD mipmapping to prevent moiré patterns at macro zoom levels. |
| 2.23 | Optimization | Offscreen caching must be utilized for static consequence textures (e.g., the permanent surface mark). |
| 2.24 | Power Efficiency | Reduced-power mode must disable all volumetric raymarching and rely on 2D texture blending. |
| 2.25 | Mathematics | Transition curves must be mathematically continuous (no hard steps in opacity or scale). |
| 2.26 | Determinism | The renderer must not rely on Math.random() for visual effects; all shaders must use the deterministic simulation seed. |
| 2.27 | Atmosphere | Atmospheric scattering must use the precomputed Bruneton model to ensure physically plausible skies34. |
| 2.28 | Asynchrony | The visual engine must accept the JSON-LD state payload asynchronously without blocking the main render thread. |
| 2.29 | Z-Fighting | Z-fighting must be eliminated by strictly ordering decals by event timestamp and unique ID. |
| 2.30 | Context Loss | The WebGL context must handle context-loss events gracefully and restore the exact visual state upon recovery. |
| 2.31 | Educational Tone | The rendering engine must remain explicitly abstract, displaying no hyper-realistic depictions of casualties or specific structural collapses. |
| 2.32 | UI State | The Consequence-Layer monitor must consistently display the active event name and current phase. |
| 2.33 | UI Formatting | The monitor must display the simulated age in human-readable formats (hours, days, months). |
| 2.34 | UI Reactivity | The monitor must dynamically update its bar charts based on the interpolated visual state, not just the discrete tick state. |
| 2.35 | Transport Controls | The user must be able to click a play, pause, and reverse button to control the simulation date. |
| 2.36 | Transport Controls | The user must be able to jump to a specific date via a timeline slider without visual artifacting. |
| 2.37 | Transport Controls | The "Step One Day" button must advance the simulation exactly 24 hours deterministically. |
| 2.38 | Accessibility | The reduced motion toggle must disable all camera shake and rapid flashing. |
| 2.39 | UI Legends | The legend must explicitly explain the visual representations of all active channels. |
| 2.40 | UI Consistency | The LLM narrative panel must correctly reflect the visual phase currently shown on screen. |
| 2.41 | Tooltips | Hovering over a regional stress zone must display a tooltip with qualitative data. |
| 2.42 | CI/CD | Automated image-difference tests must yield an SSIM of \>0.99 for all regression fixtures. |
| 2.43 | Testing | Automated tests must verify that layer isolation rendering functions correctly without cross-layer contamination. |
| 2.44 | Testing | Automated tests must verify that overlap saturation limits cap correctly at 1.0. |
| 2.45 | Responsiveness | The UI must support responsive scaling from 320px width (mobile) to 4K desktop seamlessly. |
| 2.46 | Scrub Performance | The time-slider scrubbing must render frames at a minimum of 15 FPS during the scrub action. |
| 2.47 | Marker Scaling | Event markers must scale dynamically so they are visible at full zoom-out and unobtrusive at full zoom-in. |
| 2.48 | Night Lights | Night-lights must only render on the dark side of the terminator line. |
| 2.49 | Earth Science | The terminator line must accurately reflect the simulated date's seasonal tilt. |
| 2.50 | UX | Hiding the UI must maximize the 3D canvas without triggering a context reset or re-render of the globe. |
| 2.51 | Loading States | The loading screen must indicate parsing of the JSON-LD state to prevent user confusion during large data payloads. |
| 2.52 | Accessibility | All tooltips and floating UI elements must meet WCAG AA contrast ratios. |
| 2.53 | Profile Distinction | Event-profile differences must be visually distinct (e.g., high-altitude EMP vs. surface burst). |
| 2.54 | Edge Cases | Underwater events must strictly not render a terrestrial crater decal on the ocean floor. |
| 2.55 | Profile Effects | High-altitude events must maximize atmospheric dimming parameters relative to surface events. |
| 2.56 | Weather Integration | The cloud corridor spline must align with the global wind-vector map dataset utilized in the site-context enrichment. |
| 2.57 | Geography Math | Cloud corridor generation must handle crossing the antimeridian (180 degrees longitude) without artifacting or snapping. |
| 2.58 | Geography Math | Surface stress decals must handle polar singularities without stretching artifacts. |
| 2.59 | Scope Limits | The application must prominently feature a disclaimer stating it does not present precise real-world targeting calculations. |
| 2.60 | Scope Limits | The legend must include a disclaimer that the simulation is an educational qualitative tool. |
| 2.61 | Sync | The visual state date must strictly match the deterministic engine's state date at all times. |
| 2.62 | Time Reversal | Reversing time must shrink the surface stress masks exactly according to the inverse of their growth curve. |
| 2.63 | Time Reversal | Reversing time must gradually restore previously blacked-out night lights. |
| 2.64 | Time Reversal | Reversing time past T+0 must remove the event and all associated decals entirely from the globe. |
| 2.65 | Camera Logic | The camera must automatically pan to the event epicenter upon initial detonation, unless the user overrides. |
| 2.66 | Camera Logic | The camera must smoothly interpolate between locations if multiple events detonate sequentially. |
| 2.67 | Transitions | Post-process color grading must smoothly interpolate LUTs over a minimum of 60 frames. |
| 2.68 | Export | The user must be able to export a screenshot of the current visual state with the legend automatically attached. |
| 2.69 | UX | The system must display a warning if the WebGL hardware falls back to software rendering. |
| 2.70 | CI/CD | The complete visual validation pipeline must run continuously in the deployment environment. |
Works cited
1. Neuro-Symbolic AI \- WALT AI, https://www.thewalt.ai/neuro-symbolic-ai
2. What is Neurosymbolic AI? No Hallucinations by Design | Kognitos, https://www.kognitos.com/blog/what-is-neurosymbolic-ai/
3. System Dynamics versus Agent-Based Modeling: A Review of Complexity Simulation in Construction Waste Management \- MDPI, https://www.mdpi.com/2071-1050/10/7/2484
4. hybrid simulation in construction, https://informs-sim.org/wsc23papers/117.pdf
5. WIP Real-time volumetric clouds in OpenGL : r/GraphicsProgramming \- Reddit, https://www.reddit.com/r/GraphicsProgramming/comments/1udi2i9/wip\_realtime\_volumetric\_clouds\_in\_opengl/
6. Real-time dreamy Cloudscapes with Volumetric Raymarching \- The Blog of Maxime Heckel, https://blog.maximeheckel.com/posts/real-time-cloudscapes-with-volumetric-raymarching/
7. ebruneton/precomputed\_atmospheric\_scattering: This project provides a new implementation of our EGSR 2008 paper "Precomputed Atmospheric Scattering". \- GitHub, https://github.com/ebruneton/precomputed\_atmospheric\_scattering
8. Cyber Attacks on Power Grids: Causes and Propagation of Cascading Failures \- IEEE Xplore, https://ieeexplore.ieee.org/iel7/6287639/10005208/10256104.pdf
9. Higher-Order Network Approach for Modeling Cascading Failure in Urban Critical Infrastructure | ASCE-ASME Journal of Risk and Uncertainty in Engineering Systems, Part A, https://ascelibrary.org/doi/10.1061/AJRUA6.RUENG-1750
10. Simulation of Systems of Systems \- AerospaceLab, https://aerospacelab.onera.fr/sites/default/files/2024-01/AL04-14\_0.pdf
11. Design and implementation of time management service for IEEE 1516 HLA/RTI., https://www.researchgate.net/publication/221113099\_Design\_and\_implementation\_of\_time\_management\_service\_for\_IEEE\_1516\_HLARTI
12. NASA Models & Simulations (M\&S), https://faa.niar.wichita.edu/Portals/0/NASA%20Models%20and%20Simulations.pdf
13. STANDARD FOR MODELS AND SIMULATIONS \- NASA Technical Reports Server, https://ntrs.nasa.gov/api/citations/20160011121/downloads/20160011121.pdf
14. science-on-schema.org/guides/Dataset.md at main · ESIPFed/science-on-schema.org · GitHub, https://github.com/ESIPFed/science-on-schema.org/blob/main/guides/Dataset.md
15. provenance | Luc's Blog, https://lucmoreau.wordpress.com/tag/provenance/
16. Provenance \- Brain Imaging Data Structure 1.10.2-dev \- BIDS Specification, https://bids-specification.readthedocs.io/en/bep028/modality-agnostic-files/provenance.html
17. Minimizing the Effect of Cascade Failure in Multilayer Networks with Optimal Redistribution of Link Loads \- ResearchGate, https://www.researchgate.net/publication/356976485\_Minimizing\_the\_Effect\_of\_Cascade\_Failure\_in\_Multilayer\_Networks\_with\_Optimal\_Redistribution\_of\_Link\_Loads
18. The Application of Model-Based Systems Engineering to Rural Healthcare System Disaster Planning: A Scoping Review \- PMC, https://pmc.ncbi.nlm.nih.gov/articles/PMC10206547/
19. Public Health Computer Simulation Tool to Support Disaster Preparedness in Rural Communities \- Natural Hazards Center, https://hazards.colorado.edu/public-health-disaster-research/public-health-computer-simulation-tool-to-support-disaster-preparedness-in-rural-communities
20. NASA-STD-7009B Approved, https://standards.nasa.gov/sites/default/files/standards/NASA/B/1/NASA-STD-7009B-Final-3-5-2024.pdf
21. Floating-Point Determinism | Random ASCII \- tech blog of Bruce Dawson, https://randomascii.wordpress.com/2013/07/16/floating-point-determinism/
22. I created a fully deterministic 3D multiplayer game engine with advanced physics \- Reddit, https://www.reddit.com/r/gameenginedevs/comments/1stuqzu/i\_created\_a\_fully\_deterministic\_3d\_multiplayer/
23. Mulberry32: A Tiny, Fast, Deterministic RNG \- Nikos Papadopoulos, https://www.4rknova.com/blog/2026/03/01/mulberry32-rng
24. Understanding how to use Mulberry32 to achieve deterministic randomness in JavaScript, https://emanueleferonato.com/2026/01/08/understanding-how-to-use-mulberry32-to-achieve-deterministic-randomness-in-javascript/
25. Determinism \- Rapier.rs, https://rapier.rs/docs/user\_guides/javascript/determinism/
26. Are JavaScript numbers deterministic? \- ieee 754 \- Stack Overflow, https://stackoverflow.com/questions/37557958/are-javascript-numbers-deterministic
27. How can I perform a deterministic physics simulation?, https://gamedev.stackexchange.com/questions/174320/how-can-i-perform-a-deterministic-physics-simulation
28. Reconstruct the world space positions of pixels from the depth texture | Universal RP | 13.0.0, https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@13.0/manual/writing-shaders-urp-reconstruct-world-position.html
29. Chapter 39\. Volume Rendering Techniques \- NVIDIA Developer, https://developer.nvidia.com/gpugems/gpugems/part-vi-beyond-triangles/chapter-39-volume-rendering-techniques
30. Colorblind-Friendly Palettes: Why & How to Use in Design \- Venngage Blog, https://venngage.com/blog/color-blind-friendly-palette/
31. Okabe-Ito Colorblind-Safe Palette: Copy HEX \+ Download for Python, R, Illustrator, https://sci-draw.com/blog/colorblind-safe-palettes-okabe-ito-reference
32. precomputed\_atmospheric\_scatt, https://github.com/ebruneton/precomputed\_atmospheric\_scattering/blob/master/index
33. Data visualization accessibility: Focus on color \- Minnesota.gov, https://mn.gov/mnit/about-mnit/accessibility/news/?id=38-716215
34. Precomputed Atmospheric Scattering | Request PDF \- ResearchGate, https://www.researchgate.net/publication/29602408\_Precomputed\_Atmospheric\_Scattering