Benchmark Cases
Every prompt in the benchmark, with the pipeline that answers it and the picture that pipeline draws. See LLM Benchmark for how these are captured and what the images prove.
molecule-basic
Show a molecule with its chemical bonds.
Fixture: caffeine_water.pdb · Tags: molecule, basic

Caffeine in water with its chemical bonds drawn.
Nodes: add_bond, load_structure, load_trajectory, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "caffeine_water_vibration.xtc",
"source": "file",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "addbond-1",
"target": "viewport-1",
"sourceHandle": "bond",
"targetHandle": "bond"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
}
]
}
Where this pipeline came from
pipeline template "molecule" applied via store.applyTemplate, then edited through the editor store
molecule-no-bonds
Just display the atoms of my structure, no bonds at all.
Fixture: caffeine_water.pdb · Tags: molecule, basic

Atoms only — no bond cylinders anywhere.
Nodes: load_structure, load_trajectory, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "caffeine_water_vibration.xtc",
"source": "file",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
}
]
}
Where this pipeline came from
pipeline template "molecule" applied via store.applyTemplate, then edited through the editor store; add_bond removed
molecule-trajectory
Load a protein and play its MD trajectory with bonds.
Fixture: caffeine_water.pdb · Tags: molecule, trajectory

The structure with bonds and a trajectory loaded, so the timeline can play frames.
This picture cannot grade the prompt. a SerializedPipeline carries the load_trajectory node but not its frames, and deserialize clears them, so after the round trip this pipeline draws exactly what molecule-basic draws — measured byte-identical. The product drops the frames the same way (PipelineChatBox re-attaches only the loaded structure), so no pipeline can draw a different picture for this prompt and the image grades nothing. The rubric is the only check available for this case.
Nodes: add_bond, load_structure, load_trajectory, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "caffeine_water_vibration.xtc",
"source": "file",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "addbond-1",
"target": "viewport-1",
"sourceHandle": "bond",
"targetHandle": "bond"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
}
]
}
Where this pipeline came from
pipeline template "molecule" applied via store.applyTemplate, then edited through the editor store
crystal-polyhedra
Visualize a perovskite crystal with coordination polyhedra around the metal atoms.
Fixture: perovskite_srtio3_3x3x3.xyz · Tags: solid, polyhedra

The perovskite with coordination polyhedra around its metal centres.
The runner does not assert this image. Over 3 independent boots the same pipeline produced renders differing by up to 0% of pixels: did not reproduce in every run. The pipeline is not what varies: across independent boots the store's viewport state is bit-identical (same atom count, same position checksums, same bond count, same mesh vertex and coordinate checksums) and __megane_test.getCameraState() returns the same position, target and zoom to the last float — but that API does not report the orthographic frustum, and the framing is what differs. Clicking Reset View changes neither mode (before and after are byte-identical), so the fit is settled by the time it runs. The split is by fixture: every case on caffeine_water.pdb reproduced in every run made, and every case on another fixture differed in at least one — including cases whose three-boot sample agreed, which is why agreement alone is not treated as evidence here (crystal-distance-bonds reproduced three times and then differed by 6.9% on the next render).
Nodes: coordination_generator, drawing_boundary, load_structure, polyhedron_generator, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "perovskite_srtio3_3x3x3.xyz",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "drawing_boundary",
"xMin": 0,
"xMax": 1,
"yMin": 0,
"yMax": 1,
"zMin": 0,
"zMax": 1,
"id": "drawing-boundary-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "coordination_generator",
"excludedCenters": [],
"excludedLigands": [],
"cutoffTolerance": 1.15,
"boundaryMode": "complete",
"id": "coordination-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "polyhedron_generator",
"opacity": 0.5,
"showEdges": false,
"edgeColor": "#dddddd",
"edgeWidth": 3,
"id": "polyhedron-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 2160
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "drawing-boundary-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "drawing-boundary-1",
"target": "coordination-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "drawing-boundary-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "coordination-1",
"target": "viewport-1",
"sourceHandle": "bond",
"targetHandle": "bond"
},
{
"source": "coordination-1",
"target": "polyhedron-1",
"sourceHandle": "coordination",
"targetHandle": "coordination"
},
{
"source": "polyhedron-1",
"target": "viewport-1",
"sourceHandle": "mesh",
"targetHandle": "mesh"
}
]
}
Where this pipeline came from
pipeline template "solid" applied via store.applyTemplate, then edited through the editor store
crystal-distance-bonds
I have a crystal XYZ file without bond records. Show it with distance-based bonds and the unit cell.
Fixture: perovskite_srtio3_3x3x3.xyz · Tags: solid, bonds

The crystal with distance-inferred bonds and its unit cell drawn.
The runner does not assert this image. Over 3 independent boots the same pipeline produced renders differing by up to 0% of pixels: did not reproduce in every run. The pipeline is not what varies: across independent boots the store's viewport state is bit-identical (same atom count, same position checksums, same bond count, same mesh vertex and coordinate checksums) and __megane_test.getCameraState() returns the same position, target and zoom to the last float — but that API does not report the orthographic frustum, and the framing is what differs. Clicking Reset View changes neither mode (before and after are byte-identical), so the fit is settled by the time it runs. The split is by fixture: every case on caffeine_water.pdb reproduced in every run made, and every case on another fixture differed in at least one — including cases whose three-boot sample agreed, which is why agreement alone is not treated as evidence here (crystal-distance-bonds reproduced three times and then differed by 6.9% on the next render).
Nodes: add_bond, drawing_boundary, load_structure, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "perovskite_srtio3_3x3x3.xyz",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "drawing_boundary",
"xMin": 0,
"xMax": 1,
"yMin": 0,
"yMax": 1,
"zMin": 0,
"zMax": 1,
"id": "drawing-boundary-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 2160
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "distance",
"id": "node-1",
"position": {
"x": 425,
"y": 2360
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "drawing-boundary-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "drawing-boundary-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "drawing-boundary-1",
"target": "node-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "node-1",
"target": "viewport-1",
"sourceHandle": "bond",
"targetHandle": "bond"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
}
]
}
Where this pipeline came from
pipeline template "solid" applied via store.applyTemplate, then edited through the editor store; add_bond bondSource=distance. Re-captured through the editor store (removeNode) without the template's coordination_generator / polyhedron_generator: their translucent polyhedra covered the sticks, so deleting add_bond changed only a few dozen pixels and the counterexample could not discriminate once the default view moved to the standard orientation (#661). The prompt asks for bonds and the cell, not polyhedra.
crystal-polyhedra-exclude
Show coordination polyhedra for an oxide but skip titanium (Z=22) as a center, keep only the others.
Fixture: perovskite_srtio3_3x3x3.xyz · Tags: solid, polyhedra, params

Coordination polyhedra with titanium skipped as a centre — only the other metal's polyhedra remain.
This picture cannot grade the prompt. excluding titanium as a coordination centre barely changes the picture. Rendered in the same page, the reference and the same pipeline with an empty exclusion list differ by 0.0033% of pixels — about 34 of them — because the strontium-centred polyhedra already cover the same volume in this projection. The case's own render-to-render noise is 4.2%, more than a thousand times the signal, so no pixel budget separates the right answer from the wrong one. The rubric checks coordination_generator.excludedCenters instead. The rubric is the only check available for this case.
The runner does not assert this image. Over 3 independent boots the same pipeline produced renders differing by up to 4.2171% of pixels: did not reproduce in every run. The pipeline is not what varies: across independent boots the store's viewport state is bit-identical (same atom count, same position checksums, same bond count, same mesh vertex and coordinate checksums) and __megane_test.getCameraState() returns the same position, target and zoom to the last float — but that API does not report the orthographic frustum, and the framing is what differs. Clicking Reset View changes neither mode (before and after are byte-identical), so the fit is settled by the time it runs. The split is by fixture: every case on caffeine_water.pdb reproduced in every run made, and every case on another fixture differed in at least one — including cases whose three-boot sample agreed, which is why agreement alone is not treated as evidence here (crystal-distance-bonds reproduced three times and then differed by 6.9% on the next render).
Nodes: coordination_generator, drawing_boundary, load_structure, polyhedron_generator, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "perovskite_srtio3_3x3x3.xyz",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "drawing_boundary",
"xMin": 0,
"xMax": 1,
"yMin": 0,
"yMax": 1,
"zMin": 0,
"zMax": 1,
"id": "drawing-boundary-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "coordination_generator",
"excludedCenters": [
22
],
"excludedLigands": [],
"cutoffTolerance": 1.15,
"boundaryMode": "complete",
"id": "coordination-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "polyhedron_generator",
"opacity": 0.5,
"showEdges": false,
"edgeColor": "#dddddd",
"edgeWidth": 3,
"id": "polyhedron-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 2160
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "drawing-boundary-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "drawing-boundary-1",
"target": "coordination-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "drawing-boundary-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "coordination-1",
"target": "viewport-1",
"sourceHandle": "bond",
"targetHandle": "bond"
},
{
"source": "coordination-1",
"target": "polyhedron-1",
"sourceHandle": "coordination",
"targetHandle": "coordination"
},
{
"source": "polyhedron-1",
"target": "viewport-1",
"sourceHandle": "mesh",
"targetHandle": "mesh"
}
]
}
Where this pipeline came from
pipeline template "solid" applied via store.applyTemplate, then edited through the editor store; coordination_generator.excludedCenters=[22]
filter-carbon
Display only the carbon atoms of my structure.
Fixture: caffeine_water.pdb · Tags: filter, params

Only the carbon atoms and the bonds between them; every other element hidden.
Nodes: add_bond, filter ×2, load_structure, load_trajectory, modify ×2, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "caffeine_water_vibration.xtc",
"source": "file",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
},
{
"type": "filter",
"query": "not element == \"C\"",
"bond_query": "",
"id": "node-5",
"position": {
"x": 425,
"y": 2000
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0,
"id": "node-6",
"position": {
"x": 425,
"y": 2200
},
"enabled": true
},
{
"type": "filter",
"query": "",
"bond_query": "not both element == \"C\"",
"id": "node-7",
"position": {
"x": 425,
"y": 2400
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0,
"id": "node-8",
"position": {
"x": 425,
"y": 2600
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "node-5",
"sourceHandle": "particle",
"targetHandle": "in"
},
{
"source": "node-5",
"target": "node-6",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "node-6",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "particle"
},
{
"source": "addbond-1",
"target": "node-7",
"sourceHandle": "bond",
"targetHandle": "in"
},
{
"source": "node-7",
"target": "node-8",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "node-8",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "bond"
}
]
}
Where this pipeline came from
pipeline template "molecule" applied via store.applyTemplate, then edited through the editor store
filter-residue
Show only the alanine residues (resname ALA).
Fixture: 1ubq.pdb · Tags: filter, params

Only 1UBQ's two alanine residues — Ala28 and Ala46, five atoms each with their bonds. Everything else, protein and crystallographic water alike, is hidden.
The runner does not assert this image. Over 3 independent boots the same pipeline produced renders differing by up to 0% of pixels: did not reproduce in every run. The pipeline is not what varies: across independent boots the store's viewport state is bit-identical (same atom count, same position checksums, same bond count, same mesh vertex and coordinate checksums) and __megane_test.getCameraState() returns the same position, target and zoom to the last float — but that API does not report the orthographic frustum, and the framing is what differs. Clicking Reset View changes neither mode (before and after are byte-identical), so the fit is settled by the time it runs. The split is by fixture: every case on caffeine_water.pdb reproduced in every run made, and every case on another fixture differed in at least one — including cases whose three-boot sample agreed, which is why agreement alone is not treated as evidence here (crystal-distance-bonds reproduced three times and then differed by 6.9% on the next render).
Nodes: add_bond, filter ×2, load_structure, modify ×2, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "1ubq.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 2160
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "distance",
"id": "node-1",
"position": {
"x": 600,
"y": 400
},
"enabled": true
},
{
"type": "filter",
"query": "not resname == \"ALA\"",
"bond_query": "",
"id": "node-2",
"position": {
"x": 200,
"y": 400
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0,
"id": "node-3",
"position": {
"x": 200,
"y": 560
},
"enabled": true
},
{
"type": "filter",
"query": "",
"bond_query": "not ((both atom_index >= 211 and both atom_index <= 215) or (both atom_index >= 358 and both atom_index <= 362))",
"id": "node-4",
"position": {
"x": 800,
"y": 400
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0,
"id": "node-5",
"position": {
"x": 800,
"y": 560
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "node-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "node-2",
"sourceHandle": "particle",
"targetHandle": "in"
},
{
"source": "node-2",
"target": "node-3",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "node-3",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "particle"
},
{
"source": "node-1",
"target": "node-4",
"sourceHandle": "bond",
"targetHandle": "in"
},
{
"source": "node-4",
"target": "node-5",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "node-5",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "bond"
}
]
}
Where this pipeline came from
pipeline template "protein" applied via store.applyTemplate, then rebuilt through the editor store: the template's own branches removed and the filter-carbon construction put in their place (full-opacity base stream plus filter -> modify(opacity 0) on the complement, for atoms and for bonds). The template cannot answer this prompt — it hides every protein atom and draws a cartoon built from the primary snapshot, which no upstream filter narrows.
filter-oxygen-nitrogen
Highlight just the oxygen and nitrogen atoms.
Fixture: caffeine_water.pdb · Tags: filter, params

Oxygens and nitrogens at full opacity; everything else faded back so they stand out.
Nodes: add_bond, filter, load_structure, load_trajectory, modify, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "caffeine_water_vibration.xtc",
"source": "file",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
},
{
"type": "filter",
"query": "not (element == \"O\" or element == \"N\")",
"bond_query": "",
"id": "node-13",
"position": {
"x": 425,
"y": 2000
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0.12,
"id": "node-14",
"position": {
"x": 425,
"y": 2200
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "addbond-1",
"target": "viewport-1",
"sourceHandle": "bond",
"targetHandle": "bond"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "node-13",
"sourceHandle": "particle",
"targetHandle": "in"
},
{
"source": "node-13",
"target": "node-14",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "node-14",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "particle"
}
]
}
Where this pipeline came from
pipeline template "molecule" applied via store.applyTemplate, then edited through the editor store
modify-scale
Show the molecule with the atoms drawn at half their normal size.
Fixture: caffeine_water.pdb · Tags: modify, params

