Skip to content

Commit 0f8bb12

Browse files
committed
Fiks: måne-merke (luna), live posisjon i sikt for Måne/planeter, cache sunPos (cache v21)
1 parent 2f71add commit 0f8bb12

3 files changed

Lines changed: 33 additions & 5 deletions

File tree

shared.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ var BADGES = [
9393
{id:'first', emo:'🌟', name:'Første lys', desc:'Sett ditt aller første objekt', test:function(s){ return s.length>=1; }},
9494
{id:'five', emo:'✋', name:'Femkløver', desc:'Sett 5 objekter', test:function(s){ return s.length>=5; }},
9595
{id:'ten', emo:'🔟', name:'Ti på rad', desc:'Sett 10 objekter', test:function(s){ return s.length>=10; }},
96-
{id:'moon', emo:'🌕', name:'Månevandrer', desc:'Sett Månen', test:function(s){ return s.indexOf('moon')>=0; }},
96+
{id:'moon', emo:'🌕', name:'Månevandrer', desc:'Sett Månen', test:function(s){ return s.indexOf('luna')>=0; }},
9797
{id:'planet3',emo:'🪐', name:'Planetjeger', desc:'Sett 3 planeter', test:function(s,cat){ return countType(s,cat,'planet')>=3; }},
9898
{id:'gx3', emo:'🌀', name:'Galaksesamler', desc:'Sett 3 galakser', test:function(s,cat){ return countType(s,cat,'galaxy')>=3; }},
9999
{id:'neb3', emo:'🌫', name:'Tåkefanger', desc:'Sett 3 tåker', test:function(s,cat){ return countType(s,cat,'nebula')>=3; }},
@@ -945,7 +945,8 @@ function bestViewingNights(raH, decDeg, lat, lon, fromDate, nDays, opts) {
945945
var best = null, peakAnytime = -90, darkEnoughMin = 0, peakWhenDark = -90, darkExists = false;
946946
for (var m = 0; m <= 1440; m += 15) {
947947
var t = new Date(base.getTime() + m * 60000);
948-
var sa = altAz(sunPos(t).ra, sunPos(t).dec, t, lat, lon).alt;
948+
var sp = sunPos(t);
949+
var sa = altAz(sp.ra, sp.dec, t, lat, lon).alt;
949950
var pr = posFn ? posFn(t) : {ra:raH, dec:decDeg};
950951
var oa = altAz(pr.ra, pr.dec, t, lat, lon).alt;
951952
if (oa > peakAnytime) peakAnytime = oa;

sikt.html

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ <h1>Assistert <em>sikting</em></h1>
161161
var cal = loadAlign(); // lagret kalibrering
162162
if (cal && cal.points) calPoints = cal.points.slice(0, 2); // gjenopprett punkter for oversikt
163163
var target = null; // {name, ra, dec} valgt mål
164+
var lastPosRefresh = 0; // siste reberegning av bevegelig mål (ms)
164165
var lockHold = 0;
165166

166167
// Mål fra forrige side (via localStorage-overlevering)
@@ -252,12 +253,35 @@ <h1>Assistert <em>sikting</em></h1>
252253
aldebaran:{con:'tau',from:'Elnath'}, regulus:{con:'leo',from:'Algieba'}
253254
};
254255
// ---- Sett mål ----
256+
// Live posisjon for objekter i bevegelse (Måne + planeter). Returnerer null for
257+
// faste objekter (stjerner/dyprom), som beholder sine lagrede J2000-koordinater.
258+
function liveBodyPos(id, date){
259+
if (!id) return null;
260+
if (id === 'luna') return moonPos(date);
261+
var pp = planetPos(id, date);
262+
if (pp) return pp;
263+
// måne av en planet (Io, Titan …) → følg planeten; avstanden er buesekunder
264+
if (typeof MOONS !== 'undefined') {
265+
for (var i = 0; i < MOONS.length; i++) {
266+
if (MOONS[i].id === id && MOONS[i].parent) return planetPos(MOONS[i].parent, date);
267+
}
268+
}
269+
return null;
270+
}
271+
// Oppdater target.ra/dec til NÅ hvis objektet beveger seg. Trygt for faste objekter.
272+
function refreshTargetPos(){
273+
if (!target) return;
274+
var lp = liveBodyPos(target.id, new Date());
275+
if (lp){ target.ra = lp.ra; target.dec = lp.dec; }
276+
}
277+
255278
function setTarget(t){
256279
target = t;
280+
refreshTargetPos(); // fersk posisjon før kart/kalibrering
257281
document.getElementById('pick-panel').classList.add('hidden');
258282
document.getElementById('aim-panel').classList.remove('hidden');
259283
document.getElementById('aim-target').textContent = '🎯 ' + t.name;
260-
renderAimChart(t);
284+
renderAimChart(target);
261285
}
262286
function renderAimChart(t){
263287
var box = document.getElementById('aim-chart');
@@ -367,7 +391,10 @@ <h1>Assistert <em>sikting</em></h1>
367391
document.getElementById('cur-alt').textContent = Math.round(corr.alt)+'°';
368392

369393
if (target){
370-
var t = altAz(target.ra, target.dec, new Date(), lat, lon);
394+
var nowD = new Date();
395+
// reberegn Måne/planet-posisjon med jevne mellomrom (de driver ~0,5°/t)
396+
if (nowD - lastPosRefresh > 2000){ refreshTargetPos(); lastPosRefresh = +nowD; }
397+
var t = altAz(target.ra, target.dec, nowD, lat, lon);
371398
var d = aimDelta(corr.az, corr.alt, t.az, t.alt);
372399
updateArrows(d, t);
373400
}

sw.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Stjernekikkert service worker (PERF-3) — offline-støtte.
22
// Cache-first for app-skall; nett-fallback for alt annet (f.eks. vær-API senere).
3-
var CACHE = 'stjernekikkert-v20';
3+
var CACHE = 'stjernekikkert-v21';
44
var ASSETS = [
55
'index.html',
66
'objekter.html',

0 commit comments

Comments
 (0)