Phase 5.3: documentation regeneration + introspection-based stub generator

Regenerate HTML/Markdown API reference, man page, and type stubs against
current committed HEAD (post API-freeze pass #304-#308, #252 overhaul, and
Phase 3/4/5.1/5.2 changes).

The previous tools/generate_stubs_v2.py hand-maintained hardcoded strings,
which drifted badly: stubs still contained removed module functions
(setScale, findAll, getMetrics, setDevConsole), lacked new types (GridView,
Behavior, Trigger, DiscreteMap, Viewport3D, Entity3D, Model3D, Billboard,
NoiseSource, WangSet, LdtkProject, HeightMap, DijkstraMap, AStarPath,
ColorLayer, TileLayer, etc.), and missed post-overhaul properties
(tile_width/tile_height, sprite_grid, perspective_map, cell_pos, labels,
turn_order, move_speed, etc.).

Rewrite the generator as a runtime-introspection script mirroring
generate_dynamic_docs.py's approach:
  - classify mcrfpy members (classes, enums, functions, constants, submodules)
  - parse signatures from docstring first line with proper paren-depth tracking
  - translate multi-form signatures (foo(x,y) or foo(pos)) to *args/**kwargs
  - sanitize docstring '...' placeholder params into '**kwargs'
  - emit IntEnum blocks for int-subclass types with uppercase members
  - discover delegated methods via instance probing (Grid/GridView -> _GridData)
  - conservative property type inference (only accept recognized primitives
    and CapitalCase class names in parenthesized hints)

Resulting stubs/mcrfpy.pyi (2069 lines) parses as valid Python.
Markdown/HTML/man-page regeneration is otherwise timestamp-only since the
introspection path was already current -- the stubs were the stale artifact.
This commit is contained in:
John McCardle 2026-04-18 07:33:51 -04:00
commit 2086d25581
5 changed files with 2535 additions and 1834 deletions

View file

@ -1,6 +1,6 @@
# McRogueFace API Reference
*Generated on 2026-04-17 21:43:43*
*Generated on 2026-04-18 07:28:57*
*This documentation was dynamically generated from the compiled module.*

View file

@ -108,7 +108,7 @@
<body>
<div class="container">
<h1>McRogueFace API Reference</h1>
<p><em>Generated on 2026-04-17 21:43:43</em></p>
<p><em>Generated on 2026-04-18 07:28:57</em></p>
<p><em>This documentation was dynamically generated from the compiled module.</em></p>
<div class="toc">

View file

@ -14,11 +14,11 @@
. ftr VB CB
. ftr VBI CBI
.\}
.TH "MCRFPY" "3" "2026-04-17" "McRogueFace 0.2.7-prerelease-7drl2026-76-g417fc43" ""
.TH "MCRFPY" "3" "2026-04-18" "McRogueFace 0.2.7-prerelease-7drl2026-79-g59e7221" ""
.hy
.SH McRogueFace API Reference
.PP
\f[I]Generated on 2026-04-17 21:43:43\f[R]
\f[I]Generated on 2026-04-18 07:28:57\f[R]
.PP
\f[I]This documentation was dynamically generated from the compiled
module.\f[R]

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff