Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument implementation / implementation-contract

3D Surface Plotter implementation

A source-bound implementation contract for 3D Surface Plotter; deployment and executable qualification remain separate.

Status: VERIFIED_CLEANLifecycle: implementation-contract

Binding contract

This record describes what an executable surface must bind and validate. It does not claim that a public calculator, package, or production route is deployed.

Record owner
Guth Instruments
Lifecycle
verified-clean
Evidence ID
t8-029
Effect
Computation or source lookup only

Input and validation requirements

The specification does not define handling for singular expression samples. For f(x,y)=1/(x-y), a normal grid containing x=y produces 1/0. If the plotter forwards Infinity or NaN to the rendering pipeline instead of rejecting the sample and splitting the surface, mesh generation, contouring, shading, or camera bounds can fail.

Required corrections

No binding erratum is attached to this unique-name record. Implementers must still preserve the declared units, domain, and failure behavior.

Inspectable interface fixture

The sample below is evidence for interface and validation tests, not a production implementation.

{
  "inputs": {
    "expression": "f(x,y)=x^2+y^2",
    "x_domain": [
      -1,
      1
    ],
    "y_domain": [
      -1,
      1
    ],
    "sample_x": [
      -1,
      0,
      1
    ],
    "sample_y": [
      -1,
      0,
      1
    ],
    "contour_level": 1
  },
  "expected_outputs": {
    "sampled_z_rows_by_y": [
      [
        2,
        1,
        2
      ],
      [
        1,
        0,
        1
      ],
      [
        2,
        1,
        2
      ]
    ],
    "contour_level_1_reference_points": [
      [
        -1,
        0
      ],
      [
        0,
        -1
      ],
      [
        0,
        1
      ],
      [
        1,
        0
      ]
    ],
    "gradient_at": {
      "x": 1,
      "y": 0,
      "gradient": [
        2,
        0
      ],
      "upward_unit_normal": [
        "-2/sqrt(5)",
        "0",
        "1/sqrt(5)"
      ]
    }
  },
  "reference_data": {
    "surface": "Paraboloid z=x^2+y^2",
    "contour_equation": "x^2+y^2=1",
    "gradient_formula": "(f_x,f_y)=(2x,2y)",
    "normal_formula": "n=(-f_x,-f_y,1)/sqrt(f_x^2+f_y^2+1)"
  },
  "working": "Evaluate each grid point: f(-1,-1)=(-1)^2+(-1)^2=1+1=2; f(0,-1)=0^2+(-1)^2=0+1=1; f(1,-1)=1+1=2. For y=0: f(-1,0)=1+0=1; f(0,0)=0+0=0; f(1,0)=1+0=1. For y=1 the row is again [2,1,2]. The level-1 contour satisfies x^2+y^2=1, whose axis intersections are (-1,0),(0,-1),(0,1),(1,0). At (1,0), (f_x,f_y)=(2,0), so n=(-2,0,1), ||n||=sqrt(4+1)=sqrt(5), giving the stated unit normal."
}

Other records

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json
  • evidence-tranche8/tranche8-results.json