I'm making a city map using QGIS 3.14 and I want to label every street (that's around 5000 label, the map is an A0 size at 1/12 000 scale). There are no other label than the street name and all label came from the same layer. After setting rule based labeling and fine tuning all setting for all rule I got a pretty good placement for maybe 80% of the street name but there are still area where I need to manually adjust the positions to get a printable result.
The problem arise when a manually move a label (I use the labeling toolbar "move" and "rotate" label button with data defined layer fields, I do not use the auxiliary storage).
Each time I manually move a label, the labeling engine recalculate the position of neighboring labels and an area that start as all good but one label end as only one label good and all labels around to manually replace.
In a similar way when panning the map the label engine recalculate the label position based on the part of the feature that are visible so even slightly panning the map result in different a label placement.
As each time I zoom, pan or adjust one label position all other visible labels change their positions I can't evaluate if my labels placements are globally satisfying or not and I can't predict how the labels will be placed in the exported map.
To try to solve the problem I set the "Allow truncated labels on edges of map" and lock the scale of the map and use the magnifier to zoom on the map but that doesn't make any difference.
I also try to pin all labels, but pinning the labels reset the rotation to 0 and all labels became horizontal...
So my question is are there a way to fix the label position set by the automated labeling engine ? (maybe by using an expression to fill the label_x, label_y and label_rotation field with the value set by the labeling engine) or are there any other way to get good placement on very densely packed label without manually placing all label ?