@zukall/zap 0.2.2 → 0.2.3

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.
Files changed (3) hide show
  1. package/PROTOCOL.md +1 -1
  2. package/README.md +45 -13
  3. package/package.json +1 -1
package/PROTOCOL.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # ZAP — Zukall Addressing Protocol, version 2
2
2
 
3
3
  Protocol 2 uses **100-meter grid blocks** and **1-meter detail**, computed from
4
- unrounded projected GPS coordinates. The npm package version (`0.2.2`) and
4
+ unrounded projected GPS coordinates. The npm package version (`0.2.3`) and
5
5
  protocol version (`2`) are separate. Previously issued protocol-1 addresses retain
6
6
  their original text and identity; see [PROTOCOL-V1.md](PROTOCOL-V1.md).
7
7
 
package/README.md CHANGED
@@ -1,19 +1,51 @@
1
1
  # ZAP — Zukall Addressing Protocol
2
2
 
3
3
  **`@zukall/zap`** generates addresses directly from latitude and longitude using
4
- fixed country/province grids. Protocol **2** encodes **100-meter blocks** and
5
- separate **whole-meter remainders**. It needs no Google Places API, geocoding
6
- service, network request, or runtime dependency. Generation works offline.
4
+ fixed country/province grids.
5
+
6
+ **Give real places a recognizable address, without waiting for street names or
7
+ house numbers.**
8
+
9
+ Imagine building a courier application that serves Uganda, Haiti, Florida in
10
+ the United States, and Germany. Your couriers and remote dispatchers need to
11
+ recognize addresses quickly, even when those places use different languages,
12
+ street names, and numbering systems.
13
+
14
+ With ZAP, they learn one address format and use it across the configured
15
+ countries and states. A home, business, rural entrance, or pickup point can have
16
+ an address based on its GPS location. A dispatcher can read the same address
17
+ structure in each market. Your application can show a courier where a
18
+ destination lies relative to their current location in the same grid, then open
19
+ map directions using the destination’s saved GPS point.
20
+
21
+ Once you have the GPS coordinates, you can generate the address offline,
22
+ without a geocoding service, API key, or per-address fee. ZAP works alongside
23
+ existing street addresses and also gives you a location address where street
24
+ names or house numbers are missing.
7
25
 
8
26
  ## See how ZAP works: Haiti’s grid
9
27
 
10
- These illustrations show locations in the same fixed Haiti grid. Each address
11
- is derived independently from its coordinates. The road can run north–south,
12
- east–west, diagonally, or curve; the grid origin and axes stay fixed.
28
+ ZAP starts with a configured rectangle around a country. Where a country uses
29
+ province or state grids, it uses the selected province’s rectangle instead—for
30
+ example, Florida’s grid within the United States.
31
+
32
+ Each rectangle has a fixed center and two axes: north/south and east/west.
33
+ Think of laying a grid of **100 × 100-meter square blocks** across the area.
34
+ The main address numbers count complete blocks from the center, and the
35
+ direction letters tell you which side of the center the location is on.
36
+
37
+ A suffix such as **`#23-43`** adds the position within that block: 23 whole meters
38
+ along the address’s north/south direction and 43 along its east/west direction.
39
+ That gives a home, entrance, or pickup point a location code with whole-meter
40
+ detail. Keep apartment and unit numbers alongside the code as separate details.
41
+
42
+ The Haiti illustrations below show the same fixed grid in use. Each address
43
+ comes from its own GPS point. Roads can run straight, diagonally, or curve;
44
+ the grid’s center and axes stay fixed.
13
45
 
14
46
  ### Whole-country grid and fixed center
15
47
 
