osmgl 0.17.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.cjs +7 -7
- package/dist/osmgl.cjs.map +1 -1
- package/dist/osmgl.d.cts +57 -0
- package/dist/osmgl.d.ts +57 -0
- package/dist/osmgl.global.js +10 -10
- package/dist/osmgl.js +7 -7
- package/dist/osmgl.js.map +1 -1
- package/package.json +1 -1
package/dist/osmgl.d.cts
CHANGED
|
@@ -2752,6 +2752,16 @@ declare class Style {
|
|
|
2752
2752
|
* рендер просто берёт другой готовый бакет.
|
|
2753
2753
|
*/
|
|
2754
2754
|
readonly splitValues: Record<string, string | number>;
|
|
2755
|
+
/**
|
|
2756
|
+
* НА СКОЛЬКО ПОДНИМАТЬ ЛИНИЮ ЗА УРОВЕНЬ ПЕРЕСЕЧЕНИЯ — только если есть полотно ИЗ ЛИНИЙ.
|
|
2757
|
+
*
|
|
2758
|
+
* Лента моста поднимается ради своего полотна (`fromLines`-поверхность): оно подняло геометрию
|
|
2759
|
+
* на `levelHeight`, и лента на прежней высоте оказалась бы внутри него. Нет такого полотна — нет и
|
|
2760
|
+
* причины поднимать ленту. А `levelHeight` у стиля бывает и без него: его ставит набор асфальта
|
|
2761
|
+
* (`navigram/roadbed`) ради своих эстакад, и обычная линия моста висела в воздухе на 8 м там,
|
|
2762
|
+
* где асфальта ещё нет (z15–16, 30.09.2026).
|
|
2763
|
+
*/
|
|
2764
|
+
lineLevelHeight(): number;
|
|
2755
2765
|
constructor(spec?: StyleSpec);
|
|
2756
2766
|
get background(): RGBA;
|
|
2757
2767
|
/**
|
|
@@ -3690,8 +3700,42 @@ declare class SymbolRenderer {
|
|
|
3690
3700
|
private shownAt;
|
|
3691
3701
|
/** Есть ли в кадре подпись, которая ещё проявляется — по ней решается, нужен ли следующий кадр. */
|
|
3692
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;
|
|
3693
3724
|
/** Прозрачность подписи: только что появилась — проявляется, стоит давно — единица. */
|
|
3694
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;
|
|
3695
3739
|
/**
|
|
3696
3740
|
* Порядок разбора кандидатов: важнее — раньше, у прошедших первыми есть шанс занять место.
|
|
3697
3741
|
*
|
|
@@ -3740,6 +3784,8 @@ declare class SymbolRenderer {
|
|
|
3740
3784
|
private colorOf;
|
|
3741
3785
|
private inStyleOrder;
|
|
3742
3786
|
private draw;
|
|
3787
|
+
/** Нарисовать диапазоны уже залитого буфера — и после раскладки, и при повторе кадра. */
|
|
3788
|
+
private drawRanges;
|
|
3743
3789
|
/** Запись подложки этого слоя в атласе — по ней градиент знает высоту фигуры. */
|
|
3744
3790
|
private frameEntryOf;
|
|
3745
3791
|
private ensureBuffers;
|
|
@@ -5407,6 +5453,17 @@ declare class LayerRenderer {
|
|
|
5407
5453
|
private materialTime;
|
|
5408
5454
|
/** Хоть один материал в кадре анимируется — значит нужен следующий кадр. */
|
|
5409
5455
|
private materialAnimating;
|
|
5456
|
+
/**
|
|
5457
|
+
* Материал ТЕКУЩЕГО слоя анимирован (бегущая вода) — но кадр просим, только если слой что-то
|
|
5458
|
+
* нарисовал.
|
|
5459
|
+
*
|
|
5460
|
+
* Раньше `applyMaterial` сразу ставил `materialAnimating`: слой воды включён на зуме — значит,
|
|
5461
|
+
* следующий кадр, даже когда воды на экране нет вовсе. Слой воды есть почти во всех темах, и карта
|
|
5462
|
+
* в покое рисовала 60 кадров в секунду на любом зуме (замер на проде 30.09.2026: 180 кадров за
|
|
5463
|
+
* 3 с на районе без единого водоёма). Теперь флаг ставит цикл отрисовки — по тайлу, где нашлась
|
|
5464
|
+
* геометрия.
|
|
5465
|
+
*/
|
|
5466
|
+
private materialPending;
|
|
5410
5467
|
/**
|
|
5411
5468
|
* Номер тайла в трафарете — по нему поверхности обрезаются по своему тайлу.
|
|
5412
5469
|
* Пусто, если трафарет в этом кадре не размечен (см. `drawTileStencil`).
|
package/dist/osmgl.d.ts
CHANGED
|
@@ -2752,6 +2752,16 @@ declare class Style {
|
|
|
2752
2752
|
* рендер просто берёт другой готовый бакет.
|
|
2753
2753
|
*/
|
|
2754
2754
|
readonly splitValues: Record<string, string | number>;
|
|
2755
|
+
/**
|
|
2756
|
+
* НА СКОЛЬКО ПОДНИМАТЬ ЛИНИЮ ЗА УРОВЕНЬ ПЕРЕСЕЧЕНИЯ — только если есть полотно ИЗ ЛИНИЙ.
|
|
2757
|
+
*
|
|
2758
|
+
* Лента моста поднимается ради своего полотна (`fromLines`-поверхность): оно подняло геометрию
|
|
2759
|
+
* на `levelHeight`, и лента на прежней высоте оказалась бы внутри него. Нет такого полотна — нет и
|
|
2760
|
+
* причины поднимать ленту. А `levelHeight` у стиля бывает и без него: его ставит набор асфальта
|
|
2761
|
+
* (`navigram/roadbed`) ради своих эстакад, и обычная линия моста висела в воздухе на 8 м там,
|
|
2762
|
+
* где асфальта ещё нет (z15–16, 30.09.2026).
|
|
2763
|
+
*/
|
|
2764
|
+
lineLevelHeight(): number;
|
|
2755
2765
|
constructor(spec?: StyleSpec);
|
|
2756
2766
|
get background(): RGBA;
|
|
2757
2767
|
/**
|
|
@@ -3690,8 +3700,42 @@ declare class SymbolRenderer {
|
|
|
3690
3700
|
private shownAt;
|
|
3691
3701
|
/** Есть ли в кадре подпись, которая ещё проявляется — по ней решается, нужен ли следующий кадр. */
|
|
3692
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;
|
|
3693
3724
|
/** Прозрачность подписи: только что появилась — проявляется, стоит давно — единица. */
|
|
3694
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;
|
|
3695
3739
|
/**
|
|
3696
3740
|
* Порядок разбора кандидатов: важнее — раньше, у прошедших первыми есть шанс занять место.
|
|
3697
3741
|
*
|
|
@@ -3740,6 +3784,8 @@ declare class SymbolRenderer {
|
|
|
3740
3784
|
private colorOf;
|
|
3741
3785
|
private inStyleOrder;
|
|
3742
3786
|
private draw;
|
|
3787
|
+
/** Нарисовать диапазоны уже залитого буфера — и после раскладки, и при повторе кадра. */
|
|
3788
|
+
private drawRanges;
|
|
3743
3789
|
/** Запись подложки этого слоя в атласе — по ней градиент знает высоту фигуры. */
|
|
3744
3790
|
private frameEntryOf;
|
|
3745
3791
|
private ensureBuffers;
|
|
@@ -5407,6 +5453,17 @@ declare class LayerRenderer {
|
|
|
5407
5453
|
private materialTime;
|
|
5408
5454
|
/** Хоть один материал в кадре анимируется — значит нужен следующий кадр. */
|
|
5409
5455
|
private materialAnimating;
|
|
5456
|
+
/**
|
|
5457
|
+
* Материал ТЕКУЩЕГО слоя анимирован (бегущая вода) — но кадр просим, только если слой что-то
|
|
5458
|
+
* нарисовал.
|
|
5459
|
+
*
|
|
5460
|
+
* Раньше `applyMaterial` сразу ставил `materialAnimating`: слой воды включён на зуме — значит,
|
|
5461
|
+
* следующий кадр, даже когда воды на экране нет вовсе. Слой воды есть почти во всех темах, и карта
|
|
5462
|
+
* в покое рисовала 60 кадров в секунду на любом зуме (замер на проде 30.09.2026: 180 кадров за
|
|
5463
|
+
* 3 с на районе без единого водоёма). Теперь флаг ставит цикл отрисовки — по тайлу, где нашлась
|
|
5464
|
+
* геометрия.
|
|
5465
|
+
*/
|
|
5466
|
+
private materialPending;
|
|
5410
5467
|
/**
|
|
5411
5468
|
* Номер тайла в трафарете — по нему поверхности обрезаются по своему тайлу.
|
|
5412
5469
|
* Пусто, если трафарет в этом кадре не размечен (см. `drawTileStencil`).
|