Skip to content

feat(fast-element): add DESIGN.md for package architecture#7402

Merged
janechu merged 4 commits intomainfrom
users/janechu/add-design-markdown-fast-element
Apr 7, 2026
Merged

feat(fast-element): add DESIGN.md for package architecture#7402
janechu merged 4 commits intomainfrom
users/janechu/add-design-markdown-fast-element

Conversation

@janechu
Copy link
Copy Markdown
Collaborator

@janechu janechu commented Apr 7, 2026

Pull Request

📖 Description

Adds a comprehensive DESIGN.md to packages/fast-element/ as a single-entry-point architecture guide for contributors. The document covers:

  • High-level overview of the package's responsibilities
  • Core concepts: FAST global, FASTElement & ElementController, Observables & Notifiers, Bindings, html tagged template literal, ViewTemplate & Compiler, Views & Behaviors, Updates queue, Styles, DI, Context protocol, and State helpers
  • Mermaid data-flow diagrams: module load & registration, FASTElement lifecycle, template pipeline, and observable change propagation
  • Conceptual ASCII map showing how all subsystems relate to each other
  • Full package layout reference
  • Links to the existing detailed ARCHITECTURE_*.md documents for deep dives

Also fixes four pre-existing errors in the existing architecture docs:

  • ARCHITECTURE_INTRO.md: corrected VIEWTemplate typo → ViewTemplate
  • ARCHITECTURE_OVERVIEW.md: fixed nested double-quotes inside Mermaid diagram label (would cause parse errors in some renderers)
  • ARCHITECTURE_FASTELEMENT.md: corrected Compile.compile()Compiler.compile()
  • ARCHITECTURE_HTML_TAGGED_TEMPLATE_LITERAL.md: clarified that factory creation happens inside the static ViewTemplate.create() call (at html tag evaluation time) and that Compiler.compile() is called lazily on first render

👩‍💻 Reviewer Notes

This is a documentation-only change. No source code is modified. The main area for review is the accuracy of the descriptions and diagrams in DESIGN.md against the actual source code.

📑 Test Plan

Documentation-only change. All existing tests continue to pass unchanged.

✅ Checklist

General

  • I have included a change request file using $ npm run change
  • I have added tests for my changes.
  • I have tested my changes.
  • I have updated the project documentation to reflect my changes.
  • I have read the CONTRIBUTING documentation and followed the standards for this project.

- Add DESIGN.md: comprehensive contributor-oriented architecture guide
  covering FASTElement, ElementController, Observables, Bindings,
  html template pipeline, Updates queue, DI, Context, and State helpers.
  Includes mermaid data flow diagrams and links to detailed ARCHITECTURE_*.md files.

- Fix ARCHITECTURE_INTRO.md: correct VIEWTemplate typo to ViewTemplate
- Fix ARCHITECTURE_OVERVIEW.md: fix nested double-quotes in mermaid diagram
  label (style attribute now uses single quotes to avoid parse errors)
- Fix ARCHITECTURE_FASTELEMENT.md: correct Compile.compile() to Compiler.compile()
- Fix ARCHITECTURE_HTML_TAGGED_TEMPLATE_LITERAL.md: clarify that factory
  creation happens in static ViewTemplate.create(), and Compiler.compile()
  is triggered lazily on first render via ViewTemplate.compile()

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@janechu janechu marked this pull request as ready for review April 7, 2026 21:17
@janechu janechu force-pushed the users/janechu/add-design-markdown-fast-element branch from 75f2874 to d55a435 Compare April 7, 2026 21:26
@janechu janechu requested a review from Copilot April 7, 2026 21:53
@janechu janechu merged commit 72e9f0d into main Apr 7, 2026
18 checks passed
@janechu janechu deleted the users/janechu/add-design-markdown-fast-element branch April 7, 2026 22:12
@janechu janechu review requested due to automatic review settings April 7, 2026 22:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant