Skip to content

[0.44 internal alpha.2] Replace universal signal invalidation with exact dependency subscriptions #723

Description

@SisyphusZheng

Part of #1155. Target: internal alpha.2 workspace.

Objective

Keep SignalEngine genuinely replaceable while making Signal -> Part/Region the only reactive DOM path. Preact Signals Core remains the default; engine selection is static per build and adds no per-update dispatcher.

Deliverables

  • Freeze the minimal SignalEngine contract used by compiled OpenElement programs
  • Keep the Preact Signals Core adapter as the default implementation
  • Add a deliberately small alternate test engine and shared conformance suite
  • Compile signal dependencies directly into Part/Region subscriptions
  • Define build-time engine selection and diagnostics

Acceptance

  • Preact and the alternate test engine pass identical ordering, batching, computed, effect and cleanup tests
  • Engine selection changes no Part Program semantics
  • No per-update virtual dispatch or second reactive DOM system exists
  • Disconnect/reconnect and Region removal dispose subscriptions exactly once

Integration inputs

#1164, #1165, #1166

These inputs do not block workspace start. Use the frozen Alpha collaboration contract and owned fixtures; alpha.8 resolves the final integration.

Workspace boundary

Write only the paths assigned to this internal workspace in tools/config/v044-alpha-workspaces.json.

Authority

  • docs/adr/ADR-0143-0-44-compiled-element-model-reentry.md
  • docs/current/VERSION_PLAN.md

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions