forked from 1b-agent/opencadstudio-upstream
refactor(wire): add WireModel.points_low parallel buffer (empty default)
Foundation for double-single positions: WireModel now carries an index-paired f32 residual buffer (`points_low`) next to the existing `points` high half. Empty means "all-zero residual", so every existing constructor (interactive draw, previews) is unchanged in behaviour; tessellation from CAD f64 will fill it in the next steps so vertex precision survives at UTM-scale coordinates. Co-Authored-By: Claude Opus 4.7 <[email protected]>
This commit is contained in:
1 parent
a0b4968ad2
commit
97d6993768
39 files changed
+72
-1
No files matched your search
@@ -169,6 +169,7 @@ pub fn tessellate(
|
||||
return vec![WireModel {
|
||||
name,
|
||||
points: Vec::new(),
|
||||
points_low: Vec::new(),
|
||||
color,
|
||||
selected,
|
||||
pattern_length: 0.0,
|
||||
@@ -207,6 +208,7 @@ pub fn tessellate(
|
||||
out.push(WireModel {
|
||||
name: name.clone(),
|
||||
points: pts,
|
||||
points_low: Vec::new(),
|
||||
color: wire_color,
|
||||
selected,
|
||||
pattern_length: 0.0,
|
||||
@@ -248,6 +250,7 @@ pub fn tessellate(
|
||||
[x, y - s, z],
|
||||
[x, y + s, z],
|
||||
],
|
||||
points_low: Vec::new(),
|
||||
color,
|
||||
selected,
|
||||
pattern_length: 0.0,
|
||||
@@ -279,6 +282,7 @@ pub fn tessellate(
|
||||
return vec![WireModel {
|
||||
name,
|
||||
points,
|
||||
points_low: Vec::new(),
|
||||
color,
|
||||
selected,
|
||||
pattern_length,
|
||||
@@ -308,6 +312,7 @@ pub fn tessellate(
|
||||
return vec![WireModel {
|
||||
name,
|
||||
points,
|
||||
points_low: Vec::new(),
|
||||
color,
|
||||
selected,
|
||||
pattern_length,
|
||||
@@ -355,6 +360,7 @@ pub fn tessellate(
|
||||
return vec![WireModel {
|
||||
name,
|
||||
points: local_pts,
|
||||
points_low: Vec::new(),
|
||||
color,
|
||||
selected,
|
||||
pattern_length: 0.0,
|
||||
@@ -392,6 +398,7 @@ pub fn tessellate(
|
||||
return vec![WireModel {
|
||||
name,
|
||||
points: local_pts,
|
||||
points_low: Vec::new(),
|
||||
color,
|
||||
selected,
|
||||
pattern_length,
|
||||
@@ -432,6 +439,7 @@ pub fn tessellate(
|
||||
vec![WireModel {
|
||||
name,
|
||||
points,
|
||||
points_low: Vec::new(),
|
||||
color,
|
||||
selected,
|
||||
aci: 0,
|
||||
|
||||
Reference in new issue
Block a user