feat(render): double-single fills for the face3d pipeline

Table / PolyfaceMesh / greek-text / mleader-background fills go through
the face3d pipeline; their vertices were single f32 and quantized at UTM
scale. WireModel now carries a fill_tris_low residual (filled by the
tessellate Lines path), Face3DVertex gains position_low (location 3), and
face3d.wgsl reconstructs the eye-relative position from the pair. 3DFACE
quads built from key_vertices use a zero residual (no low source).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Opus 4.7 committed 2026-06-23 18:28:52 +03:00
1 parent bd12cc2f5a
commit c0f3d0de5e
41 files changed
+107 -28

No files matched your search

+1
View File
@@ -182,6 +182,7 @@ impl CadCommand for AttdefCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}
+1
View File
@@ -627,6 +627,7 @@ fn line_wire(from: Vec3, to: Vec3) -> WireModel {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
}
}
+1
View File
@@ -92,6 +92,7 @@ impl CadCommand for LineCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}
+1
View File
@@ -147,6 +147,7 @@ impl CadCommand for MlineCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}
+1
View File
@@ -124,6 +124,7 @@ impl CadCommand for ImageCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}
+2
View File
@@ -90,6 +90,7 @@ impl CadCommand for RayCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}
@@ -172,6 +173,7 @@ impl CadCommand for XLineCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}
+1
View File
@@ -96,6 +96,7 @@ impl CadCommand for RevCloudCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}
+2
View File
@@ -136,6 +136,7 @@ impl CadCommand for WipeoutCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
WipeoutMode::Polygonal => {
@@ -163,6 +164,7 @@ impl CadCommand for WipeoutCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}
+1
View File
@@ -80,6 +80,7 @@ impl CadCommand for AreaCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}
+1
View File
@@ -75,6 +75,7 @@ impl CadCommand for DistCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}