Every atom drawn at half its normal radius.
Nodes: add_bond, load_structure, load_trajectory, modify, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "caffeine_water_vibration.xtc",
"source": "file",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
},
{
"type": "modify",
"scale": 0.5,
"opacity": 1,
"id": "node-1",
"position": {
"x": 425,
"y": 2000
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "addbond-1",
"target": "viewport-1",
"sourceHandle": "bond",
"targetHandle": "bond"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "node-1",
"sourceHandle": "particle",
"targetHandle": "in"
},
{
"source": "node-1",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "particle"
}
]
}
Where this pipeline came from
pipeline template "molecule" applied via store.applyTemplate, then edited through the editor store
modify-transparent
Make the structure semi-transparent so I can see through it.
Fixture: caffeine_water.pdb · Tags: modify, params

The whole structure semi-transparent, so overlapping atoms show through.
Nodes: add_bond, load_structure, load_trajectory, modify, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "caffeine_water_vibration.xtc",
"source": "file",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0.5,
"id": "node-2",
"position": {
"x": 425,
"y": 2000
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "addbond-1",
"target": "viewport-1",
"sourceHandle": "bond",
"targetHandle": "bond"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "node-2",
"sourceHandle": "particle",
"targetHandle": "in"
},
{
"source": "node-2",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "particle"
}
]
}
Where this pipeline came from
pipeline template "molecule" applied via store.applyTemplate, then edited through the editor store
labels-element
Display the structure and label every atom with its element symbol.
Fixture: caffeine_water.pdb · Tags: overlay, labels

Every atom carrying its element symbol as a text label.
Nodes: add_bond, label_generator, load_structure, load_trajectory, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "caffeine_water_vibration.xtc",
"source": "file",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
},
{
"type": "label_generator",
"source": "element",
"id": "node-1",
"position": {
"x": 425,
"y": 2000
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "addbond-1",
"target": "viewport-1",
"sourceHandle": "bond",
"targetHandle": "bond"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "node-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "node-1",
"target": "viewport-1",
"sourceHandle": "label",
"targetHandle": "label"
}
]
}
Where this pipeline came from
pipeline template "molecule" applied via store.applyTemplate, then edited through the editor store
vectors-forces
Load forces from a file and draw them as arrows on each atom.
Fixture: caffeine_water.pdb · Tags: overlay, vectors

The structure with a Load Vector -> Vectors overlay wired to the Viewport's vector channel. No arrows are drawn: the forces file is not part of the pipeline JSON, so the overlay has nothing to draw.
This picture cannot grade the prompt. load_vector reads fileVectors, which is ephemeral store state a SerializedPipeline does not carry and deserialize clears, so vector_overlay emits nothing and this pipeline draws the plain structure. The product behaves the same way, so the image grades nothing. The rubric is the only check available for this case.
Nodes: add_bond, load_structure, load_trajectory, load_vector, symmetry, vector_overlay, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "caffeine_water_vibration.xtc",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
},
{
"type": "load_vector",
"fileName": null,
"id": "node-1",
"position": {
"x": 900,
"y": 0
},
"enabled": true
},
{
"type": "vector_overlay",
"scale": 1,
"id": "node-2",
"position": {
"x": 900,
"y": 200
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "addbond-1",
"target": "viewport-1",
"sourceHandle": "bond",
"targetHandle": "bond"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "node-1",
"target": "node-2",
"sourceHandle": "vector",
"targetHandle": "vector"
},
{
"source": "node-2",
"target": "viewport-1",
"sourceHandle": "vector",
"targetHandle": "vector"
}
]
}
Where this pipeline came from
pipeline template "molecule" applied via store.applyTemplate, then load_vector + vector_overlay added through the editor store and wired to viewport.vector
multistep-filter-bonds
Show my structure with bonds, but only the carbon atoms, and label them with their element.
Fixture: caffeine_water.pdb · Tags: multistep, filter, labels

Only the caffeine's carbons, with the bonds between them, each labelled "C". Every other atom, its bonds, and its label are gone.
Nodes: add_bond, filter ×3, label_generator, load_structure, load_trajectory, modify ×2, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "caffeine_water_vibration.xtc",
"source": "file",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
},
{
"type": "filter",
"query": "not element == \"C\"",
"bond_query": "",
"id": "node-2",
"position": {
"x": 425,
"y": 2000
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0,
"id": "node-3",
"position": {
"x": 425,
"y": 2200
},
"enabled": true
},
{
"type": "filter",
"query": "",
"bond_query": "not both element == \"C\"",
"id": "node-4",
"position": {
"x": 425,
"y": 2400
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0,
"id": "node-5",
"position": {
"x": 425,
"y": 2600
},
"enabled": true
},
{
"type": "label_generator",
"source": "element",
"id": "node-6",
"position": {
"x": 425,
"y": 2800
},
"enabled": true
},
{
"type": "filter",
"query": "element == \"C\"",
"bond_query": "",
"id": "node-1",
"position": {
"x": 1400,
"y": 400
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "node-2",
"sourceHandle": "particle",
"targetHandle": "in"
},
{
"source": "node-2",
"target": "node-3",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "node-3",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "particle"
},
{
"source": "addbond-1",
"target": "node-4",
"sourceHandle": "bond",
"targetHandle": "in"
},
{
"source": "node-4",
"target": "node-5",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "node-5",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "bond"
},
{
"source": "node-6",
"target": "viewport-1",
"sourceHandle": "label",
"targetHandle": "label"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "node-1",
"sourceHandle": "particle",
"targetHandle": "in"
},
{
"source": "node-1",
"target": "node-6",
"sourceHandle": "out",
"targetHandle": "particle"
}
]
}
Where this pipeline came from
pipeline template "molecule" applied via store.applyTemplate, then edited through the editor store. The label branch was rebuilt afterwards: it was fed the whole particle stream, so every atom in the box was labelled "H" or "O" rather than the carbons being labelled "C". Labels, unlike the cartoon representation, do honour an upstream filter, so a filter selecting the carbons now feeds the generator.
multistep-water-transparent
I have a caffeine molecule dissolved in water, where the water residues are named HOH. Keep the caffeine fully visible, but make the water molecules semi-transparent.
Fixture: caffeine_water.pdb · Tags: multistep, filter, modify, params

Caffeine fully opaque; the water's atoms and its bonds both faded to 20%.
Nodes: add_bond, filter ×2, load_structure, load_trajectory, modify ×2, replicate, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "caffeine_water_vibration.xtc",
"source": "file",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "replicate",
"nx": 1,
"ny": 1,
"nz": 1,
"id": "replicate-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 2160
},
"enabled": true
},
{
"type": "filter",
"query": "resname == \"HOH\"",
"bond_query": "",
"id": "node-1",
"position": {
"x": 425,
"y": 2360
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0.2,
"id": "node-2",
"position": {
"x": 425,
"y": 2560
},
"enabled": true
},
{
"type": "filter",
"query": "",
"bond_query": "both atom_index >= 24",
"id": "node-3",
"position": {
"x": 425,
"y": 2760
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0.2,
"id": "node-4",
"position": {
"x": 425,
"y": 2960
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "replicate-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "replicate-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "replicate-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "replicate-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "replicate-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "replicate-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "replicate-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "replicate-1",
"target": "node-1",
"sourceHandle": "particle",
"targetHandle": "in"
},
{
"source": "node-1",
"target": "node-2",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "node-2",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "particle"
},
{
"source": "addbond-1",
"target": "node-3",
"sourceHandle": "bond",
"targetHandle": "in"
},
{
"source": "node-3",
"target": "node-4",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "node-4",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "bond"
}
]
}
Where this pipeline came from
tests/e2e/water-line.spec.ts construction at opacity 0.2, fresh boot, store.serialize()
representation-water-line
I have a caffeine molecule dissolved in water, where the water residues are named HOH. Render the water molecules as a line representation, but leave the caffeine in its normal style.
Fixture: caffeine_water.pdb · Tags: multistep, filter, representation, params

Water drawn as thin lines, caffeine left in the default ball-and-stick style.
Nodes: add_bond, filter, load_structure, load_trajectory, replicate, representation, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "",
"source": "file",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "replicate",
"nx": 1,
"ny": 1,
"nz": 1,
"id": "replicate-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 2160
},
"enabled": true
},
{
"type": "filter",
"query": "resname == \"HOH\"",
"bond_query": "",
"id": "node-1",
"position": {
"x": 425,
"y": 2360
},
"enabled": true
},
{
"type": "representation",
"mode": "line",
"id": "node-2",
"position": {
"x": 425,
"y": 2560
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "replicate-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "replicate-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "replicate-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "replicate-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "replicate-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "addbond-1",
"target": "viewport-1",
"sourceHandle": "bond",
"targetHandle": "bond"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "replicate-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "replicate-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "replicate-1",
"target": "node-1",
"sourceHandle": "particle",
"targetHandle": "in"
},
{
"source": "node-1",
"target": "node-2",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "node-2",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "particle"
}
]
}
Where this pipeline came from
tests/e2e/water-line.spec.ts :: water-line, fresh boot, store.serialize()
hide-water
I have a caffeine molecule dissolved in water, where the water residues are named HOH. Hide the water so only the caffeine is shown.
Fixture: caffeine_water.pdb · Tags: multistep, filter, modify, params

