osmgl 0.11.0 → 0.12.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
@@ -1550,6 +1550,18 @@ interface SymbolLayerSpec extends LayerBase {
1550
1550
  * текст и иконки). Нужен плашкам: щит номера трассы это светлая заливка с
1551
1551
  * рамкой, а номер на ней тёмный.
1552
1552
  */
1553
+ /**
1554
+ * НАСЫЩЕННОСТЬ ПОДПИСИ: добавка к толщине штриха в пикселях (0 — как в шрифте).
1555
+ *
1556
+ * Своего полужирного начертания у нас нет: глифы приходят одним набором с сервера шрифтов, и
1557
+ * второй набор — это вторая загрузка и второй атлас на каждую карту. Зато буква хранится
1558
+ * полем расстояний, а в нём «жирнее» — это просто сдвиг границы наружу: тот же контур,
1559
+ * отпущенный на доли пикселя. Так набирают полужирный и в Mapbox, и в Яндексе.
1560
+ *
1561
+ * Мера — пиксели экрана, а не условная единица: на глаз подпись прибавляет ровно столько,
1562
+ * и на любом кегле прибавка одна и та же.
1563
+ */
1564
+ textWeight?: Interpolated<number>;
1553
1565
  iconColor?: Interpolated<string>;
1554
1566
  iconHaloColor?: Interpolated<string>;
1555
1567
  iconHaloWidth?: Interpolated<number>;
