velxio/backend/app/api/routes
David Montero 9118529d10 feat(intellisense): /type/ follows inheritance; extractor records bases and splits comma declarators
Measured against the user corpus, the by-resolved-type long tail was
losing what the old catch-all happened to include: for `Adafruit_SH1106G
display(...); display.setTextSize(` the class itself declares one method
(begin) and everything people call lives four levels up (Adafruit_SH110X ->
Adafruit_GrayOLED -> Adafruit_GFX -> Print). Same story for MCUFRIEND_kbv,
Adafruit_NeoMatrix and every GFX-derived display driver.

Three changes:

- The scanner records `bases` on class symbols (access/virtual keywords
  dropped, `ns::Base` -> Base, template args cut). 2,529 classes across the
  production cache now carry their bases.

- /type/{name} walks the chain breadth-first through the type index (bases
  routinely live in a different library), re-owns inherited members to the
  requested type so the editor sees one flat class, tags them with
  `inheritedFrom`, and lists the chain in `bases` -- including bases NOT in
  the cache (Print, Stream, or an embedded one like Adafruit_GFX) so the
  host can supply those itself. Depth capped at 8. Adafruit_SH1106G goes
  from 1 member to 64.

- `void a(int), b(), c(char);` declares three methods; the extractor took
  only the first. TFT_eSPI declares setTextColor/setTextSize and
  setCursor/getCursorX/... this way. Split on top-level commas after a
  complete `name(args)` group. TFT_eSPI 118 -> 173 members.

Rescan of the 1,125-entry production cache: +274 member symbols, 15
libraries gain, none lose.
2026-08-17 19:08:57 +02:00
..
__init__.py
…
compile.py fix(compile): lock the build DIRECTORY, not the FQBN — concurrent compiles swapped binaries 2026-08-17 09:12:26 +02:00
compile_chip.py refactor(oss-split): introduce extension hooks for auth, DB, metrics, auto-save 2026-05-14 13:24:51 -03:00
compile_rom.py feat(chips): C-to-Z80 compile via SDCC + LED chaser example 2026-05-19 00:31:10 -03:00
flash.py feat(flash): write compiled sketches to real USB boards (phases D1+D3) 2026-05-27 00:20:20 -03:00
intellisense.py feat(intellisense): /type/ follows inheritance; extractor records bases and splits comma declarators 2026-08-17 19:08:57 +02:00
iot_gateway.py fix(gateway): keep in-browser WiFi boards reachable through the IoT gateway 2026-08-14 19:45:39 +02:00
libraries.py feat(P2.1): install index libraries by WARMING the shared cache (not the global dir) 2026-06-07 22:33:05 +02:00
news.py feat(news): rich media in posts - inline images/GIFs + YouTube click-to-play previews 2026-08-05 16:25:08 +02:00
simulation.py feat(pi): techo de capacidad para los guests QEMU (multiusuario) 2026-07-29 21:15:04 +02:00