This provider option was linked to the project level option
"Trust layer metadata..." which was implemented
to speed up loading of large dataset by trusting extent
read from metadata to avoid costly operations to determine
the layer extent.
Check PK unicity on the other hand has only effect on views
and query layers and it is useful as an independent
option to prevent loading of layers that have no PK (or the
wrong one).
But the operation of determine unicity of a values in a column
can also be costly, so better to get control back to the user.
Legacy default is preserved (the project-level "Trust..." option).
Fixes#21839
Funded by RAAB.nl
When using rule-based 3D rendering, if multiple rules were enabled with edge rendering,
only the first rule was getting correctly set up line width for line material.
(the rest were getting some very thick line width and making the 3D view unusable)
The vertex shader was incorrectly transforming world position and normal
vectors for phong shading. This was causing wrong appearance that was noticeable
when moving/rotating camera (e.g. specular reflection was always in the same place).
This was caused by involving view matrix (i.e. camera position and orientation)
to the vectors, but the world position and normal should be independent from camera.
When using layer styling dock, every change in 3D rendering configuration
was also triggering update of 2D map which also forces update of all
terrain tile textures with a new 2D map which wasn't really needed.
The fix makes the triggerRefresh() call on layer optional - each layer
styling dock config widget can tell whether its updates require 2D map
refresh (true by default).
for QgsVectorLayer, when constructing a layer with a URI which
may be invalid
These may be used for layers where the geometry type/CRS is
known in advance, and where the layer path may not be
initially resolvable. (E.g. layers with a URI pointing to a
non-existant file). It is only ever used if the layer cannot
be resolved, otherwise the actual layer geometry type will be
detected and used for the layer.
We can use this when restoring the layer, if the uri turns out
to be invalid at that stage (e.g. a file has moved). By storing
and falling back to the last known wkb type, we avoid unnecessarily
discarding the existing layer renderer, and can still show the
expected layer type in the layer tree.