Only the caffeine, in ball-and-stick — the solvent's atoms and its bonds are both gone, and the caffeine keeps its own 25 bonds.
Nodes: add_bond, filter ×2, load_structure, load_trajectory, modify ×2, replicate, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "",
"source": "file",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "replicate",
"nx": 1,
"ny": 1,
"nz": 1,
"id": "replicate-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 2160
},
"enabled": true
},
{
"type": "filter",
"query": "resname == \"HOH\"",
"bond_query": "",
"id": "node-1",
"position": {
"x": 425,
"y": 2360
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0,
"id": "node-2",
"position": {
"x": 425,
"y": 2560
},
"enabled": true
},
{
"type": "filter",
"query": "",
"bond_query": "both atom_index >= 24",
"id": "node-3",
"position": {
"x": 425,
"y": 2760
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0,
"id": "node-4",
"position": {
"x": 425,
"y": 2960
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "replicate-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "replicate-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "replicate-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "replicate-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "replicate-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "replicate-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "replicate-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "replicate-1",
"target": "node-1",
"sourceHandle": "particle",
"targetHandle": "in"
},
{
"source": "node-1",
"target": "node-2",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "node-2",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "particle"
},
{
"source": "addbond-1",
"target": "node-3",
"sourceHandle": "bond",
"targetHandle": "in"
},
{
"source": "node-3",
"target": "node-4",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "node-4",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "bond"
}
]
}
Where this pipeline came from
tests/e2e/water-line.spec.ts :: water-hidden, fresh boot, store.serialize()
molecule-basic-ja
分子を結合付きで表示してください。
Fixture: caffeine_water.pdb · Tags: molecule, multilingual

分子が結合付きで描画されている(molecule-basic と同じ絵)。
Nodes: add_bond, load_structure, load_trajectory, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "caffeine_water_vibration.xtc",
"source": "file",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "addbond-1",
"target": "viewport-1",
"sourceHandle": "bond",
"targetHandle": "bond"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
}
]
}
Where this pipeline came from
pipeline template "molecule" applied via store.applyTemplate, then edited through the editor store
filter-carbon-ja
炭素原子だけを表示して。
Fixture: caffeine_water.pdb · Tags: filter, multilingual, params

炭素原子とその間の結合だけが見え、他の元素は隠れている。
Nodes: add_bond, filter ×2, load_structure, load_trajectory, modify ×2, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "caffeine_water_vibration.xtc",
"source": "file",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
},
{
"type": "filter",
"query": "not element == \"C\"",
"bond_query": "",
"id": "node-9",
"position": {
"x": 425,
"y": 2000
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0,
"id": "node-10",
"position": {
"x": 425,
"y": 2200
},
"enabled": true
},
{
"type": "filter",
"query": "",
"bond_query": "not both element == \"C\"",
"id": "node-11",
"position": {
"x": 425,
"y": 2400
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0,
"id": "node-12",
"position": {
"x": 425,
"y": 2600
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "node-9",
"sourceHandle": "particle",
"targetHandle": "in"
},
{
"source": "node-9",
"target": "node-10",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "node-10",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "particle"
},
{
"source": "addbond-1",
"target": "node-11",
"sourceHandle": "bond",
"targetHandle": "in"
},
{
"source": "node-11",
"target": "node-12",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "node-12",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "bond"
}
]
}
Where this pipeline came from
pipeline template "molecule" applied via store.applyTemplate, then edited through the editor store
solid-supercell
Show a 2x2x2 supercell of my crystal structure.
Fixture: perovskite_srtio3_3x3x3.xyz · Tags: solid, replicate, params

A 2x2x2 supercell of the crystal — eight copies of the cell contents.
The runner does not assert this image. Over 3 independent boots the same pipeline produced renders differing by up to 0% of pixels: did not reproduce in every run. The pipeline is not what varies: across independent boots the store's viewport state is bit-identical (same atom count, same position checksums, same bond count, same mesh vertex and coordinate checksums) and __megane_test.getCameraState() returns the same position, target and zoom to the last float — but that API does not report the orthographic frustum, and the framing is what differs. Clicking Reset View changes neither mode (before and after are byte-identical), so the fit is settled by the time it runs. The split is by fixture: every case on caffeine_water.pdb reproduced in every run made, and every case on another fixture differed in at least one — including cases whose three-boot sample agreed, which is why agreement alone is not treated as evidence here (crystal-distance-bonds reproduced three times and then differed by 6.9% on the next render).
Nodes: coordination_generator, drawing_boundary, load_structure, polyhedron_generator, replicate, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "perovskite_srtio3_3x3x3.xyz",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "drawing_boundary",
"xMin": 0,
"xMax": 1,
"yMin": 0,
"yMax": 1,
"zMin": 0,
"zMax": 1,
"id": "drawing-boundary-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "coordination_generator",
"excludedCenters": [],
"excludedLigands": [],
"cutoffTolerance": 1.15,
"boundaryMode": "complete",
"id": "coordination-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "polyhedron_generator",
"opacity": 0.5,
"showEdges": false,
"edgeColor": "#dddddd",
"edgeWidth": 3,
"id": "polyhedron-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 2160
},
"enabled": true
},
{
"type": "replicate",
"nx": 2,
"ny": 2,
"nz": 2,
"id": "node-9",
"position": {
"x": 425,
"y": 2360
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "drawing-boundary-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "drawing-boundary-1",
"target": "coordination-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "coordination-1",
"target": "viewport-1",
"sourceHandle": "bond",
"targetHandle": "bond"
},
{
"source": "coordination-1",
"target": "polyhedron-1",
"sourceHandle": "coordination",
"targetHandle": "coordination"
},
{
"source": "polyhedron-1",
"target": "viewport-1",
"sourceHandle": "mesh",
"targetHandle": "mesh"
},
{
"source": "drawing-boundary-1",
"target": "node-9",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "node-9",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
}
]
}
Where this pipeline came from
pipeline template "solid" applied via store.applyTemplate, then edited through the editor store; replicate 2x2x2
color-by-element
Color the atoms by their element.
Fixture: caffeine_water.pdb · Tags: color, params

