_qtRootContentBounds (lib/rendering/components/qt_tiles.dart) documents two deliberate divergences from occupancy, the first being that hidden segments and stations stay IN, so the root does not move across a hide. That is what lets the scoped-hide path in _drawQtTiles keep its cached root instead of nuking it.
Canvas objects break that rule. _v2CanvasObjectBounds is measured off the canvasObjects list, which MapCanvas has already stripped hidden ids out of (see visibleCanvasObjects), so hiding an object DOES move the root. The scoped path's "rootRect content bounds dont change for a hide" claim is therefore false whenever a hide takes an object with it, which a collection hide does.
A root left too small is exactly the subset case the comment warns about: the tx/ty loop in _drawQtTiles clamps to the root, so content outside it never gets a pyramid tile and silently stops drawing. Hard rectangular clip, no error.
Harmless today only because a pure object hide falls through to a full nuke, which recomputes the root. It stops being harmless as soon as issue 49 is fixed and object hides start taking the scoped path.
Marked KNOWN BROKEN in the source. Depends on 49.
`_qtRootContentBounds` (lib/rendering/components/qt_tiles.dart) documents two deliberate divergences from occupancy, the first being that hidden segments and stations stay IN, so the root does not move across a hide. That is what lets the scoped-hide path in `_drawQtTiles` keep its cached root instead of nuking it.
Canvas objects break that rule. `_v2CanvasObjectBounds` is measured off the `canvasObjects` list, which MapCanvas has already stripped hidden ids out of (see `visibleCanvasObjects`), so hiding an object DOES move the root. The scoped path's "rootRect content bounds dont change for a hide" claim is therefore false whenever a hide takes an object with it, which a collection hide does.
A root left too small is exactly the subset case the comment warns about: the tx/ty loop in `_drawQtTiles` clamps to the root, so content outside it never gets a pyramid tile and silently stops drawing. Hard rectangular clip, no error.
Harmless today only because a pure object hide falls through to a full nuke, which recomputes the root. It stops being harmless as soon as issue 49 is fixed and object hides start taking the scoped path.
Marked KNOWN BROKEN in the source. Depends on 49.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
_qtRootContentBounds(lib/rendering/components/qt_tiles.dart) documents two deliberate divergences from occupancy, the first being that hidden segments and stations stay IN, so the root does not move across a hide. That is what lets the scoped-hide path in_drawQtTileskeep its cached root instead of nuking it.Canvas objects break that rule.
_v2CanvasObjectBoundsis measured off thecanvasObjectslist, which MapCanvas has already stripped hidden ids out of (seevisibleCanvasObjects), so hiding an object DOES move the root. The scoped path's "rootRect content bounds dont change for a hide" claim is therefore false whenever a hide takes an object with it, which a collection hide does.A root left too small is exactly the subset case the comment warns about: the tx/ty loop in
_drawQtTilesclamps to the root, so content outside it never gets a pyramid tile and silently stops drawing. Hard rectangular clip, no error.Harmless today only because a pure object hide falls through to a full nuke, which recomputes the root. It stops being harmless as soon as issue 49 is fixed and object hides start taking the scoped path.
Marked KNOWN BROKEN in the source. Depends on 49.