{
  "format": "blitz3d.world",
  "version": 1,
  "id": "sample.physics.showcase",
  "name": "Reusable physics showcase",
  "settings": {"physics": {"gravity": [0, -9.81, 0]}},
  "assets": [
    {"id": "floor-physics", "kind": "physics", "source": "floor.physics", "loading": "required"},
    {"id": "falling-physics", "kind": "physics", "source": "falling.physics", "loading": "required"},
    {"id": "compound-physics", "kind": "physics", "source": "compound.physics", "loading": "required"},
    {"id": "hinge-physics", "kind": "physics", "source": "hinge.physics", "loading": "required"}
  ],
  "entities": [
    {"id": "camera", "transform": {"position": [0, 4, -12]}, "components": [{"type": "camera", "near": 0.1, "far": 100}]},
    {"id": "sun", "components": [{"type": "light", "kind": "directional"}]},
    {"id": "floor", "transform": {"position": [0, -1, 0]}, "components": [{"type": "physics", "asset": "floor-physics"}]},
    {"id": "floor-visual", "transform": {"position": [0, -1, 0], "scale": [10, 0.5, 10]}, "components": [{"type": "model", "primitive": "cube"}]},
    {"id": "falling", "transform": {"position": [-3, 5, 0]}, "components": [
      {"type": "model", "primitive": "cube"}, {"type": "physics", "asset": "falling-physics"}]},
    {"id": "compound", "transform": {"position": [0, 6, 0]}, "components": [
      {"type": "model", "primitive": "cube"}, {"type": "physics", "asset": "compound-physics"}]},
    {"id": "hinge", "components": [{"type": "physics", "asset": "hinge-physics", "targets": {
      "anchor": {"entity": "hinge-anchor"}, "arm": {"entity": "hinge-arm"}}}]},
    {"id": "hinge-anchor", "transform": {"position": [3, 3, 0]}, "components": [{"type": "model", "primitive": "cube"}]},
    {"id": "hinge-arm", "transform": {"position": [3, 1.5, 0]}, "components": [{"type": "model", "primitive": "cube"}]},
    {"id": "bob", "transform": {"position": [5, 4, 0]}, "components": [
      {"type": "model", "primitive": "sphere"}, {"type": "physics", "asset": "falling-physics"}]},
    {"id": "tether", "components": [{"type": "physics-joint", "id": "tether", "kind": "distance",
      "bodyA": {"entity": "floor", "body": "body"}, "bodyB": {"entity": "bob", "body": "body"},
      "anchorA": [5, 6, 0], "anchorB": [0, 0, 0], "length": 1}]}
  ]
}
