public sealed class BlockoutRemeshDebugdocs/plan/41 § D1's seven artefacts, on screen.
Remarks
§ D1's argument for making every stage an artefact is that a remesher is judged by a picture, and until this the artefacts were there and the picture was not (#413). RemeshDump was referenced by its own tests, by a RunawayGuard comment and by nothing under Editor/; the measurements in that document were obtained by parsing written .obj files, which is the workaround for not having this.
⚠ Captured on demand and never per frame. RemeshDump.Capture re-runs stages ① to ⑤ and costs what a remesh costs — seconds — which is exactly why it is legitimate: § D14 makes the pipeline deterministic, so re-running gives the artefacts the remesh had. A hook threaded through Remesher to capture them in flight would put a debugging concern in the middle of a pipeline every caller pays for.
⚠ The capture remembers which entity it is of. Every artefact is indexed against the conditioned mesh of one particular solid, so drawing it over a different selection would be a field, a patch partition and a singularity set laid over geometry they say nothing about — which reads as the remesher having produced nonsense.
⚠ Colour is chosen here rather than in Core/, which is what RemeshRegion asks for in as many words: "a patch index rather than a colour … the index is the artefact; colouring it is one modulus away". This is the modulus.
Fields and properties (17)
public const float SingularityArmHow long a singularity's cross arms are, as a fraction of the model's diagonal.
public bool ShowConditionedStage ① — the conditioned triangles, as a wireframe.
public bool ShowFeaturesStage ② — the feature chains.
public bool ShowFieldStage ③ — the 4-RoSy field, as a cross per vertex.
public bool ShowSingularitiesStage ③ — where the field's singularities landed.
public bool ShowPatchesStage ④ — the patch partition, as coloured regions.
public bool ShowQuantizationStage ⑤ — the quantized arcs, coloured by how far they moved.
public Entity TargetWhat the capture is of, or Null when there is none.
public RemeshDump? DumpThe artefacts, or when nothing has been captured.
public IReadOnlyList<string> WarningsWhat the stages complained about, in the order they complained.
public bool IsVisibleWhether anything would be drawn: a capture, and at least one stage turned on.
public Color4 FeatureColourWhat a feature chain is drawn in.
public Color4 FieldColourWhat a field cross is drawn in.
public Color4 SingularityColourWhat a singularity is drawn in.
public Color4 WireColourWhat the conditioned wireframe is drawn in.
public Color4 StrainColourWhat an arc the quantizer had to move a long way is drawn in.
public Color4 SettledColourWhat an arc that got what the density field asked for is drawn in.
Methods (3)
public bool Capture(SceneDocument document, RemeshSettings settings)Captures the artefacts for the first selected solid.
public void Clear()Throws the capture away.
public void Draw(GizmoDraw draw, in Matrix4x4 placement)Draws whichever stages are turned on.
Used by (3)
- BlockoutHoverTestsVixen.Editor.Blockout.Tests
- BlockoutModeVixen.Editor.Blockout
- Describes_Vixen_Editor_Blockout_BlockoutRemeshDebugVixen.Editor.Blockout