On Windows, I ended up having to use the Java version instead of the npm package.
Otherwise I got weird errors and could not get output that matched the Linux version.
This confirms the minification is working right.
In order to debug issues, we might need to temporarily switch
back to unminified code, but this makes me feel better
that the Google Closure Compiler is not messing up the code.
Resolved FIXFIXFIX comments regarding whether or not to
correct for aberration. In all cases, the observations are
made from the Earth, in which case it makes the most sense
to correct for aberration.
I was using "relative longitude" to mean two different things.
Resolved the ambiguity by using relative longitude only for
differences in eclitpic longitude as seen from the Sun.
Use "ecliptic separation" for differences in ecliptic longitude
as measured from the Earth.
Fixed completely wrong documentation in the JavaScript code;
it had the meanings backwards inside the ElongationEvent class.
Force regeneration of planet models in Travis CI,
just to ensure that everything is still working.
This also will detect if the planet models change
unexpectedly on my development machines.
Skip the time-consuming generation of planet models unless one
or more of the required files is missing.
This will cause the planet models to always be exercised by
Travis CI, but most of the time in my own development, they will
be skipped. This is a good compromise now that the code is very stable.
I'm not sure exactly whether it is Windows versus Linux,
or just different versions of doxygen, but on my Windows laptop
I was getting messed up doxygen output. It turns out that everything
is back on track once I cleaned up all the trailing whitespace in
template/astronomy.c. I will need to automate this in the future.
The following functions had parameters that accepted cryptic numeric values:
Astronomy_GeoVector
Astronomy_Equator
Astronomy_SearchRiseSet
Replaced such parameters with enumerations. Added the following enumerated types:
astro_aberration_t
astro_direction_t
astro_equator_date_t
Added more C documentation.
Got makedoc.bat to generate compatible documentation with
Linux makedoc script. Started to document all the stuff
developers have to install to work on this project.
I don't want to mix performance information with results.
If I need performance information later, I can do it through
a side channel. Renamed SearchErr to SearchError, to be consistent
with the other functions that generate error structs.
It turns out it simplifies things to merge all the doxygen xml
files into a single all.xml file, then process that. That way
I can find all the struct definitions too.
I don't know if this is going to do what I want, but I'm
hoping I can customize the Markdown output generated by moxygen
to be useful for a simple C library like this. It appears to be
customized for a class-oriented C++ program.
Certain macros and typedefs were ending up in Doxygen output
that have no reason to be documented for outside users.
Mostly I used Doxygen conditionals to hide them.
In a couple of cases I had some internal functions that needed
to be declared static so Doxygen hides them.
Added DoxygenLayout.xml, but not using it yet.
Still trying to figure out how to make Markdown output
that doesn't look terrible. Not sure I can get Moxygen
to do what I want. I may have to create my own simple(?) tool.
The version of doxygen supported in Travis CI appears to be
too old to work with moxygen. This is just not worth the hassle.
I will generate documentation locally, and I will document to
any prospective contributors how to do so also.