Vyasa Extension Refactor Audit and Execution Plan

Architecture Decision FrameworkURL copied

Deepening OpportunitiesURL copied

4. Layout ModuleURL copied

Files:

  • vyasa/layout_page.py
  • vyasa/layout_helpers.py
  • vyasa/page_shell.py
  • vyasa/nav_views.py
  • vyasa/sidebar_helpers.py
  • vyasa/tree_rendering.py
  • vyasa/extensions_builtin/default_layout.py
  • vyasa/extensions_builtin/blog_home.py

Problem:

  • Layout is still core implementation.
  • The current default layout extension is only a label.
  • Navigation, sidebar, shell, document chrome, and home behavior are scattered.

Solution:

  • Create vyasa/extensions_builtin/default_layout/.
  • Move page shell, layout helpers, nav views, sidebar views, and default tree rendering into that extension where they are display behavior.
  • Keep core content tree data structures in core.
  • Register:
    • layout mode
    • document shell slot
    • nav slot
    • sidebar slot
    • home renderer
    • error renderer

Benefits:

  • Leverage: alternate layouts can replace the visual shell without editing core.
  • Locality: layout bugs live in layout extension.
  • Tests: render a page through layout slot with fake content snapshot.