CesiumGS / CesiumGS/cesium

Problems with JulianDates in distant past or far future.

Open
#4,597 0 comments 0 reactions 0 assignees View on GitHub
category - math type - cleanup
Dominant language
JavaScript
Stars
15.7k
Forks
3.9k
Avg merge
4d 6h
Merged PRs (30d)
34

Description

We currently don't define minimum or maximum values for `JulianDate`instances. I'm actually pretty sure that minimum and maximum values don't actually exist and the date itself is always valid (obviously still limited by JavaScript Number bounds).

Where we run into problems is trying to actually format really old or far future dates as gregorian strings. For example, zooming out really far on the timeline starts to show `undefined` labels for dates before 4713 BCE. This may only be a problem for Timeline and Animation, I'm not sure if we display times anywhere else.

We should test our conversion to Gregorian for the far off dates and see if it's the conversion itself that presents a problem or simply how we turn that into a formatted string. I don't have a good solution for now, and I doubt this is a pressing issue anytime soon, but I wanted to write up the issue so that we don't forget about it.

Found while working on #4595

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the undefined labels for dates before 4713 BCE while zooming out on the Timeline, and check whether Animation shows the same behavior. Compare JulianDate-to-Gregorian conversion with the subsequent formatted string handling. Done means identifying the failing stage and adding coverage for far-past and far-future dates.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.