diff --git a/sprites/Makefile b/sprites/Makefile
index eb5784d0..774780b6 100644
--- a/sprites/Makefile
+++ b/sprites/Makefile
@@ -1,6 +1,6 @@
all:
- ./target/release/spritegen refill.svg themes/light.json dist/light
- ./target/release/spritegen refill.svg themes/dark.json dist/dark
- ./target/release/spritegen refill.svg themes/white.json dist/white
- ./target/release/spritegen refill.svg themes/grayscale.json dist/grayscale
- ./target/release/spritegen refill.svg themes/black.json dist/black
\ No newline at end of file
+ ./target/release/spritegen refill.svg flavors/light.json dist/light
+ ./target/release/spritegen refill.svg flavors/dark.json dist/dark
+ ./target/release/spritegen refill.svg flavors/white.json dist/white
+ ./target/release/spritegen refill.svg flavors/grayscale.json dist/grayscale
+ ./target/release/spritegen refill.svg flavors/black.json dist/black
\ No newline at end of file
diff --git a/sprites/README.md b/sprites/README.md
index b6df27b9..d0402134 100644
--- a/sprites/README.md
+++ b/sprites/README.md
@@ -6,8 +6,14 @@ You will need a Rust compiler.
To generate spritesheets for the light theme:
-`./target/release/spritegen refill.svg themes/light.json dist/light`
+`./target/release/spritegen refill.svg flavors/light.json dist/light`
Creates `dist/light.json`, `dist/light.png`, `dist/light@2x.json`, `dist/light@2x.png`
In the basemaps viewer (run `npm run dev` in `/app`), check the "local sprites" box to load sprites from `/sprites/dist`
+
+## All Themes
+
+```
+make all
+```
diff --git a/sprites/flavors/black.json b/sprites/flavors/black.json
new file mode 100644
index 00000000..dda46e6d
--- /dev/null
+++ b/sprites/flavors/black.json
@@ -0,0 +1,11 @@
+{
+ "flavors": {
+ "base":["#aaaaaa","#000000"],
+ "arrow":["#666666","#666666"]
+ },
+ "icons": {
+ "townspot":"base",
+ "capital":"base",
+ "arrow":"arrow"
+ }
+}
\ No newline at end of file
diff --git a/sprites/themes/dark.json b/sprites/flavors/dark.json
similarity index 90%
rename from sprites/themes/dark.json
rename to sprites/flavors/dark.json
index 50a2445d..6ea0dd18 100644
--- a/sprites/themes/dark.json
+++ b/sprites/flavors/dark.json
@@ -1,6 +1,7 @@
{
- "themes": {
+ "flavors": {
"base":["#aaaaaa","#000000"],
+ "arrow":["#666666","#666666"],
"green":["#30C573", "#1F1F1F"],
"lapis": ["#2B5CEA", "#1F1F1F"],
"slategray": ["#93939F", "#1F1F1F"]
@@ -8,6 +9,7 @@
"icons": {
"townspot":"base",
"capital":"base",
+ "arrow":"arrow",
"beach":"green",
"forest":"green",
"marina":"green",
diff --git a/sprites/flavors/grayscale.json b/sprites/flavors/grayscale.json
new file mode 100644
index 00000000..fa576dae
--- /dev/null
+++ b/sprites/flavors/grayscale.json
@@ -0,0 +1,11 @@
+{
+ "flavors": {
+ "base":["#444444","#dddddd"],
+ "arrow":["#999999","#999999"]
+ },
+ "icons": {
+ "townspot":"base",
+ "capital":"base",
+ "arrow":"arrow"
+ }
+}
\ No newline at end of file
diff --git a/sprites/themes/light.json b/sprites/flavors/light.json
similarity index 90%
rename from sprites/themes/light.json
rename to sprites/flavors/light.json
index e5313592..b3f87f37 100644
--- a/sprites/themes/light.json
+++ b/sprites/flavors/light.json
@@ -1,6 +1,7 @@
{
- "themes": {
+ "flavors": {
"base":["#555555","#ffffff"],
+ "arrow":["#cccccc","#cccccc"],
"green":["#20834D", "#DEF7EA"],
"lapis": ["#315BCF", "#DFEAF4"],
"slategray": ["#6A5B8F", "#E1F2FF"]
@@ -8,6 +9,7 @@
"icons": {
"townspot":"base",
"capital":"base",
+ "arrow": "arrow",
"beach":"green",
"forest":"green",
"marina":"green",
diff --git a/sprites/flavors/white.json b/sprites/flavors/white.json
new file mode 100644
index 00000000..a86a88c8
--- /dev/null
+++ b/sprites/flavors/white.json
@@ -0,0 +1,11 @@
+{
+ "flavors": {
+ "base":["#888888","#ffffff"],
+ "arrow":["#bbbbbb","#bbbbbb"]
+ },
+ "icons": {
+ "townspot":"base",
+ "capital":"base",
+ "arrow":"arrow"
+ }
+}
\ No newline at end of file
diff --git a/sprites/refill.svg b/sprites/refill.svg
index c9db2b6d..18f4224c 100644
--- a/sprites/refill.svg
+++ b/sprites/refill.svg
@@ -1 +1,13908 @@
-
+
+
\ No newline at end of file
diff --git a/sprites/src/main.rs b/sprites/src/main.rs
index 528a3526..0a29b15d 100644
--- a/sprites/src/main.rs
+++ b/sprites/src/main.rs
@@ -226,13 +226,13 @@ fn extract_groups_from_svg(
if shader.icons.contains_key(&substr) {
let black = parse_color(
- shader.themes[&shader.icons[&substr]][0]
+ shader.flavors[&shader.icons[&substr]][0]
.strip_prefix("#")
.unwrap(),
)
.unwrap();
let white = parse_color(
- shader.themes[&shader.icons[&substr]][1]
+ shader.flavors[&shader.icons[&substr]][1]
.strip_prefix("#")
.unwrap(),
)
@@ -284,7 +284,7 @@ fn extract_groups_from_svg(
#[derive(Debug, Serialize, Deserialize)]
struct Shader {
- themes: HashMap>,
+ flavors: HashMap>,
icons: HashMap,
}
diff --git a/sprites/themes/black.json b/sprites/themes/black.json
deleted file mode 100644
index 8842be10..00000000
--- a/sprites/themes/black.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "themes": {
- "base":["#aaaaaa","#000000"]
- },
- "icons": {
- "townspot":"base",
- "capital":"base"
- }
-}
\ No newline at end of file
diff --git a/sprites/themes/grayscale.json b/sprites/themes/grayscale.json
deleted file mode 100644
index 5a4692a0..00000000
--- a/sprites/themes/grayscale.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "themes": {
- "base":["#444444","#dddddd"]
- },
- "icons": {
- "townspot":"base",
- "capital":"base"
- }
-}
\ No newline at end of file
diff --git a/sprites/themes/white.json b/sprites/themes/white.json
deleted file mode 100644
index 140e08b9..00000000
--- a/sprites/themes/white.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "themes": {
- "base":["#888888","#ffffff"]
- },
- "icons": {
- "townspot":"base",
- "capital":"base"
- }
-}
\ No newline at end of file
diff --git a/styles/src/base_layers.ts b/styles/src/base_layers.ts
index 0d265dd0..51afa117 100644
--- a/styles/src/base_layers.ts
+++ b/styles/src/base_layers.ts
@@ -1429,6 +1429,20 @@ export function labels_layers(
"text-halo-width": 1,
},
},
+ {
+ id: "roads_oneway",
+ type: "symbol",
+ source: source,
+ "source-layer": "roads",
+ minzoom: 16,
+ filter: ["==", ["get", "oneway"], "yes"],
+ layout: {
+ "symbol-placement": "line",
+ "icon-image": "arrow",
+ "icon-rotate": 90,
+ "symbol-spacing": 100,
+ },
+ },
{
id: "roads_labels_minor",
type: "symbol",