Skip to content

Commit 3a799fc

Browse files
committed
Add layer color themes
1 parent 41477ac commit 3a799fc

1 file changed

Lines changed: 80 additions & 2 deletions

File tree

example/three/pmtiles.js

Lines changed: 80 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import {
1212
} from '3d-tiles-renderer/plugins';
1313
import GUI from 'three/addons/libs/lil-gui.module.min.js';
1414

15-
// Layer config for Protomaps v4 basemapcolors from the Protomaps "Light" theme
16-
const LAYERS = {
15+
// Protomaps "Light" theme — from protomaps/basemaps flavors.ts
16+
const LAYERS_LIGHT = {
1717
earth: { enabled: true, fill: '#e2dfda', order: 0 },
1818
water: { enabled: true, fill: '#80deea', order: 1 },
1919
landcover: { enabled: true, fill: '#c4e7d2', order: 2 },
@@ -27,6 +27,84 @@ const LAYERS = {
2727
pois: { enabled: true, fill: '#1a8cbd', radius: 3, order: 10 },
2828
};
2929

30+
/*
31+
// Protomaps "Dark" theme — from protomaps/basemaps flavors.ts
32+
const LAYERS_DARK = {
33+
earth: { enabled: true, fill: '#1f1f1f', order: 0 },
34+
water: { enabled: true, fill: '#31353f', order: 1 },
35+
landcover: { enabled: true, fill: '#1c2925', order: 2 },
36+
landuse: { enabled: true, fill: '#1c2421', order: 3 },
37+
natural: { enabled: true, fill: '#212123', order: 4 },
38+
buildings: { enabled: true, fill: '#111111', order: 5 },
39+
roads: { enabled: true, stroke: '#3d3d3d', order: 6 },
40+
transit: { enabled: true, stroke: '#000000', order: 7 },
41+
boundaries: { enabled: true, stroke: '#5b6374', order: 8 },
42+
places: { enabled: true, fill: '#7a7a7a', order: 9 },
43+
pois: { enabled: true, fill: '#4299bb', radius: 3, order: 10 },
44+
};
45+
46+
// Protomaps "White" theme — from protomaps/basemaps flavors.ts
47+
const LAYERS_WHITE = {
48+
earth: { enabled: true, fill: '#ffffff', order: 0 },
49+
water: { enabled: true, fill: '#dcdcdc', order: 1 },
50+
landcover: { enabled: true, fill: '#fcfcfc', order: 2 },
51+
landuse: { enabled: true, fill: '#fcfcfc', order: 3 },
52+
natural: { enabled: true, fill: '#fafafa', order: 4 },
53+
buildings: { enabled: true, fill: '#efefef', order: 5 },
54+
roads: { enabled: true, stroke: '#ebebeb', order: 6 },
55+
transit: { enabled: true, stroke: '#d6d6d6', order: 7 },
56+
boundaries: { enabled: true, stroke: '#adadad', order: 8 },
57+
places: { enabled: true, fill: '#5c5c5c', order: 9 },
58+
pois: { enabled: true, fill: '#1a8cbd', radius: 3, order: 10 },
59+
};
60+
61+
// Protomaps "Black" theme — from protomaps/basemaps flavors.ts
62+
const LAYERS_BLACK = {
63+
earth: { enabled: true, fill: '#141414', order: 0 },
64+
water: { enabled: true, fill: '#333333', order: 1 },
65+
landcover: { enabled: true, fill: '#181818', order: 2 },
66+
landuse: { enabled: true, fill: '#181818', order: 3 },
67+
natural: { enabled: true, fill: '#161616', order: 4 },
68+
buildings: { enabled: true, fill: '#0a0a0a', order: 5 },
69+
roads: { enabled: true, stroke: '#3f3f3f', order: 6 },
70+
transit: { enabled: true, stroke: '#3f3f3f', order: 7 },
71+
boundaries: { enabled: true, stroke: '#707070', order: 8 },
72+
places: { enabled: true, fill: '#999999', order: 9 },
73+
pois: { enabled: true, fill: '#707070', radius: 3, order: 10 },
74+
};
75+
76+
// Pastel theme — each layer gets a distinct hue at high lightness, moderate saturation
77+
const LAYERS_PASTEL = {
78+
earth: { enabled: true, fill: '#f6f5f2', order: 0 },
79+
water: { enabled: true, fill: '#c2e0f4', order: 1 },
80+
landcover: { enabled: true, fill: '#d4ecd5', order: 2 },
81+
landuse: { enabled: true, fill: '#e6e4f2', order: 3 },
82+
natural: { enabled: true, fill: '#f3ebd1', order: 4 },
83+
buildings: { enabled: true, fill: '#f7e1e1', order: 5 },
84+
roads: { enabled: true, stroke: '#ffffff', order: 6 },
85+
transit: { enabled: true, stroke: '#ccbfe6', order: 7 },
86+
boundaries: { enabled: true, stroke: '#d9c2cd', order: 8 },
87+
places: { enabled: true, fill: '#5c5470', order: 9 },
88+
pois: { enabled: true, fill: '#e08a9b', radius: 3, order: 10 },
89+
};
90+
91+
const LAYERS_RADICAL = {
92+
earth: { enabled: true, fill: '#0c001a', order: 0 },
93+
water: { enabled: true, fill: '#00f0ff', order: 1 },
94+
landcover: { enabled: true, fill: '#120036', order: 2 },
95+
landuse: { enabled: true, fill: '#ff0055', order: 3 },
96+
natural: { enabled: true, fill: '#00ff66', order: 4 },
97+
buildings: { enabled: true, fill: '#2d0066', order: 5 },
98+
roads: { enabled: true, stroke: '#ffdd00', order: 6 },
99+
transit: { enabled: true, stroke: '#ff00ff', order: 7 },
100+
boundaries: { enabled: true, stroke: '#00ffcc', order: 8 },
101+
places: { enabled: true, fill: '#ffffff', order: 9 },
102+
pois: { enabled: true, fill: '#ff9900', radius: 3, order: 10 },
103+
};
104+
*/
105+
106+
const LAYERS = LAYERS_LIGHT;
107+
30108
let scene, renderer, camera, controls, tiles, overlay;
31109

32110
init();

0 commit comments

Comments
 (0)