Atoms coloured by element (megane's default CPK palette).
Nodes: add_bond, color, load_structure, load_trajectory, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine_water.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "load_trajectory",
"fileName": "caffeine_water_vibration.xtc",
"source": "file",
"id": "traj-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 1800
},
"enabled": true
},
{
"type": "color",
"mode": "byElement",
"uniformColor": "#ff8800",
"id": "node-3",
"position": {
"x": 425,
"y": 2000
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "traj-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "traj-1",
"target": "symmetry-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "addbond-1",
"target": "viewport-1",
"sourceHandle": "bond",
"targetHandle": "bond"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "trajectory",
"targetHandle": "trajectory"
},
{
"source": "wrap-1",
"target": "node-3",
"sourceHandle": "particle",
"targetHandle": "in"
},
{
"source": "node-3",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "particle"
}
]
}
Where this pipeline came from
pipeline template "molecule" applied via store.applyTemplate, then edited through the editor store
representation-cartoon
Show my protein as a cartoon.
Fixture: 1ubq.pdb · Tags: representation, params

The protein drawn as a cartoon ribbon.
The runner does not assert this image. Over 3 independent boots the same pipeline produced renders differing by up to 19.1891% of pixels: did not reproduce in every run. The pipeline is not what varies: across independent boots the store's viewport state is bit-identical (same atom count, same position checksums, same bond count, same mesh vertex and coordinate checksums) and __megane_test.getCameraState() returns the same position, target and zoom to the last float — but that API does not report the orthographic frustum, and the framing is what differs. Clicking Reset View changes neither mode (before and after are byte-identical), so the fit is settled by the time it runs. The split is by fixture: every case on caffeine_water.pdb reproduced in every run made, and every case on another fixture differed in at least one — including cases whose three-boot sample agreed, which is why agreement alone is not treated as evidence here (crystal-distance-bonds reproduced three times and then differed by 6.9% on the next render).
Nodes: filter ×2, load_structure, modify ×2, representation, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "1ubq.pdb",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "filter",
"query": "resname != \"HOH\"",
"id": "protein-filter",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0,
"id": "protein-modify",
"position": {
"x": 15,
"y": 1440
},
"enabled": true
},
{
"type": "representation",
"mode": "both",
"id": "protein-rep",
"position": {
"x": 15,
"y": 1800
},
"enabled": true
},
{
"type": "filter",
"query": "resname == \"HOH\"",
"id": "water-filter",
"position": {
"x": -395,
"y": 1440
},
"enabled": true
},
{
"type": "modify",
"scale": 1,
"opacity": 0.5,
"id": "water-modify",
"position": {
"x": -395,
"y": 1800
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 2160
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "protein-filter",
"sourceHandle": "particle",
"targetHandle": "in"
},
{
"source": "protein-filter",
"target": "protein-modify",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "protein-modify",
"target": "protein-rep",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "protein-rep",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "water-filter",
"sourceHandle": "particle",
"targetHandle": "in"
},
{
"source": "water-filter",
"target": "water-modify",
"sourceHandle": "out",
"targetHandle": "in"
},
{
"source": "water-modify",
"target": "viewport-1",
"sourceHandle": "out",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
}
]
}
Where this pipeline came from
pipeline template "protein" applied via store.applyTemplate, then edited through the editor store
surface-molecular
Show the molecular surface of my structure.
Fixture: quartz_sio2_2x2x2.xyz · Tags: surface_mesh

