forked from 1b-agent/opencadstudio-upstream
Underlays are rasterised for the view's scale; DGN V7 strokes one pixel wide
A page shown small was drawn from its full-size raster and thin lines broke up into dots. Once a zoom settles on another quarter-octave step, PDF, DWF and DGN underlays are rasterised again near their size on screen (never above the full-size raster), frames are requested until that happens, and the adjusted-pixel memo is kept per raster size. V7 element weights no longer widen strokes, matching V8 models. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
cb7860e50e
commit
1cbe89ef62
8 files changed
+108
-19
No files matched your search
@@ -850,6 +850,8 @@ impl OpenCADStudio {
|
||||
self.tabs[i].scene.update(t - self.start);
|
||||
// Dynamic dimensions keep their screen size across zoom bands.
|
||||
self.tabs[i].scene.refresh_dynamic_dimension_scales(false);
|
||||
// Underlays are rasterised again for the zoom once it settles.
|
||||
self.tabs[i].scene.refresh_underlay_resolution(t);
|
||||
|
||||
// If the camera moved since we last synced, write it back to
|
||||
// the document and mark the file dirty.
|
||||
|
||||
+4
-1
@@ -2544,7 +2544,10 @@ impl OpenCADStudio {
|
||||
// driven by input events, but once the cursor stops no event would fire
|
||||
// the one full-quality frame that re-renders hatches — this tick does,
|
||||
// then the scene-render cache holds it and the subscription auto-stops.
|
||||
let nav_settle = if self.tabs[self.active_tab].scene.is_settling() {
|
||||
// Underlay rasters follow the zoom once it settles; tick until then.
|
||||
let nav_settle = if self.tabs[self.active_tab].scene.is_settling()
|
||||
|| self.tabs[self.active_tab].scene.underlay_resolution_stale()
|
||||
{
|
||||
window::frames().map(Message::Tick)
|
||||
} else {
|
||||
Subscription::none()
|
||||
|
||||
Reference in new issue
Block a user