16
- ![Haiti’s entire configured ZAP grid, its fixed center in the Gulf of Gonâve, and a GPS-to-address example](https://cdn.jsdelivr.net/npm/@zukall/zap@0.2.2/asset/zukall-haiti-country-grid.webp)
48
+ ![Haiti’s entire configured ZAP grid, its fixed center in the Gulf of Gonâve, and a GPS-to-address example](https://cdn.jsdelivr.net/npm/@zukall/zap@0.2.3/asset/zukall-haiti-country-grid.webp)
17
49
 
18
50
  The Haiti grid has one fixed center: **19.0578675° N, 73.0641385° W**.
19
51
  It is the center of the configured rectangle, in the Gulf of Gonâve, rather than
@@ -44,7 +76,7 @@ The examples and captions below use the current dashed format.
44
76
 
45
77
  ### North–south: easting stays fixed
46
78
 
47
- ![Haiti ZAP grid with five north–south locations, constant easting, and 100-meter projected intervals](https://cdn.jsdelivr.net/npm/@zukall/zap@0.2.2/asset/zukall-north-south-example.webp)
79
+ ![Haiti ZAP grid with five north–south locations, constant easting, and 100-meter projected intervals](https://cdn.jsdelivr.net/npm/@zukall/zap@0.2.3/asset/zukall-north-south-example.webp)
48
80
 
49
81
  ```text
50
82
  Point A: 580 S 772 E #42-68, HT ZAP
@@ -58,7 +90,7 @@ Moving north on this side of the origin decreases the south block.
58
90
 
59
91
  ### East–west: northing stays fixed
60
92
 
61
- ![Haiti ZAP grid with five east–west locations, constant south offset, and 100-meter projected intervals](https://cdn.jsdelivr.net/npm/@zukall/zap@0.2.2/asset/zukall-west-east.webp)
93
+ ![Haiti ZAP grid with five east–west locations, constant south offset, and 100-meter projected intervals](https://cdn.jsdelivr.net/npm/@zukall/zap@0.2.3/asset/zukall-west-east.webp)
62
94
 
63
95
  ```text
64
96
  Point A: 582 S 770 E #42-68, HT ZAP
@@ -72,7 +104,7 @@ Moving west on this side of the origin decreases the east block.
72
104
 
73
105
  ### Diagonal streets: both axes can change
74
106
 
75
- ![Haiti ZAP grid over a diagonal street, showing changing south and east offsets with a fixed grid](https://cdn.jsdelivr.net/npm/@zukall/zap@0.2.2/asset/zukall-diagnol-example.webp)
107
+ ![Haiti ZAP grid over a diagonal street, showing changing south and east offsets with a fixed grid](https://cdn.jsdelivr.net/npm/@zukall/zap@0.2.3/asset/zukall-diagnol-example.webp)
76
108
 
77
109
  ```text
78
110
  Point A: 580 S 770 E #43-46, HT ZAP
@@ -191,7 +223,7 @@ npm install @zukall/zap
191
223
  Before publication, install the verified local package:
192
224
 
193
225
  ```sh
194
- npm install /absolute/path/to/zukall-address-protocol/.artifacts/zukall-zap-0.2.2.tgz
226
+ npm install /absolute/path/to/zukall-address-protocol/.artifacts/zukall-zap-0.2.3.tgz
195
227
  ```
196
228
 
197
229
  Build and verify the source:
@@ -571,11 +603,11 @@ removed-option error.
571
603
  ```sh
572
604
  npm login
573
605
  npm run pack:check
574
- npm publish ./.artifacts/zukall-zap-0.2.2.tgz --access public
606
+ npm publish ./.artifacts/zukall-zap-0.2.3.tgz --access public
575
607
  ```
576
608
 
577
609
  An npm account with permission to publish `@zukall/zap` is required. Building and
578
- packing do not publish the package. Package version is `0.2.2`; current protocol
610
+ packing do not publish the package. Package version is `0.2.3`; current protocol
579
611
  version is `2`, while preserved legacy results remain version `1`.
580
612
 
581
613
  ## License
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zukall/zap",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "ZAP (Zukall Addressing Protocol): deterministic 100-meter grid blocks with whole-meter detail from GPS coordinates.",
5
5
  "license": "MIT",
6
6
  "type": "module",