{
  "id": "crankbait-ballast-v1",
  "published": "2026-11-01",
  "applicationVersion": "0.1.0",
  "computationalSourceSha256": "3fbbca41f135b8fba2eca3d57b126580968979d0faf4ea4cd39a02c62a544586",
  "generatorSourceSha256": "56dd2671405079499c34a0ce76f81b5669b64f981c5381567d63642a786b035d",
  "fingerprintDirectories": [
    "src/core",
    "src/geometry",
    "src/mass",
    "src/sim",
    "src/manufacture"
  ],
  "presetId": "crank_square",
  "method": "fully-submerged-static-mass-and-buoyancy",
  "massModel": "as-built",
  "waterDensityKgM3": 998,
  "gravityMS2": 9.81,
  "coordinateSystem": "Body frame, nose origin, +x forward, +y left, +z up; reported centres are in millimetres.",
  "netBuoyancyMeaning": "Buoyancy minus weight when fully submerged. netBuoyancyG is the equivalent force divided by gravity in grams; positive tends to rise, negative tends to sink.",
  "classificationThresholdsG": {
    "floating": "> 0.5",
    "slow_floating": "> 0.1 and <= 0.5",
    "suspending": ">= -0.1 and <= 0.1",
    "slow_sinking": ">= -0.6 and < -0.1",
    "sinking": "< -0.6"
  },
  "snapshotSim": {
    "scenario": "tank",
    "tankSpeed": 0.6,
    "tankLineLength": 3,
    "retrieve": {
      "mode": "steady",
      "speed": 0.6,
      "reelTime": 2,
      "pauseTime": 1,
      "jerkAmplitude": 0.25,
      "jerkDuration": 0.12,
      "jerkPeriod": 1,
      "liftHeight": 0.6,
      "liftPeriod": 2.5
    },
    "line": {
      "material": "MONO",
      "diameterMm": 0.3,
      "castDistance": 20,
      "rodTipHeight": 1,
      "nodes": 30
    },
    "water": {
      "density": 998,
      "kinematicViscosity": 0.000001,
      "current": [
        0,
        0,
        0
      ]
    },
    "substeps": 20,
    "timeScale": 1,
    "hydro": {
      "cpFront": 0.9,
      "cpRear": 0.25,
      "fp": 2,
      "fs": 2,
      "frictionScale": 1.3,
      "plateCd90": 1.17,
      "plateLiftScale": 1,
      "strouhalLip": 0.16,
      "strouhalPaddle": 0.15,
      "cl0": 0.45,
      "wakeEpsilon": 0.3,
      "wakeCoupling": 4,
      "addedMassScale": 1,
      "liftLag": true,
      "lipStallDeg": 40,
      "munk": true
    }
  },
  "runs": [
    {
      "ballastDiameterMm": 4.5,
      "ballastMaterial": "TUNGSTEN",
      "ballastCount": 1,
      "ballastStationMm": 19,
      "ballastMassG": 0.858833,
      "designMassG": 9.587396,
      "asBuiltMassG": 10.564152,
      "printCorrectionG": 0.976756,
      "displacedVolumeMl": 13.272972,
      "displacedWaterMassG": 13.246426,
      "netBuoyancyG": 2.682273,
      "netBuoyancyN": 0.026313,
      "buoyancyClass": "floating",
      "centerOfMassMm": [
        -26.462207,
        0.000001,
        -1.965185
      ],
      "centerOfBuoyancyMm": [
        -26.483499,
        0,
        1.278872
      ],
      "massByCategoryG": {
        "shell": 6.004333,
        "lip": 0.398157,
        "ballast": 0.858833,
        "rattle": 0.526112,
        "coating": 0.612575,
        "hardware": 0.928142,
        "hooks_and_rings": 1.236
      },
      "fit": [
        {
          "id": "b1",
          "kind": "ballast",
          "misfitFraction": 0,
          "overlapFraction": 0
        },
        {
          "id": "r1",
          "kind": "rattle",
          "misfitFraction": 0,
          "overlapFraction": 0
        }
      ],
      "design": {
        "name": "Public square-bill ballast comparison — 4.5 mm",
        "presetId": "crank_square",
        "construction": "hard",
        "body": {
          "length": 60,
          "height": 24,
          "width": 17,
          "maxDepthPos": 0.38,
          "noseBluntness": 0.85,
          "tailDepth": 0.3,
          "tailWidth": 0.32,
          "dorsalBias": 0.15,
          "flatSide": 0.25,
          "noseDrop": -0.08,
          "noseCupDepth": 0
        },
        "lip": {
          "enabled": true,
          "shape": "square",
          "length": 11,
          "width": 15,
          "thickness": 1,
          "angle": 70,
          "rootStation": 5,
          "rootHeight": -0.8,
          "material": "PCB_FR4"
        },
        "lineTie": {
          "mount": "nose",
          "lipFraction": 0,
          "station": 2,
          "heightFraction": -0.3,
          "lateralOffset": 0
        },
        "shell": {
          "hollow": true,
          "wallThickness": 1.2,
          "material": "ASA",
          "coating": "EPOXY",
          "coatingThickness": 0.15
        },
        "ballast": [
          {
            "id": "b1",
            "material": "TUNGSTEN",
            "diameter": 4.5,
            "station": 19,
            "heightFraction": -1,
            "count": 1
          }
        ],
        "rattles": [
          {
            "id": "r1",
            "station": 34,
            "heightFraction": 0,
            "ballDiameter": 4,
            "material": "STEEL",
            "count": 2
          }
        ],
        "hooks": [
          {
            "id": "h1",
            "station": 24,
            "position": "belly",
            "type": "TREBLE",
            "size": 6,
            "splitRing": 2
          },
          {
            "id": "h2",
            "station": 60,
            "position": "tail",
            "type": "TREBLE",
            "size": 6,
            "splitRing": 2
          }
        ],
        "joints": {
          "segments": 2,
          "positions": [
            0.6
          ],
          "gap": 1.2,
          "maxAngle": 30,
          "style": "pin_hinge",
          "pinDiameter": 1.2
        },
        "soft": {
          "material": "PLASTISOL_MEDIUM",
          "saltPercent": 8,
          "tail": "paddle",
          "paddleHeight": 14,
          "paddleWidth": 12,
          "paddleThickness": 3,
          "stemLength": 10,
          "stemThickness": 4.5,
          "paddleAngle": 0,
          "rig": "jighead",
          "rigWeight": 5,
          "rigMaterial": "TUNGSTEN",
          "hookSize": -1,
          "simSegments": 10
        }
      },
      "print": {
        "hardMode": "split_halves",
        "clearance": 0.25,
        "alignmentPins": true,
        "throughWire": true,
        "wireDiameter": 1,
        "moldMargin": 10,
        "layerHeight": 0.16
      },
      "sharePath": "/share/#d=jVbbbttGEP0VYZ8ZgpQdJ9abbSmtAckSLKVuEQTCilyRay257O7SiioI6Ef0C_slPbMkJSbIQ-0Hcy8zZ-bMmVkfmU1yUXA2Yqo2QvFNaHNuBAvYmzBW6pKN4oClwsoMn0dW8kLg8qLeKJkM7J81Lr_bSKUGG64Ut26Q6KLiRlpdDv79-5_Bdfh-UBTwVxlhhXtMYZ0YXu7WjTFOEl1aZ-rEeTgG_BS7G50eCFGJMnM5G91EAcuFzHLHRsPrgO1lStvxh4AV_NtYVC5faMtGUXj1MWCltuJe1aUrhfWbH98HzHGp_EV_q1m_NG6wHiJPbSxX95J7kxgmW8XdUqbIOQqHWJPfsdEVG72LwqgFeqirzu0pYEri9MhEyTdKIF2kJgIGWiti7px1l1cMfrtcKMZcJrsmaBzwMlOw-oDcjdZu6XhDEi7S-teWD8SCUAruhJFcUX0e7tefnq-ZD6cUKwknR1ZoEIJTipkikNUnw1vagWA772CiYfpyDAQQBjKE4Wq-3aKUTbY2FwqIR5ZrpfS-S3cPNax6qYTw2YvvbnnnCw_AMsN6spj__sdlp2dJZQBMqy42-nJkkjS0iXG953H1-emX5WryhN1UQqQ4YCOIr5dWfPuTvEBy0tASn76CVe6cEsDtcAzhnF1cQXg_ugBzFN34gvpdYAhqMvWpeZQhoeRa73oY-XcYJO5KW9m2wwb8HnDuDl4_q-fJ_XRC9-VfWN_go1LSPXseh6egcznsu6Te6bkk3f9vjwj3VcvSIV5MC5EVwn-jnp1HyiQKb3Ax45B-W-tvd412r7yyDvTJKlmuc_gl9eH7QhlsSEt6C4ag056Qp3fL1eNyPl3PJuPHzzMKkyu3ECZBHGwE2fts4JunKUDg2H90rRETm36n7fSYIvcbPZVB29aJYtr1pI9ZFL0bXkqNXZsY9aQk8b4CSXCaWVi_tLjUoTKb_VSgVP6lJ5vkZ2WxPNMaRyciQhaebeSIUap9ycodlQx_lpWgsQLGm_UUDd4FjjyMcEaKt7bhaXJRKhzDlAp7MTVCqJWkae4JqS2mBK0Q0aswu7uCRFBfJh9tjmv0RyP6kHikPZRCajiFnZLb80jyGLTRnQ9D6mOaRj-UeDZ_mve6dobU_bBJ0O9jCQ2XCQXpR2C6ktW5sjR88TKRxOB5Tx7JdSpK6BJvx-0t1LEDIMBk8pu0CQkWB5jc9EOtXxvjdfQlCvD7lbivN-CrIokD0oGTZcKp3rieH1KDahxZgsmpyS4KMVSS6llwYDdEbdED4GbbNMnWSD8nOieUWUVz9CG9jWhND5jfmIKsCxReRF3nXE3pNQHb1Jbt1qJRevtCJQpuovAan3u-E5PKStVUCEi086BrlJKaGa0AU5HOuLUXJCrSlOO4mdx4FfDMYJ4JsgAFRQ3p-UOSZmUwC_y8xzM9a_VFUlkjsjdUgyICG03VGka4wn8PJPCFpGHR4Lgc2WT5i8Rr2D0a-O7NBEBrhWBNJml6IxTFD8JcFBbfnE7_AQ"
    },
    {
      "ballastDiameterMm": 5.5,
      "ballastMaterial": "TUNGSTEN",
      "ballastCount": 1,
      "ballastStationMm": 19,
      "ballastMassG": 1.568047,
      "designMassG": 10.296611,
      "asBuiltMassG": 11.304299,
      "printCorrectionG": 1.007689,
      "displacedVolumeMl": 13.272972,
      "displacedWaterMassG": 13.246426,
      "netBuoyancyG": 1.942127,
      "netBuoyancyN": 0.019052,
      "buoyancyClass": "floating",
      "centerOfMassMm": [
        -25.973932,
        0.000001,
        -2.175547
      ],
      "centerOfBuoyancyMm": [
        -26.483499,
        0,
        1.278872
      ],
      "massByCategoryG": {
        "shell": 6.035266,
        "lip": 0.398157,
        "ballast": 1.568047,
        "rattle": 0.526112,
        "coating": 0.612575,
        "hardware": 0.928142,
        "hooks_and_rings": 1.236
      },
      "fit": [
        {
          "id": "b1",
          "kind": "ballast",
          "misfitFraction": 0,
          "overlapFraction": 0
        },
        {
          "id": "r1",
          "kind": "rattle",
          "misfitFraction": 0,
          "overlapFraction": 0
        }
      ],
      "design": {
        "name": "Public square-bill ballast comparison — 5.5 mm",
        "presetId": "crank_square",
        "construction": "hard",
        "body": {
          "length": 60,
          "height": 24,
          "width": 17,
          "maxDepthPos": 0.38,
          "noseBluntness": 0.85,
          "tailDepth": 0.3,
          "tailWidth": 0.32,
          "dorsalBias": 0.15,
          "flatSide": 0.25,
          "noseDrop": -0.08,
          "noseCupDepth": 0
        },
        "lip": {
          "enabled": true,
          "shape": "square",
          "length": 11,
          "width": 15,
          "thickness": 1,
          "angle": 70,
          "rootStation": 5,
          "rootHeight": -0.8,
          "material": "PCB_FR4"
        },
        "lineTie": {
          "mount": "nose",
          "lipFraction": 0,
          "station": 2,
          "heightFraction": -0.3,
          "lateralOffset": 0
        },
        "shell": {
          "hollow": true,
          "wallThickness": 1.2,
          "material": "ASA",
          "coating": "EPOXY",
          "coatingThickness": 0.15
        },
        "ballast": [
          {
            "id": "b1",
            "material": "TUNGSTEN",
            "diameter": 5.5,
            "station": 19,
            "heightFraction": -1,
            "count": 1
          }
        ],
        "rattles": [
          {
            "id": "r1",
            "station": 34,
            "heightFraction": 0,
            "ballDiameter": 4,
            "material": "STEEL",
            "count": 2
          }
        ],
        "hooks": [
          {
            "id": "h1",
            "station": 24,
            "position": "belly",
            "type": "TREBLE",
            "size": 6,
            "splitRing": 2
          },
          {
            "id": "h2",
            "station": 60,
            "position": "tail",
            "type": "TREBLE",
            "size": 6,
            "splitRing": 2
          }
        ],
        "joints": {
          "segments": 2,
          "positions": [
            0.6
          ],
          "gap": 1.2,
          "maxAngle": 30,
          "style": "pin_hinge",
          "pinDiameter": 1.2
        },
        "soft": {
          "material": "PLASTISOL_MEDIUM",
          "saltPercent": 8,
          "tail": "paddle",
          "paddleHeight": 14,
          "paddleWidth": 12,
          "paddleThickness": 3,
          "stemLength": 10,
          "stemThickness": 4.5,
          "paddleAngle": 0,
          "rig": "jighead",
          "rigWeight": 5,
          "rigMaterial": "TUNGSTEN",
          "hookSize": -1,
          "simSegments": 10
        }
      },
      "print": {
        "hardMode": "split_halves",
        "clearance": 0.25,
        "alignmentPins": true,
        "throughWire": true,
        "wireDiameter": 1,
        "moldMargin": 10,
        "layerHeight": 0.16
      },
      "sharePath": "/share/#d=jVbbbts4EP0Vg8-qIDmXNn5zYnc3gB0bsbvZRVEYtERbjClRS1JxvYaB_Yj9wv2SnqEkWy360OQh4mXmzJw5M8yR2SQTOWcDpiojFF-HNuNGsIC9CWOlLtggDlgqrNzi88gKngtcnldrJZOe_bvC5XdrqVRvzZXi1vUSnZfcSKuL3v___te7CW96eQ5_pRFWuMcU1onhxW5VG-Mk0YV1pkqch2PAT7G71umBEJUoti5jg9soYJmQ28yxQf86YHuZ0nb8PmA5_zoSpcvm2rJBFF59CFihrbhXVeEKYf3mh5uAOS6Vv-hv1euX2g3WfeSpjeXqXnJvEsNko7hbyBQ5R2Efa_I7Mrpkg3dRGDVAD1XZuj0FTEmcHpko-FoJpIvURMBAa0nMnbNu84rBb5sLxZjJZFcHjQNebBWs3iN3o7VbOF6ThIu0_r3hA7EglJw7YSRXVJ-H-9XH52vmwynEUsLJkeUahOCUYqYIZPnR8IZ2INjWO5iomb4cAwGEgQxhuJptNihlna3NhALikWVaKb1v091DDctOKiF8duIbLoa-8AAstliP57M__7rsdCypDIBp1MUGn49MkobWMa53PC4_Pf22WI6fsJtKiBQHoCkEUee04ruf5AWSk5qW-PQFrHLnlABui2MI5-ziCsL70QWYo-hGZ1Tc6QSGoMYTn5pH6RNKpvWug5F9h0HiLrWVTTuswe8B5-7g9bN8Ht9PxnRf_oP1LT5KJd2z57F_ClqX_a5L6p2OS9L9L3tEuK9aFg7xYlqIbS78N-rZeqRMovAWF7cc0m9q_XVYa_fKK-tAn6yUxSqDX1Ifvi-UwYa0pDdgCDrtCHkyXCwfF7PJajoePX6aUphcubkwCeJgA8jeZwPfPE0BAsf-o22NmNj0O02nxxS53-ioDNq2TuSTtid9zCLv3LgmKdV2TWLUk5LE-wokwWlmYf3S4FKHyu30pwKl8i882SQ_K_PFmdY4OhERMvdsI0eMUu1LVuyoZPizKAWNFTBerydo8DZw5GGEM1K8NQ1Pk4tS4RimVNiLqRFCLSVNc09IZTElaIWIXoXZDXMSQXWZfLQ5qtAftehD4pH2UAqp4RR2Sm7OI8lj0EZ73g-pj2ka_VDi6exp1unaKVL3wyZBv48kNFwkFKQfgelSlufK0vDFy0QSg-c9eSTXqSigS7wdd3dQxw6AAJPJH9ImJFgcYHLTD7V-ZYzX0ecowO8X4r5ag6-SJA5IB04WCad643p2SA2qcWQJJqcmuyjEUEnKZ8GBXRO1QQ-Am03dJBsj_ZxonVBmJc3Rh_QuojU9YH5jArIuUHgRdZVxNaHXBGxTWzZb81rpzQuVKLiJwmt87vlOjEsrVV0hINHOg65QSmpmtAJMRTrl1l6QqEgTjuN6cuNVwDODeSbIAhTkFaTnD0mapcEs8PMez_S00RdJZYXI3lANighs1FWrGeEK_z2QwOeShkWN4zJks81eJF7D9tHAd2cmAForBGu2kqY3QlH8IMxFYfHt6fQN"
    },
    {
      "ballastDiameterMm": 6.5,
      "ballastMaterial": "TUNGSTEN",
      "ballastCount": 1,
      "ballastStationMm": 19,
      "ballastMassG": 2.58828,
      "designMassG": 11.316843,
      "asBuiltMassG": 12.358164,
      "printCorrectionG": 1.041321,
      "displacedVolumeMl": 13.272972,
      "displacedWaterMassG": 13.246426,
      "netBuoyancyG": 0.888262,
      "netBuoyancyN": 0.008714,
      "buoyancyClass": "floating",
      "centerOfMassMm": [
        -25.378918,
        0.000001,
        -2.373375
      ],
      "centerOfBuoyancyMm": [
        -26.483499,
        0,
        1.278872
      ],
      "massByCategoryG": {
        "shell": 6.068898,
        "lip": 0.398157,
        "ballast": 2.58828,
        "rattle": 0.526112,
        "coating": 0.612575,
        "hardware": 0.928142,
        "hooks_and_rings": 1.236
      },
      "fit": [
        {
          "id": "b1",
          "kind": "ballast",
          "misfitFraction": 0,
          "overlapFraction": 0
        },
        {
          "id": "r1",
          "kind": "rattle",
          "misfitFraction": 0,
          "overlapFraction": 0
        }
      ],
      "design": {
        "name": "Public square-bill ballast comparison — 6.5 mm",
        "presetId": "crank_square",
        "construction": "hard",
        "body": {
          "length": 60,
          "height": 24,
          "width": 17,
          "maxDepthPos": 0.38,
          "noseBluntness": 0.85,
          "tailDepth": 0.3,
          "tailWidth": 0.32,
          "dorsalBias": 0.15,
          "flatSide": 0.25,
          "noseDrop": -0.08,
          "noseCupDepth": 0
        },
        "lip": {
          "enabled": true,
          "shape": "square",
          "length": 11,
          "width": 15,
          "thickness": 1,
          "angle": 70,
          "rootStation": 5,
          "rootHeight": -0.8,
          "material": "PCB_FR4"
        },
        "lineTie": {
          "mount": "nose",
          "lipFraction": 0,
          "station": 2,
          "heightFraction": -0.3,
          "lateralOffset": 0
        },
        "shell": {
          "hollow": true,
          "wallThickness": 1.2,
          "material": "ASA",
          "coating": "EPOXY",
          "coatingThickness": 0.15
        },
        "ballast": [
          {
            "id": "b1",
            "material": "TUNGSTEN",
            "diameter": 6.5,
            "station": 19,
            "heightFraction": -1,
            "count": 1
          }
        ],
        "rattles": [
          {
            "id": "r1",
            "station": 34,
            "heightFraction": 0,
            "ballDiameter": 4,
            "material": "STEEL",
            "count": 2
          }
        ],
        "hooks": [
          {
            "id": "h1",
            "station": 24,
            "position": "belly",
            "type": "TREBLE",
            "size": 6,
            "splitRing": 2
          },
          {
            "id": "h2",
            "station": 60,
            "position": "tail",
            "type": "TREBLE",
            "size": 6,
            "splitRing": 2
          }
        ],
        "joints": {
          "segments": 2,
          "positions": [
            0.6
          ],
          "gap": 1.2,
          "maxAngle": 30,
          "style": "pin_hinge",
          "pinDiameter": 1.2
        },
        "soft": {
          "material": "PLASTISOL_MEDIUM",
          "saltPercent": 8,
          "tail": "paddle",
          "paddleHeight": 14,
          "paddleWidth": 12,
          "paddleThickness": 3,
          "stemLength": 10,
          "stemThickness": 4.5,
          "paddleAngle": 0,
          "rig": "jighead",
          "rigWeight": 5,
          "rigMaterial": "TUNGSTEN",
          "hookSize": -1,
          "simSegments": 10
        }
      },
      "print": {
        "hardMode": "split_halves",
        "clearance": 0.25,
        "alignmentPins": true,
        "throughWire": true,
        "wireDiameter": 1,
        "moldMargin": 10,
        "layerHeight": 0.16
      },
      "sharePath": "/share/#d=jVbbbttGEP0VYZ8ZgpQdJdabbCmtAckSLKVuEQTCilyJay257O7SiioI6Ef0C_slPbMkJTbIQ-wHcy8zZ-bMmVmfmE0ykXM2ZKoyQvFNaDNuBAvYmzBW6oIN44ClwsodPk-s4LnA5UW1UTLp2T8rXH63kUr1Nlwpbl0v0XnJjbS66P379z-9Qfi-l-fwVxphhXtMYZ0YXuzXtTFOEl1YZ6rEeTgG_BS7G50eCVGJYucyNhxEAcuE3GWODfu3ATvIlLbjDwHL-bexKF220JYNo_DmY8AKbcW9qgpXCOs3P74PmONS-Yv-Vr1-qd1g3Uee2liu7iX3JjFMtoq7pUyRcxT2sSa_Y6NLNnwXhVED9FCVrdtzwJTE6YmJgm-UQLpITQQMtJbE3CXrNq8Y_La5UIyZTPZ10DjgxU7B6gNyN1q7peM1SbhI618bPhALQsm5E0ZyRfV5uF9_er5lPpxCrCScnFiuQQhOKWaKQJafDG9oB4JtvYOJmunrMRBAGMgQhqv5dotS1tnaTCggnlimldKHNt0D1LDqpBLCZye-0XLkCw_AYof1ZDH__Y_rTseSygCYRl1s-OXEJGloE-N6x-Pq89Mvy9XkCbuphEhxAM2EIOqSVnz3g7xAclLTEp-_glXunBLAbXEM4Vxc3EB437sAcxTd-IKKO53AENRk6lPzKH1CybTedzCy_2GQuEttZdMOG_B7xLk7ev2snif30wndl39hPcBHqaR79jz2z0Hrst91Sb3TcUm6_2mPCPdVy8IhXkwLscuF_0Y9W4-USRQOcHHHIf2m1t9GtXZvvLKO9MlKWawz-CX14ftKGWxIS3oLhqDTjpCno-XqcTmfrmeT8ePnGYXJlVsIkyAONoTsfTbwzdMUIHDsP9rWiIlNv9N0ekyR-42OyqBt60Q-bXvSxyzyzo1bklJt1yRGPSlJvK9AEpxmFtYvDS51qNzNfihQKv_Sk03yszJfXmiNozMRIXPPNnLEKNW-ZMWeSoY_y1LQWAHj9XqKBm8DRx5GOCPFW9PwNLkoFY5hSoW9mhoh1ErSNPeEVBZTglaI6FWY_SgnEVTXyUeb4wr9UYs-JB5pD6WQGk5hp-T2MpI8Bm205_2Q-pim0Xclns2f5p2unSF1P2wS9PtYQsNFQkH6EZiuZHmpLA1fvEwkMXg-kEdynYoCusTbcXcHdewBCDCZ_CZtQoLFASY3_VDrV8Z4HX2JAvx-Je6rDfgqSeKAdOBkmXCqN65nx9SgGieWYHJqsotCDJWkfBYc2DVRW_QAuNnWTbI10s-J1gllVtIcfUjvIlrTA-Y3piDrCoUXUVcZV1N6TcA2tWWztaiV3rxQiYKbKLzF54HvxaS0UtUVAhLtPOgKpaRmRivAVKQzbu0ViYo05TiuJzdeBTwzmGeCLEBBXkF6_pCkWRrMAj_v8UzPGn2RVNaI7A3VoIjARl21mhGu8N8DCXwhaVjUOC5DNrvsReI1bB8NfHdmAqC1QrBmJ2l6IxTFj8JcFRYPzuf_AA"
    }
  ],
  "limitations": [
    "Static numerical mass and buoyancy estimates, not a physical print or water test.",
    "No dynamic swim simulation, sinking speed, float attitude, diving-depth or catch-performance result is reported.",
    "Each ball diameter rebuilds its pocket and internal printed support; the mass change is not only the added tungsten.",
    "The ball remains at the same station and relative height input; its absolute placement and the complete centre of mass can change.",
    "Displaced volume is the modelled fully submerged exterior including the modelled coating, lip and hooks; a floating lure displaces only its own weight at equilibrium.",
    "Actual filament density, slicer settings, coating, glue, hardware, water density and water ingress can change the finished result.",
    "Read-only snapshots contain the owned preset and the same print settings. Their preset swim controls are for exploration and were not evaluated in this evidence package."
  ]
}
