osmgl 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -158,6 +158,31 @@ nginx отдаёт его двумя путями — `/maps/osmgl.global.js` (
158
158
  выключенным depth-тестом (всё лежит на z=0, тест дал бы только z-fighting), затем
159
159
  объёмные слои с честной глубиной.
160
160
 
161
+ ### Линия, уступающая подробному слою (`yieldTo`)
162
+
163
+ Пара «линия дороги — асфальт» живёт в разных наборах тайлов: линия приходит с основой, асфальт
164
+ (полотно по графу) — своим набором с z15. Гасить линию `maxzoom` по зуму камеры нельзя, и это
165
+ измерено, а не придумано:
166
+
167
+ - пока тайл асфальта едет, улицы нет вовсе — ни линии, ни полотна (замер с задержкой ответов
168
+ полотна на 4 с: с `maxzoom` проезжая часть пуста, с уступкой видна вся сеть);
169
+ - у наклонённой карты дальние тайлы рисуются с меньшей подробностью (`Transform.detailZoom`), и
170
+ асфальт с `minzoom: 15` гаснет вдали сам. На z15.6 при наклоне 75° дорог не было в дальней
171
+ трети кадра — подписи улиц висели над пустой землёй.
172
+
173
+ Поэтому линия объявляет `"yieldTo": "<id поверхности>"` и рисуется везде, КРОМЕ квадратов тайлов,
174
+ в которых эта поверхность в кадре уже легла. Квадраты ставятся битом трафарета (`PAINTED_BIT`) перед
175
+ проходом поднятых линий и снимаются после него. Это «грубое сразу, подробное кусками» у Baidu
176
+ (`useThumbData`).
177
+
178
+ Уступка идёт ПО КВАДРАТУ ТАЙЛА, а не по пикселю асфальта: линия дороги шире полотна (ширина линии —
179
+ приём картографии в пикселях), и маска по самому асфальту оставила бы вдоль кромки полоску старой
180
+ линии. Квадрат, чья геометрия отложена бюджетом загрузки, не ставится — иначе в нём на кадр не было
181
+ бы ни того, ни другого. Там, где асфальт уже загружен, кадр совпадает с прежним до пикселя.
182
+
183
+ ГОЧА: на слабом профиле поверхность рисуется ЗАЛИВКОЙ (`flattened`), поэтому квадраты пишет и
184
+ `drawFill`. Без этого на телефоне линии лежали поверх асфальта, а на компьютере — нет.
185
+
161
186
  ### Разноцветная линия
162
187
 
163
188
  Маршрут, раскрашенный по пробкам, — как у Яндекса: