| … | … | @@ -99,10 +99,26 @@ public: |
| 99 | 99 | // this node is not, and cannot become, because it hands on geometry |
| 100 | 100 | // rather than naming a float. |
| 101 | 101 | // |
| 102 | | // 3. It has NO CONSUMERS. grep across proc-nodes, dc-terrain and |
| 103 | | // hyper-tps finds VolumeToMesh only in register_types.cpp and in |
| 104 | | // glsl_golden_gate.gd's refusal case. Nothing builds a volume through |
| 105 | | // it, which is consistent with execute() below being a placeholder. |
| 102 | // 3. NOTHING BUILDS A VOLUME THROUGH IT -- but it IS REACHABLE, and the |
| 103 | // first version of this note said "no consumers", which was wrong. It |
| 104 | // came from a grep truncated at six lines, and the line it cut off was |
| 105 | // the one that matters: |
| 106 | // |
| 107 | // graph_importer.cpp:161 the FACTORY. Any imported or serialized |
| 108 | // graph naming "VolumeToMesh" instantiates |
| 109 | // one, and then bakes to nothing. |
| 110 | // |
| 111 | // What is true: no graph ON DISK uses it -- searched .tres, .tscn and |
| 112 | // .json across proc-nodes, dc-terrain and hyper-tps, zero hits -- and |
| 113 | // nothing constructs a meaningful ProcVolume anywhere. So it is |
| 114 | // unused, not unreachable, and the reachable path is exactly the one |
| 115 | // that fails silently. That makes execute()'s warning below load |
| 116 | // bearing rather than decorative. |
| 117 | // |
| 118 | // blender-bridge does NOT map it, deliberately, and says why |
| 119 | // (geometry_serializer.py:151): "ours takes a Density FIELD, Blender's |
| 120 | // takes a volume GEOMETRY". They are different operations that share a |
| 121 | // name, so a Blender graph can never produce this node. |
| 106 | 122 | // |
| 107 | 123 | // Turning this true would require it to emit something, and there is |
| 108 | 124 | // nothing for it to emit. The debt here is not the flag -- see execute(). |