diff --git a/plugin/contents/ui/dancer.html b/plugin/contents/ui/dancer.html
index 2cfa64d..82d58ae 100644
--- a/plugin/contents/ui/dancer.html
+++ b/plugin/contents/ui/dancer.html
@@ -1276,7 +1276,7 @@ const E2G = [
para plate carrée por tools/build_skymap.py. A geometria é real; apenas
exposição, contraste e saturação são estilizados para o wallpaper. */
const MW_BLACK = 46;
-const MW_EXPOSURE = 1.16;
+const MW_EXPOSURE = 1.08;
const MW_SAMPLE_SCALE = 1;
const mwTex = { data: null, w: 0, h: 0 };
const mwCanvas = document.createElement('canvas');
@@ -1354,7 +1354,7 @@ function renderMilkyWay(lstDeg, glareOn) {
const l = Math.atan2(gy, gx);
const b = Math.asin(Math.max(-1, Math.min(1, gz)));
const absB = Math.abs(b / DEG);
- if (absB >= 42) { px[j + 3] = 0; continue; }
+ if (absB >= 78) { px[j + 3] = 0; continue; }
let tx = ((Math.PI - l) * inv2pi * tw) | 0;
let ty = ((Math.PI / 2 - b) * invpi * th) | 0;
@@ -1368,9 +1368,14 @@ function renderMilkyWay(lstDeg, glareOn) {
signal = Math.pow(Math.min(1, signal), 0.72);
let mask = 1;
- if (absB > 18) {
- mask = (42 - absB) / 24;
- mask = mask * mask * (3 - 2 * mask);
+ if (absB > 18 && absB < 60) {
+ let fade = (60 - absB) / 42;
+ fade = fade * fade * (3 - 2 * fade);
+ mask = 0.14 + 0.86 * fade;
+ } else if (absB >= 60) {
+ let fade = (78 - absB) / 18;
+ fade = fade * fade * (3 - 2 * fade);
+ mask = 0.14 * fade;
}
const alpha = Math.min(1, signal * MW_EXPOSURE) * ext[i] *
(glareOn ? glare[i] : 1) * mask;
@@ -1417,10 +1422,10 @@ function projectSky() {
bctx.imageSmoothingQuality = 'high';
bctx.save();
bctx.globalCompositeOperation = 'lighter';
- bctx.globalAlpha = 0.22;
+ bctx.globalAlpha = 0.20;
bctx.filter = `blur(${Math.max(7, H * 0.009)}px) saturate(150%)`;
bctx.drawImage(mwCanvas, 0, 0, W, horizonPx);
- bctx.globalAlpha = 0.94;
+ bctx.globalAlpha = 0.92;
bctx.filter = 'contrast(116%) saturate(158%)';
bctx.drawImage(mwCanvas, 0, 0, W, horizonPx);
bctx.restore();