{
  "schema": "eldric.worldmodel.render-manifest/v1.1",
  "model": "elastic3d_nslot.nsl",
  "render_kind": "volume_field",
  "rollout": {
    "form": "conv3d_vector",
    "D": 24,
    "H": 24,
    "W": 24,
    "channels": [
      "uz",
      "uy",
      "ux",
      "uz_prev",
      "uy_prev",
      "ux_prev",
      "Vp2",
      "Vs2",
      "rho"
    ],
    "out_channels": [
      "duz",
      "duy",
      "dux"
    ],
    "static_channels": {
      "medium": "elastic3d_medium.npy"
    },
    "n_steps_default": 40
  },
  "field2d": {
    "upscale": 10
  },
  "demo": {
    "source": [
      4,
      12,
      12
    ]
  },
  "fps": 14,
  "labels": {
    "title": "3D elastic seismic \u2014 P+S through a volume (max-intensity projection)"
  },
  "domain_context": {
    "system": "3D elastic wave equation, vector displacement u=(ux,uy,uz) through a volume",
    "physics": "P and S body waves propagate in 3D, reflecting/refracting at layered crustal boundaries",
    "medium": "layered crust from a CRUST1.0 column",
    "source": "point source exciting P+S near the surface",
    "render": "max-intensity projection of |u| (side = depth section, top = map view)"
  },
  "legend": {
    "colormap": "warm = displacement magnitude |u| projected through the volume",
    "note": "toggle side/top view; side shows downgoing waves + reflections off layers"
  },
  "why_it_looks_like_this": "A full 3D elastic volume: the wavefront is a sphere of P (fast) followed by S (slow), shown here as a 2D max-intensity projection. The side view shows the waves going down through the crustal layers and reflecting.",
  "honest": "Small demo grid rolled in your browser; high-resolution 3D runs server-side (~100\u00d7 the 2D cost). Bounded-window simulation of the known elastic model \u2014 not earthquake prediction."
}