Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Cesium guest (?cesium=iframe): white flicker near Mars's and Earth's surface remains after #335

Aperta
#344 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
javascript, three.js

Direzione di ricerca

Start with design/CesiumGuest.md phase 2 and RFC 0003 §4.5, then reproduce the close approach with ?cesium=iframe and inspect ?perf=1 guest statistics. Compare the corrected, refused, and uncorrectable frame counts with ?cesiumReproject=0 and the same-page layer to narrow down the cause. Done means identifying and fixing the remaining white flicker, with the comparison confirming the result.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Seen on #335's preview on an M2: with ?cesium=iframe, approaching Mars's surface closely (and maybe Earth's), frames still flash white at first, though less than before. The same-page layer doesn't flicker this way.

What #335 already fixed

  • Frames that couldn't re-run were blank. portal-netgl 0.6.9's deferred deletes fixed that; phase 4's kept copy remains for readback frames.
  • Late frames drawn where they were. They're now corrected to the camera (0.6.10's named targets and the netgl-reproject patch).
  • The adaptive wait. It is 100 ms, not 30, when the frame in hand can't be corrected. That covers frames with no view and projection (several frusta) and moves too large for float32: t / (2·near) over 10⁴, with Cesium's near at 0.1 m low down.
  • A drain with only the night lights' part drew no ground. The day frame is now kept.
  • The aspect of the view. It now follows the canvas's.

Likely remaining causes, to check one at a time

  1. Late frames that can't be corrected even at 100 ms.
    • A frame with several frusta carries no matrices.
    • So does a move over the float32 bound while tiles stream.
    • Each is drawn where it was, leaving the shell's edge uncovered under celestiary's atmosphere.
    • ?perf=1's scene.cesiumGuests (c.ui.layers.guestStats()) counts corrected, refused and uncorrectable per body. A paste from the flickering approach would say which.
  2. Uncovered edges after a correction (RFC 0003 §4.5, Q6).
    • Where a corrected frame leaves the shell uncovered, celestiary's own surface should show, at lower detail, rather than the atmosphere over nothing.
    • Not built yet.
  3. Cesium's own blank frames while tiles load near the surface.
    • The guest's frames could be blank in themselves.
    • Compare ?cesiumReproject=0, and the same-page layer, at the same approach.

The atmosphere toggle being added in another session will help tell 2 and 3 apart from the atmosphere pass itself.

Refs: #314, #335, pablo-mayrgundter/portal#49 (RFC 0003), design/CesiumGuest.md phase 2.

Lingua principale
JavaScript
Stelle
55
Fork
4
Merge medio
10h 12m
PR unite (30g)
134

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di celestiary/web

Tutte le issue di celestiary/web

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.