Signalis Date Converter

This is a date converter for Signalis dates. The algorithms/code are taken directly from rlucine's Timeline Deduction & Date Conversion Algorithms. I did not do any of the mathematical derivations; I only fiddled with it to make it work in Javascript, added the Penrose cycle conversion, and the difference calculations.

Please please please see the original work for more information and context (and the end of chapter 1)! As much sense as they make (especially with regards to where the Penrose cycles are located in the timeline), they are not confirmed in-game.

I've added some details about the implementation at the bottom of the page.

Converter

The converter will detect any date in the following formats and add it to the table:

{{ lastError }}

Difference

Click on 2 rows in the table to find the approximate time difference between them.

Select 2 datesVinetaRotfrontLeng
Difference:
VinetaRotfrontLengPenrose
{{ e.name }}

Notes

Converter implementation:

  • Sample dates are taken from the big table in chapter 2, with a few adjustments to the text for Ariane's diary entries (quoting the first line). For comparison/checking's sake, I added dates with multiple known conversions as separate entries.
  • Dates are converted via Vineta date, so Leng <-> Rotfront <-> Penrose cycle dates pass through the Vineta date conversion. This may introduce a small amount of error.
  • Due to the fact that conversion spits out a date range rather than a solid date, the single date results shown are the lower end of the range. Hover over a date to see the given date range.
  • Some of the dates are just slightly off from each other despite supposedly being the same date (see the 3 entries for Ariane's birthday) - this is likely due to rounding errors. Trying to solve this.
  • There is some rudimentary validation for number of days in a month/cycles in a period etc. so entirely random numbers might not work. Again, see the linked AO3 post for more details.
  • As the conversion to Penrose cycles isn't part of the given algorithms, I worked it backwards from the text. Based on the assumption that the 3000 cycles transmission arrived on time, Ariane's chronometer adjustment had a negligible impact on the number of cycles experienced (i.e. it was a very recent adjustment). Using Ariane's 1.126x conversion (i.e. assuming that the past 3000 cycles were on Rotfront time) makes things add up, so any cycles before 3000 are considered Rotfront length, and post-3000 are Vineta length. This is the only part where my calculations don't agree with the table, but it's also...not terribly important? Considering the dates after 3000 don't have any particular significance...to my knowledge. This calculation is the upper bound of the range in the hover text.

Difference calculator implementation:

  • The difference is taken between the original formats of those dates. Because I got lazy this does not take date ranges into account.
  • If both dates are in the same format, the difference will be taken and converted.
  • If both dates are in different formats, both are converted to Vinetan format to take the difference, then converted. This will be less accurate.
  • Penrose cycles are assumed to be the same as Rotfront cycles.
  • For the year/season count: leap years/seasons/etc. are not taken into account as one usually doesn't count leap days when dividing Earth days by 365 to get a duration in years. The raw day/cycle count is more reliable if you want to perform more calculations.
  • Leap years/seasons ARE, however, counted between the given dates.
  • Negative Rotfront seasons might be wrong atm?

Live values used in calculations:

Value
{{ n.name }}{{ n.value }}