Skip to content

Implement property-based reactivity engine and stabilize layout rendering #167

@piraz

Description

@piraz

Objective:

Modernize the Faz Core by replacing the current verbose reactivity model with a streamlined property-based engine and fixing the layout "blink"
issue during component initialization.

Technical Requirements:

  1. Reactivity Engine:
    • Create a standalone utility bindReactive(target, key, value) that maps JS properties to SolidJS signals.
    • Refactor FazElement, FazFormElement, and FazPaginator to use this new engine.
    • Ensure type safety using keyof and Partial during initialization.
  2. Layout Stability:
    • Initialize components with display: contents to prevent layout jumps.
    • Ensure the rendering process remains synchronous relative to the microtask queue to avoid "un-retrofitted" states being painted.
  3. Cleanup:
    • Remove legacy Accessor/Setter tuples and redundant helper methods (like addReactive).
    • Standardize child collection logic to be independent of the loading state.

Definition of Done:

  • Unit tests for the new reactivity engine passed.
  • All existing core components (Form, Paginator) updated and tests passing.
  • Proof of Concept (POC) verified: no layout blink and correct Bootstrap rendering.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions