osmgl 0.18.0 → 0.18.1

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/dist/osmgl.d.cts CHANGED
@@ -3700,8 +3700,42 @@ declare class SymbolRenderer {
3700
3700
  private shownAt;
3701
3701
  /** Есть ли в кадре подпись, которая ещё проявляется — по ней решается, нужен ли следующий кадр. */
3702
3702
  private fading;
3703
+ /**
3704
+ * ГОТОВЫЙ КАДР ПОДПИСЕЙ — ПОВТОРЯЕМ, ЕСЛИ НИЧЕГО НЕ МЕНЯЛОСЬ (30.09.2026).
3705
+ *
3706
+ * Карта рисует кадры и в покое — ради бегущей воды. Раскладывать подписи заново на каждом таком
3707
+ * кадре незачем: камера та же, тайлы те же, значит и ответ тот же, — а раскладка самая дорогая
3708
+ * часть кадра после геометрии. Хуже того, раскладка зависит от прошлого кадра (липкость, сторона,
3709
+ * место на линии), и любая её неустойчивость в покое превращается в подпись, которая без
3710
+ * остановки прыгает туда-сюда. MapLibre и Mapbox поступают так же: раскладка — по изменению, а
3711
+ * между ними рисуется уже готовое.
3712
+ *
3713
+ * Подпись кадра (`frameSignature`) собирает ВСЁ, от чего раскладка зависит: камеру, размер,
3714
+ * поля, версии данных источников, видимость слоёв подписей, наведение, скрытие, выбранный дом и
3715
+ * поколение картинок. Не хватило глифов или значков — кадр не запоминается: следующий обязан
3716
+ * разложиться с ними. При рельефе повтор выключен: высоты доезжают плитками, а их версии здесь нет.
3717
+ */
3718
+ private lastSignature;
3719
+ private lastRanges;
3720
+ private styleIds;
3721
+ private nextStyleId;
3722
+ private idOf;
3723
+ private frameSignature;
3703
3724
  /** Прозрачность подписи: только что появилась — проявляется, стоит давно — единица. */
3704
3725
  private fadeOf;
3726
+ /**
3727
+ * ★ ПРОЯВЛЕНИЕ ОТМЕЧАЕТ ТОЛЬКО ТО, ЧТО ВСТАЛО (30.09.2026).
3728
+ *
3729
+ * Прозрачность считается в начале `place`, ещё ДО проверки на столкновение, и флаг «кто-то
3730
+ * проявляется» ставился и для кандидата, которому места не нашлось. Его запись о возрасте тут же
3731
+ * стиралась (`rememberPlaced` держит только вставшие), на следующем кадре всё повторялось — флаг
3732
+ * не гас никогда. Кандидатов в кадре сотни, встают десятки, поэтому карта В ПОКОЕ рисовала
3733
+ * 60 кадров в секунду и раскладывала подписи заново каждый кадр (замер на проде: 2538 кадров
3734
+ * подряд). Подпись вдоль дороги, чьё место зависит от прошлого кадра, на части ракурсов при этом
3735
+ * бесконечно перескакивала между двумя местами. Теперь флаг ставит цикл раскладки — по вставшей
3736
+ * подписи, которой ещё не исполнилось `FADE_MS`.
3737
+ */
3738
+ private stillFading;
3705
3739
  /**
3706
3740
  * Порядок разбора кандидатов: важнее — раньше, у прошедших первыми есть шанс занять место.
3707
3741
  *
@@ -3750,6 +3784,8 @@ declare class SymbolRenderer {
3750
3784
  private colorOf;
3751
3785
  private inStyleOrder;
3752
3786
  private draw;
3787
+ /** Нарисовать диапазоны уже залитого буфера — и после раскладки, и при повторе кадра. */
3788
+ private drawRanges;
3753
3789
  /** Запись подложки этого слоя в атласе — по ней градиент знает высоту фигуры. */
3754
3790
  private frameEntryOf;
3755
3791
  private ensureBuffers;
@@ -5417,6 +5453,17 @@ declare class LayerRenderer {
5417
5453
  private materialTime;
5418
5454
  /** Хоть один материал в кадре анимируется — значит нужен следующий кадр. */
5419
5455
  private materialAnimating;
5456
+ /**
5457
+ * Материал ТЕКУЩЕГО слоя анимирован (бегущая вода) — но кадр просим, только если слой что-то
5458
+ * нарисовал.
5459
+ *
5460
+ * Раньше `applyMaterial` сразу ставил `materialAnimating`: слой воды включён на зуме — значит,
5461
+ * следующий кадр, даже когда воды на экране нет вовсе. Слой воды есть почти во всех темах, и карта
5462
+ * в покое рисовала 60 кадров в секунду на любом зуме (замер на проде 30.09.2026: 180 кадров за
5463
+ * 3 с на районе без единого водоёма). Теперь флаг ставит цикл отрисовки — по тайлу, где нашлась
5464
+ * геометрия.
5465
+ */
5466
+ private materialPending;
5420
5467
  /**
5421
5468
  * Номер тайла в трафарете — по нему поверхности обрезаются по своему тайлу.
5422
5469
  * Пусто, если трафарет в этом кадре не размечен (см. `drawTileStencil`).
package/dist/osmgl.d.ts CHANGED
@@ -3700,8 +3700,42 @@ declare class SymbolRenderer {
3700
3700
  private shownAt;
3701
3701
  /** Есть ли в кадре подпись, которая ещё проявляется — по ней решается, нужен ли следующий кадр. */
3702
3702
  private fading;
3703
+ /**
3704
+ * ГОТОВЫЙ КАДР ПОДПИСЕЙ — ПОВТОРЯЕМ, ЕСЛИ НИЧЕГО НЕ МЕНЯЛОСЬ (30.09.2026).
3705
+ *
3706
+ * Карта рисует кадры и в покое — ради бегущей воды. Раскладывать подписи заново на каждом таком
3707
+ * кадре незачем: камера та же, тайлы те же, значит и ответ тот же, — а раскладка самая дорогая
3708
+ * часть кадра после геометрии. Хуже того, раскладка зависит от прошлого кадра (липкость, сторона,
3709
+ * место на линии), и любая её неустойчивость в покое превращается в подпись, которая без
3710
+ * остановки прыгает туда-сюда. MapLibre и Mapbox поступают так же: раскладка — по изменению, а
3711
+ * между ними рисуется уже готовое.
3712
+ *
3713
+ * Подпись кадра (`frameSignature`) собирает ВСЁ, от чего раскладка зависит: камеру, размер,
3714
+ * поля, версии данных источников, видимость слоёв подписей, наведение, скрытие, выбранный дом и
3715
+ * поколение картинок. Не хватило глифов или значков — кадр не запоминается: следующий обязан
3716
+ * разложиться с ними. При рельефе повтор выключен: высоты доезжают плитками, а их версии здесь нет.
3717
+ */
3718
+ private lastSignature;
3719
+ private lastRanges;
3720
+ private styleIds;
3721
+ private nextStyleId;
3722
+ private idOf;
3723
+ private frameSignature;
3703
3724
  /** Прозрачность подписи: только что появилась — проявляется, стоит давно — единица. */
3704
3725
  private fadeOf;
3726
+ /**
3727
+ * ★ ПРОЯВЛЕНИЕ ОТМЕЧАЕТ ТОЛЬКО ТО, ЧТО ВСТАЛО (30.09.2026).
3728
+ *
3729
+ * Прозрачность считается в начале `place`, ещё ДО проверки на столкновение, и флаг «кто-то
3730
+ * проявляется» ставился и для кандидата, которому места не нашлось. Его запись о возрасте тут же
3731
+ * стиралась (`rememberPlaced` держит только вставшие), на следующем кадре всё повторялось — флаг
3732
+ * не гас никогда. Кандидатов в кадре сотни, встают десятки, поэтому карта В ПОКОЕ рисовала
3733
+ * 60 кадров в секунду и раскладывала подписи заново каждый кадр (замер на проде: 2538 кадров
3734
+ * подряд). Подпись вдоль дороги, чьё место зависит от прошлого кадра, на части ракурсов при этом
3735
+ * бесконечно перескакивала между двумя местами. Теперь флаг ставит цикл раскладки — по вставшей
3736
+ * подписи, которой ещё не исполнилось `FADE_MS`.
3737
+ */
3738
+ private stillFading;
3705
3739
  /**
3706
3740
  * Порядок разбора кандидатов: важнее — раньше, у прошедших первыми есть шанс занять место.
3707
3741
  *
@@ -3750,6 +3784,8 @@ declare class SymbolRenderer {
3750
3784
  private colorOf;
3751
3785
  private inStyleOrder;
3752
3786
  private draw;
3787
+ /** Нарисовать диапазоны уже залитого буфера — и после раскладки, и при повторе кадра. */
3788
+ private drawRanges;
3753
3789
  /** Запись подложки этого слоя в атласе — по ней градиент знает высоту фигуры. */
3754
3790
  private frameEntryOf;
3755
3791
  private ensureBuffers;
@@ -5417,6 +5453,17 @@ declare class LayerRenderer {
5417
5453
  private materialTime;
5418
5454
  /** Хоть один материал в кадре анимируется — значит нужен следующий кадр. */
5419
5455
  private materialAnimating;
5456
+ /**
5457
+ * Материал ТЕКУЩЕГО слоя анимирован (бегущая вода) — но кадр просим, только если слой что-то
5458
+ * нарисовал.
5459
+ *
5460
+ * Раньше `applyMaterial` сразу ставил `materialAnimating`: слой воды включён на зуме — значит,
5461
+ * следующий кадр, даже когда воды на экране нет вовсе. Слой воды есть почти во всех темах, и карта
5462
+ * в покое рисовала 60 кадров в секунду на любом зуме (замер на проде 30.09.2026: 180 кадров за
5463
+ * 3 с на районе без единого водоёма). Теперь флаг ставит цикл отрисовки — по тайлу, где нашлась
5464
+ * геометрия.
5465
+ */
5466
+ private materialPending;
5420
5467
  /**
5421
5468
  * Номер тайла в трафарете — по нему поверхности обрезаются по своему тайлу.
5422
5469
  * Пусто, если трафарет в этом кадре не размечен (см. `drawTileStencil`).