arsd 9.4 tagged, adrdox 2.5 released

Posted 2021-04-05

Core D Development Statistics

In the community

Community announcements

See more at the announce forum.

What Adam is working on

arsd release

arsd.http2 now has a setTimeout method on the http request class.

arsd.simpledisplay batches opengl redraws internally now to avoid wasting time between frames. Since opengl redraws are liable to wait for vsync (unless you specifically disable it), it can be waiting for that while other events still come in, leading to delay. By deferring redraw to input idle it keeps better responsiveness without losing anything - the redraw would have waited a bit either way just now the wait is put to productive use.

future directions

I plan to add a font enumerate function to simpledisplay fairly soon. I'm also considering doing a deferred optimization to non-opengl windows similarly to what the new opengl thing does. I'll have to test first to see if it is worth it and I'm not in a huge rush since I'm pretty happy with that the way it is.

adrdox release

adrdox improvement made it possible to build druntime bindings docs+search, so druntime.dpldocs.info now works (though it could use another rebuild... while the optimization made it possible, it still took over 90 minutes to complete the task!)

At the same time, the corner search now uses central database on the vps for all projects, but it will give a bonus score to the project you searched from. This gives a more consistent experience while still letting you search within a project. I plan to visit this again soon too since there's still lots of untapped potential.

With all this, adrdox 2.5 is now tagged on dub if you run it yourself. Included:

  • support for static if and debug statements just like version so it shows up in the prototype
  • several bug fixes
  • change in style of undocumented things being displayed. it now just greys out the auto-generated text (when it appears)
  • call-outs of deprecated items. The deprecated keyword is now red and bold on the list.
  • the big memory use improvement described above
  • /// this comment appears on foo
    version(Windows)
    void foo();
    it now forwards doc comments from version() specifiers to the underlying items

Keeping the doc gen going is always a big time sink, so the next big update will probably be quite a while, but these improvements will lead to better results as caches are rebuilt. Nothing revolutionary but ongoing development here.