After many hours wasted, I am able to bend jsdoc to my will. A lot of verbose markup is required, but the jsdoc output is mostly serviceable, so this will be the documentation format we'll stick with.