The structure wrapped in a molecular surface mesh.
The runner does not assert this image. Over 3 independent boots the same pipeline produced renders differing by up to 15.2454% of pixels: did not reproduce in every run. The pipeline is not what varies: across independent boots the store's viewport state is bit-identical (same atom count, same position checksums, same bond count, same mesh vertex and coordinate checksums) and __megane_test.getCameraState() returns the same position, target and zoom to the last float — but that API does not report the orthographic frustum, and the framing is what differs. Clicking Reset View changes neither mode (before and after are byte-identical), so the fit is settled by the time it runs. The split is by fixture: every case on caffeine_water.pdb reproduced in every run made, and every case on another fixture differed in at least one — including cases whose three-boot sample agreed, which is why agreement alone is not treated as evidence here (crystal-distance-bonds reproduced three times and then differed by 6.9% on the next render).
Nodes: load_structure, surface_mesh, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "quartz_sio2_2x2x2.xyz",
"hasTrajectory": false,
"hasCell": true,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -190,
"y": 720
},
"enabled": true
},
{
"type": "surface_mesh",
"alphaRadius": 3,
"color": "#4488ff",
"opacity": 0.5,
"id": "surface-1",
"position": {
"x": -190,
"y": 1080
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "surface-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "loader-1",
"target": "viewport-1",
"sourceHandle": "cell",
"targetHandle": "cell"
},
{
"source": "surface-1",
"target": "viewport-1",
"sourceHandle": "mesh",
"targetHandle": "mesh"
}
]
}
Where this pipeline came from
pipeline template "surface_mesh" applied via store.applyTemplate, then edited through the editor store
volumetric-isosurface
Load a cube file and render its isosurface.
Fixture: caffeine.sdf · Tags: volumetric, isosurface

Caffeine with its 25 bonds. The isosurface is absent: the cube file's grid is not part of the pipeline JSON, so Load Volumetric and Isosurface both report having no input.
This picture cannot grade the prompt. load_volumetric reads the parsed cube grid, which is ephemeral store state a SerializedPipeline does not carry and deserialize clears. After the round trip the node reports "No volumetric data loaded" and isosurface reports "No volumetric input", so the mesh is empty and the picture is the molecule alone — the same as any pipeline without an isosurface at all. The product drops the grid the same way, so no pipeline can draw a different picture for this prompt. The rubric is the only check available for this case.
The runner does not assert this image. Over 3 independent boots the same pipeline produced renders differing by up to 9.0324% of pixels: did not reproduce in every run. The pipeline is not what varies: across independent boots the store's viewport state is bit-identical (same atom count, same position checksums, same bond count, same mesh vertex and coordinate checksums) and __megane_test.getCameraState() returns the same position, target and zoom to the last float — but that API does not report the orthographic frustum, and the framing is what differs. Clicking Reset View changes neither mode (before and after are byte-identical), so the fit is settled by the time it runs. The split is by fixture: every case on caffeine_water.pdb reproduced in every run made, and every case on another fixture differed in at least one — including cases whose three-boot sample agreed, which is why agreement alone is not treated as evidence here (crystal-distance-bonds reproduced three times and then differed by 6.9% on the next render).
Nodes: add_bond, isosurface, load_structure, load_volumetric, symmetry, viewport, wrap
Reference pipeline (pipeline.megane.json)
{
"version": 3,
"nodes": [
{
"type": "load_structure",
"fileName": "caffeine.sdf",
"hasTrajectory": false,
"hasCell": false,
"id": "loader-1",
"position": {
"x": -190,
"y": 0
},
"enabled": true
},
{
"type": "symmetry",
"mode": "expand",
"id": "symmetry-1",
"position": {
"x": -190,
"y": 360
},
"enabled": true
},
{
"type": "wrap",
"mode": "none",
"id": "wrap-1",
"position": {
"x": -395,
"y": 720
},
"enabled": true
},
{
"type": "add_bond",
"bondSource": "structure",
"id": "addbond-1",
"position": {
"x": -395,
"y": 1080
},
"enabled": true
},
{
"type": "load_volumetric",
"fileName": "caffeine_esp.cube",
"id": "volumetric-1",
"position": {
"x": 15,
"y": 720
},
"enabled": true
},
{
"type": "isosurface",
"isoLevel": 0.03,
"color": "#3b82f6",
"opacity": 0.55,
"showNegative": true,
"negativeColor": "#ef4444",
"colorMode": "solid",
"colormap": "rwb",
"id": "isosurface-1",
"position": {
"x": 15,
"y": 1080
},
"enabled": true
},
{
"type": "viewport",
"perspective": false,
"cellAxesVisible": true,
"pivotMarkerVisible": true,
"id": "viewport-1",
"position": {
"x": -190,
"y": 1440
},
"enabled": true
}
],
"edges": [
{
"source": "loader-1",
"target": "symmetry-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "symmetry-1",
"target": "wrap-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "addbond-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "wrap-1",
"target": "viewport-1",
"sourceHandle": "particle",
"targetHandle": "particle"
},
{
"source": "addbond-1",
"target": "viewport-1",
"sourceHandle": "bond",
"targetHandle": "bond"
},
{
"source": "volumetric-1",
"target": "isosurface-1",
"sourceHandle": "volumetric",
"targetHandle": "volumetric"
},
{
"source": "isosurface-1",
"target": "viewport-1",
"sourceHandle": "mesh",
"targetHandle": "mesh"
}
]
}
Where this pipeline came from
pipeline template "esp" applied via store.applyTemplate, then edited through the editor store