@@ -1571,6 +1583,32 @@ interface SymbolLayerSpec extends LayerBase {
1571
1583
  /** Рамка подложки. По умолчанию — цвет значка, приглушённый до трети. */
1572
1584
  frameHaloColor?: Interpolated<string>;
1573
1585
  frameHaloWidth?: Interpolated<number>;
1586
+ /**
1587
+ * ГРАДИЕНТ ПО ПОДЛОЖКЕ: насколько верх кружка светлее, а низ темнее своего цвета (0..1,
1588
+ * по умолчанию 0 — ровная заливка).
1589
+ *
1590
+ * Задан силой, а не парой цветов, нарочно. Цвет у подложки один на категорию — у еды свой,
1591
+ * у транспорта свой, — и вторым цветом пришлось бы задавать их все заново, по два на каждую.
1592
+ * Светлота же считается от того цвета, что уже есть, поэтому объём получают сразу все
1593
+ * категории, и перекрашивание темы ничего не ломает.
1594
+ */
1595
+ frameGradient?: Interpolated<number>;
1596
+ /**
1597
+ * ТЕНЬ ПОД ПОДЛОЖКОЙ: непрозрачность, 0..1 (по умолчанию 0 — без тени).
1598
+ *
1599
+ * Кружок без тени лежит В карте, с тенью — НАД ней, и на пёстрой застройке это разница между
1600
+ * «пятно среди домов» и «метка поверх города».
1601
+ */
1602
+ frameShadow?: Interpolated<number>;
1603
+ /** Сдвиг тени вниз в пикселях экрана (по умолчанию 3). */
1604
+ frameShadowOffset?: Interpolated<number>;
1605
+ /** Размытие тени в пикселях экрана (по умолчанию 6). */
1606
+ frameShadowBlur?: Interpolated<number>;
1607
+ /**
1608
+ * Свой цвет тени. По умолчанию — цвет подложки, притемнённый: серая тень под цветным значком
1609
+ * читается грязью, а потемневший собственный цвет — глубиной.
1610
+ */
1611
+ frameShadowColor?: Interpolated<string>;
1574
1612
  /**
1575
1613
  * Цвета частей составного значка (`layout.iconParts`), по порядку частей.
1576
1614
  *
@@ -3467,6 +3505,8 @@ declare class SymbolRenderer {
3467
3505
  private colorOf;
3468
3506
  private inStyleOrder;
3469
3507
  private draw;
3508
+ /** Запись подложки этого слоя в атласе — по ней градиент знает высоту фигуры. */
3509
+ private frameEntryOf;
3470
3510
  private ensureBuffers;
3471
3511
  /** Догружает недостающие глифы и иконки и просит перерисовать кадр. */
3472
3512
  private requestMissing;
@@ -7279,6 +7319,15 @@ interface RoadGraphOptions {
7279
7319
  * Без него сглаживание на длинных звеньях и срезает много, и сглаживает мало — см. `densifyLine`.
7280
7320
  */
7281
7321
  densify?: number;
7322
+ /**
7323
+ * ДЛИНА САМОГО БОЛЬШОГО КОЛЬЦА, метры. 0 — кольца не собирать.
7324
+ *
7325
+ * По ней кольцевая развязка отличается от квартала: и то и другое — замкнутый обход по сети, но
7326
+ * круг это десятки метров, а квартал — сотни. Порог задаётся снаружи, потому что снаружи задан
7327
+ * и масштаб: у генератора тайлов метры меркаторские и на широте Душанбе длиннее наземных в 1.28
7328
+ * раза.
7329
+ */
7330
+ ringMax?: number;
7282
7331
  }
7283
7332
  declare function buildRoadGraph(axes: RoadAxis[], options?: RoadGraphOptions): RoadGraph;
7284
7333
 
@@ -7402,6 +7451,17 @@ interface MarkingOptions {
7402
7451
  * разметка целиком лежит внутри его же полотна, и вырезалась бы вся.
7403
7452
  */
7404
7453
  keepOut?: (x: number, y: number, chain: RoadChain) => boolean;
7454
+ /**
7455
+ * ГДЕ НА ПОДХОДЕ СТОИТ ПЕШЕХОДНЫЙ ПЕРЕХОД — расстояние ОТ УЗЛА вдоль оси, в метрах.
7456
+ *
7457
+ * Сам движок ставит его по отступу узла: перекрёсток кончился — через метр с небольшим переход.
7458
+ * Для одной проезжей части это верно, а для улицы из нескольких — нет: узлы у них на
7459
+ * перекрёстке стоят вразнобой, и переходы выходят лесенкой. Кто знает про соседей — тот и
7460
+ * скажет, где ряд; вернул `null` — считаем сами, как раньше.
7461
+ *
7462
+ * Стоп-линия отмеряется ОТ ПЕРЕХОДА, поэтому едет вместе с ним и остаётся к нему прижатой.
7463
+ */
7464
+ crossingAt?: (chain: RoadChain, index: number, node: number) => number | null;
7405
7465
  }
7406
7466
  declare function roadMarkings(graph: RoadGraph, options?: MarkingOptions): Marking[];
7407
7467
 
package/dist/osmgl.d.ts CHANGED
@@ -1550,6 +1550,18 @@ interface SymbolLayerSpec extends LayerBase {
1550
1550
  * текст и иконки). Нужен плашкам: щит номера трассы это светлая заливка с
1551
1551
  * рамкой, а номер на ней тёмный.
1552
1552
  */
1553
+ /**
1554
+ * НАСЫЩЕННОСТЬ ПОДПИСИ: добавка к толщине штриха в пикселях (0 — как в шрифте).
1555
+ *
1556
+ * Своего полужирного начертания у нас нет: глифы приходят одним набором с сервера шрифтов, и
1557
+ * второй набор — это вторая загрузка и второй атлас на каждую карту. Зато буква хранится
1558
+ * полем расстояний, а в нём «жирнее» — это просто сдвиг границы наружу: тот же контур,
1559
+ * отпущенный на доли пикселя. Так набирают полужирный и в Mapbox, и в Яндексе.
1560
+ *
1561
+ * Мера — пиксели экрана, а не условная единица: на глаз подпись прибавляет ровно столько,
1562
+ * и на любом кегле прибавка одна и та же.
1563
+ */
1564
+ textWeight?: Interpolated<number>;
1553
1565
  iconColor?: Interpolated<string>;
1554
1566
  iconHaloColor?: Interpolated<string>;
1555
1567
  iconHaloWidth?: Interpolated<number>;
@@ -1571,6 +1583,32 @@ interface SymbolLayerSpec extends LayerBase {
1571
1583
  /** Рамка подложки. По умолчанию — цвет значка, приглушённый до трети. */
1572
1584
  frameHaloColor?: Interpolated<string>;
1573
1585
  frameHaloWidth?: Interpolated<number>;
1586
+ /**
1587
+ * ГРАДИЕНТ ПО ПОДЛОЖКЕ: насколько верх кружка светлее, а низ темнее своего цвета (0..1,
1588
+ * по умолчанию 0 — ровная заливка).
1589
+ *
1590
+ * Задан силой, а не парой цветов, нарочно. Цвет у подложки один на категорию — у еды свой,
1591
+ * у транспорта свой, — и вторым цветом пришлось бы задавать их все заново, по два на каждую.
1592
+ * Светлота же считается от того цвета, что уже есть, поэтому объём получают сразу все
1593
+ * категории, и перекрашивание темы ничего не ломает.
1594
+ */
1595
+ frameGradient?: Interpolated<number>;
1596
+ /**
1597
+ * ТЕНЬ ПОД ПОДЛОЖКОЙ: непрозрачность, 0..1 (по умолчанию 0 — без тени).
1598
+ *
1599
+ * Кружок без тени лежит В карте, с тенью — НАД ней, и на пёстрой застройке это разница между
1600
+ * «пятно среди домов» и «метка поверх города».
1601
+ */
1602
+ frameShadow?: Interpolated<number>;
1603
+ /** Сдвиг тени вниз в пикселях экрана (по умолчанию 3). */
1604
+ frameShadowOffset?: Interpolated<number>;
1605
+ /** Размытие тени в пикселях экрана (по умолчанию 6). */
1606
+ frameShadowBlur?: Interpolated<number>;
1607
+ /**
1608
+ * Свой цвет тени. По умолчанию — цвет подложки, притемнённый: серая тень под цветным значком
1609
+ * читается грязью, а потемневший собственный цвет — глубиной.
1610
+ */
1611
+ frameShadowColor?: Interpolated<string>;
1574
1612
  /**
1575
1613
  * Цвета частей составного значка (`layout.iconParts`), по порядку частей.
1576
1614
  *
@@ -3467,6 +3505,8 @@ declare class SymbolRenderer {
3467
3505
  private colorOf;
3468
3506
  private inStyleOrder;
3469
3507
  private draw;
3508
+ /** Запись подложки этого слоя в атласе — по ней градиент знает высоту фигуры. */
3509
+ private frameEntryOf;
3470
3510
  private ensureBuffers;
3471
3511
  /** Догружает недостающие глифы и иконки и просит перерисовать кадр. */
3472
3512
  private requestMissing;
@@ -7279,6 +7319,15 @@ interface RoadGraphOptions {
7279
7319
  * Без него сглаживание на длинных звеньях и срезает много, и сглаживает мало — см. `densifyLine`.
7280
7320
  */
7281
7321
  densify?: number;
7322
+ /**
7323
+ * ДЛИНА САМОГО БОЛЬШОГО КОЛЬЦА, метры. 0 — кольца не собирать.
7324
+ *
7325
+ * По ней кольцевая развязка отличается от квартала: и то и другое — замкнутый обход по сети, но
7326
+ * круг это десятки метров, а квартал — сотни. Порог задаётся снаружи, потому что снаружи задан
7327
+ * и масштаб: у генератора тайлов метры меркаторские и на широте Душанбе длиннее наземных в 1.28
7328
+ * раза.
7329
+ */
7330
+ ringMax?: number;
7282
7331
  }
7283
7332
  declare function buildRoadGraph(axes: RoadAxis[], options?: RoadGraphOptions): RoadGraph;
7284
7333
 
@@ -7402,6 +7451,17 @@ interface MarkingOptions {
7402
7451
  * разметка целиком лежит внутри его же полотна, и вырезалась бы вся.
7403
7452
  */
7404
7453
  keepOut?: (x: number, y: number, chain: RoadChain) => boolean;
7454
+ /**
7455
+ * ГДЕ НА ПОДХОДЕ СТОИТ ПЕШЕХОДНЫЙ ПЕРЕХОД — расстояние ОТ УЗЛА вдоль оси, в метрах.
7456
+ *
7457
+ * Сам движок ставит его по отступу узла: перекрёсток кончился — через метр с небольшим переход.
7458
+ * Для одной проезжей части это верно, а для улицы из нескольких — нет: узлы у них на
7459
+ * перекрёстке стоят вразнобой, и переходы выходят лесенкой. Кто знает про соседей — тот и
7460
+ * скажет, где ряд; вернул `null` — считаем сами, как раньше.
7461
+ *
7462
+ * Стоп-линия отмеряется ОТ ПЕРЕХОДА, поэтому едет вместе с ним и остаётся к нему прижатой.
7463
+ */
7464
+ crossingAt?: (chain: RoadChain, index: number, node: number) => number | null;
7405
7465
  }
7406
7466
  declare function roadMarkings(graph: RoadGraph, options?: MarkingOptions): Marking[];
7407
7467