fix(hatch): show fill on creation, not only after a boundary edit
`add_hatch` let `add_entity` build the render model from the new DXF entity (via `hatch_model_from_dxf`, AABB-centred `world_origin`) and insert it — then overwrote it with the command-built model, whose `world_origin` is [0, 0]. After the world_offset removal the fill is drawn relative-to-eye from `world_origin`, so a [0, 0] origin with a full-WCS boundary cancels to garbage in f32 and the fill renders off-screen — invisible until a later edit rebuilt it from the DXF. Drop the overwrite so creation keeps the correct seed; it now matches what an edit or reload produces. Fixes the regression for hatches drawn away from the origin. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
eaf72254e7
commit
21d0db0c25
1 changed files with 7 additions and 5 deletions
|
|
@ -5441,11 +5441,13 @@ impl Scene {
|
||||||
1.0
|
1.0
|
||||||
};
|
};
|
||||||
|
|
||||||
let handle = self.add_entity(EntityType::Hatch(dxf));
|
// `add_entity` already builds the render model from the DXF entity via
|
||||||
if !handle.is_null() {
|
// `hatch_model_from_dxf` and inserts it with a correct `world_origin`
|
||||||
self.hatches.insert(handle, model);
|
// (AABB-centred) for the relative-to-eye fill. The command-built `model`
|
||||||
}
|
// carries `world_origin: [0, 0]`, which after the world_offset removal
|
||||||
handle
|
// leaves the fill mis-placed and effectively invisible until a later
|
||||||
|
// edit rebuilds it from the DXF — so keep the seed, don't overwrite it.
|
||||||
|
self.add_entity(EntityType::Hatch(dxf))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn clear(&mut self) {
|
pub fn clear(&mut self) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue