ray-optics-web.vestibulum.xyz
Web-based GUI for RayOptics
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 20 · Act 10 · Transact 1 · Score: Not yet scored
Tool inspector
set_lens_prescription
Replace the complete Lens Editor prescription after strict validation. Numeric input guidance: Flat surfaces use `0` for radius of curvature. Infinity object/image distances use `1e10`. Material input guidance: catalog glass requires `manufacturer` to be one of `CDGM`, `Hikari`, `Hoya`, `Ohara`, `Schott`, or `Sumita`; special materials and reflective surfaces use an empty manufacturer. Single-index model glass uses `{"medium": " ", "manufacturer": ""}`. Model glass with `nd` and `vd` uses `{"medium": " ", "manufacturer": " "}`. All numeric values must be stringified. Material input special cases guidance: reflective surfaces use `{"medium": "REFL", "manufacturer": ""}`. Air, water, fluorite/fluorspar/CaF2, fused silica, and Schott D263 T eco use `{"medium": "air" | "Water" | "CAF2" | "Fused Silica" | "D263TECO", "manufacturer": ""}`. Some Ohara names ending in a single digit, including `S-BSL7`, `S-FSL5`, and `S-NBH5`, require canonical names with whitespace: `S-BSL 7`, `S-FSL 5`, and `S-NBH 5`.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
object |
object | yes | — |
surfaces |
array | yes | — |
image |
object | yes | — |
Raw JSON schema
{
"type": "object",
"required": [
"object",
"surfaces",
"image"
],
"properties": {
"object": {
"type": "object",
"required": [
"distance",
"medium",
"manufacturer"
],
"properties": {
"distance": {
"type": "number",
"finiteNumber": true
},
"medium": {
"type": "string",
"not": {
"enum": [
"REFL",
"refl"
]
}
},
"manufacturer": {
"type": "string"
}
},
"additionalProperties": false
},
"surfaces": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"curvatureRadius",
"thickness",
"medium",
"manufacturer",
"semiDiameter"
],
"properties": {
"label": {
"enum": [
"Default",
"Stop"
],
"type": "string"
},
"comment": {
"type": "string"
},
"curvatureRadius": {
"type": "number",
"finiteNumber": true
},
"thickness": {
"type": "number",
"finiteNumber": true
},
"medium": {
"type": "string"
},
"manufacturer": {
"type": "string"
},
"semiDiameter": {
"type": "number",
"finiteNumber": true
},
"aspherical": {
"anyOf": [
{
"type": "object",
"required": [
"kind",
"conicConstant"
],
"properties": {
"kind": {
"type": "string",
"const": "Conic"
},
"conicConstant": {
"type": "number",
"finiteNumber": true
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"conicConstant",
"polynomialCoefficients"
],
"properties": {
"kind": {
"type": "string",
"const": "EvenAspherical"
},
"conicConstant": {
"type": "number",
"finiteNumber": true
},
"polynomialCoefficients": {
"type": "array",
"items": {
"type": "number",
"finiteNumber": true
},
"maxItems": 10
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"conicConstant",
"polynomialCoefficients"
],
"properties": {
"kind": {
"type": "string",
"const": "RadialPolynomial"
},
"conicConstant": {
"type": "number",
"finiteNumber": true
},
"polynomialCoefficients": {
"type": "array",
"items": {
"type": "number",
"finiteNumber": true
},
"maxItems": 10
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"conicConstant",
"toricSweepRadiusOfCurvature",
"polynomialCoefficients"
],
"properties": {
"kind": {
"type": "string",
"const": "XToroid"
},
"conicConstant": {
"type": "number",
"finiteNumber": true
},
"toricSweepRadiusOfCurvature": {
"type": "number",
"finiteNumber": true
},
"polynomialCoefficients": {
"type": "array",
"items": {
"type": "number",
"finiteNumber": true
},
"maxItems": 10
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"conicConstant",
"toricSweepRadiusOfCurvature",
"polynomialCoefficients"
],
"properties": {
"kind": {
"type": "string",
"const": "YToroid"
},
"conicConstant": {
"type": "number",
"finiteNumber": true
},
"toricSweepRadiusOfCurvature": {
"type": "number",
"finiteNumber": true
},
"polynomialCoefficients": {
"type": "array",
"items": {
"type": "number",
"finiteNumber": true
},
"maxItems": 10
}
},
"additionalProperties": false
}
]
},
"decenter": {
"type": "object",
"required": [
"coordinateSystemStrategy",
"alpha",
"beta",
"gamma",
"offsetX",
"offsetY"
],
"properties": {
"coordinateSystemStrategy": {
"enum": [
"bend",
"dec and return",
"decenter",
"reverse"
],
"type": "string"
},
"alpha": {
"type": "number",
"finiteNumber": true
},
"beta": {
"type": "number",
"finiteNumber": true
},
"gamma": {
"type": "number",
"finiteNumber": true
},
"offsetX": {
"type": "number",
"finiteNumber": true
},
"offsetY": {
"type": "number",
"finiteNumber": true
}
},
"additionalProperties": false
},
"diffractiveElement": {
"type": "object",
"properties": {
"diffractionGrating": {
"type": "object",
"required": [
"lpmm",
"order"
],
"properties": {
"lpmm": {
"type": "number",
"finiteNumber": true
},
"order": {
"type": "integer"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"clear_aperture": {
"anyOf": [
{
"type": "object",
"required": [
"shape",
"offsetX",
"offsetY"
],
"properties": {
"shape": {
"type": "string",
"const": "circular"
},
"offsetX": {
"type": "number",
"finiteNumber": true
},
"offsetY": {
"type": "number",
"finiteNumber": true
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"shape",
"obstructionRadius",
"offsetX",
"offsetY"
],
"properties": {
"shape": {
"type": "string",
"const": "annular"
},
"obstructionRadius": {
"type": "number",
"finiteNumber": true,
"exclusiveMinimum": 0,
"exclusiveMaximum": {
"$data": "2/semiDiameter"
}
},
"offsetX": {
"type": "number",
"finiteNumber": true
},
"offsetY": {
"type": "number",
"finiteNumber": true
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"shape",
"xHalfWidth",
"yHalfWidth",
"rotation",
"offsetX",
"offsetY"
],
"properties": {
"shape": {
"type": "string",
"const": "rectangular"
},
"xHalfWidth": {
"type": "number",
"finiteNumber": true,
"exclusiveMinimum": 0
},
"yHalfWidth": {
"type": "number",
"finiteNumber": true,
"exclusiveMinimum": 0
},
"rotation": {
"type": "number",
"finiteNumber": true
},
"offsetX": {
"type": "number",
"finiteNumber": true
},
"offsetY": {
"type": "number",
"finiteNumber": true
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"shape",
"lpmm",
"rotation",
"offsetX",
"offsetY"
],
"properties": {
"shape": {
"type": "string",
"const": "ronchi"
},
"lpmm": {
"type": "number",
"finiteNumber": true,
"exclusiveMinimum": 0
},
"rotation": {
"type": "number",
"finiteNumber": true
},
"offsetX": {
"type": "number",
"finiteNumber": true
},
"offsetY": {
"type": "number",
"finiteNumber": true
}
},
"additionalProperties": false
}
]
},
"edge_aperture": {
"anyOf": [
{
"type": "object",
"required": [
"shape",
"radius",
"offsetX",
"offsetY"
],
"properties": {
"shape": {
"type": "string",
"const": "circular"
},
"radius": {
"type": "number",
"finiteNumber": true,
"exclusiveMinimum": 0
},
"offsetX": {
"type": "number",
"finiteNumber": true
},
"offsetY": {
"type": "number",
"finiteNumber": true
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"shape",
"xHalfWidth",
"yHalfWidth",
"rotation",
"offsetX",
"offsetY"
],
"properties": {
"shape": {
"type": "string",
"const": "rectangular"
},
"xHalfWidth": {
"type": "number",
"finiteNumber": true,
"exclusiveMinimum": 0
},
"yHalfWidth": {
"type": "number",
"finiteNumber": true,
"exclusiveMinimum": 0
},
"rotation": {
"type": "number",
"finiteNumber": true
},
"offsetX": {
"type": "number",
"finiteNumber": true
},
"offsetY": {
"type": "number",
"finiteNumber": true
}
},
"additionalProperties": false
}
]
}
},
"additionalProperties": false,
"allOf": [
{
"if": {
"required": [
"clear_aperture"
],
"properties": {
"clear_aperture": {
"type": "object",
"required": [
"shape"
],
"properties": {
"shape": {
"const": "ronchi"
}
}
}
}
},
"then": {
"properties": {
"semiDiameter": {
"type": "number",
"finiteNumber": true,
"exclusiveMinimum": 0
}
}
}
}
]
}
},
"image": {
"type": "object",
"required": [
"curvatureRadius"
],
"properties": {
"curvatureRadius": {
"type": "number",
"finiteNumber": true
},
"decenter": {
"type": "object",
"required": [
"coordinateSystemStrategy",
"alpha",
"beta",
"gamma",
"offsetX",
"offsetY"
],
"properties": {
"coordinateSystemStrategy": {
"enum": [
"bend",
"dec and return",
"decenter",
"reverse"
],
"type": "string"
},
"alpha": {
"type": "number",
"finiteNumber": true
},
"beta": {
"type": "number",
"finiteNumber": true
},
"gamma": {
"type": "number",
"finiteNumber": true
},
"offsetX": {
"type": "number",
"finiteNumber": true
},
"offsetY": {
"type": "number",
"finiteNumber": true
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
Similar websites
morphus.myles4miles.chatgpt.site
Morphus is an AI-native workspace for designing worlds and generating playable game experiences.
damnpdfs.com
Install the DamnPDFs Codex plugin, pair a browser workspace and use PDF, image and file tools from your coding agent. Includes setup and privacy limits.
insignifi4nt.github.io
broCAD/M: local-first CAD and CAM for parametric design, wire EDM planning, simulation and controller export.
cabinet.varera.studio
The Cartographer's Cabinet