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 <[email protected]>
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

+2
View File
@@ -108,6 +108,7 @@ impl CadCommand for AlignedDimensionCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}
@@ -149,6 +150,7 @@ fn preview_aligned(p1: Vec3, p2: Vec3, dim_pt: Vec3) -> WireModel {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
}
}
+1
View File
@@ -140,6 +140,7 @@ fn preview_wire(points: Vec<Vec3>) -> WireModel {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
}
}
+1
View File
@@ -111,6 +111,7 @@ fn preview_line(a: Vec3, b: Vec3) -> WireModel {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
}
}
+1
View File
@@ -169,6 +169,7 @@ impl CadCommand for DimBaselineCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}
+1
View File
@@ -149,6 +149,7 @@ impl CadCommand for DimContinueCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}
+1
View File
@@ -106,6 +106,7 @@ impl CadCommand for DimJogLineCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}
+1
View File
@@ -120,6 +120,7 @@ impl CadCommand for DimTeditCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
+1
View File
@@ -179,6 +179,7 @@ fn preview_wire(pts: &[Vec3]) -> WireModel {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
}
}
+1
View File
@@ -147,6 +147,7 @@ fn preview_wire(points: Vec<Vec3>) -> WireModel {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
}
}
+1
View File
@@ -165,6 +165,7 @@ fn preview_wire(pts: &[Vec3]) -> WireModel {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
}
}
+1
View File
@@ -472,6 +472,7 @@ fn preview_wire(pts: &[Vec3]) -> WireModel {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
}
}
+1
View File
@@ -104,6 +104,7 @@ impl CadCommand for QdimCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}
+1
View File
@@ -116,6 +116,7 @@ fn preview_wire(points: Vec<Vec3>) -> WireModel {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
}
}
+1
View File
@@ -164,6 +164,7 @@ impl CadCommand for TableCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
} else {
None
+1
View File
@@ -106,6 +106,7 @@ impl CadCommand for ToleranceCommand {
plinegen: true,
vp_scissor: None,
fill_tris: vec![],
fill_tris_low: Vec::new(),
})
}
}