@playfast/reform 0.0.11 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +11 -11
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -13,7 +13,7 @@ State, events, reducers, derived values, async & remote data, and compositions
13
13
 
14
14
  ---
15
15
 
16
- reform is an application framework built on [Effect](https://effect.website). You describe your app as **definitions** — state, events, reducers, calculations, compositions — and provide their behavior **separately** as Effect layers. The core renders nothing: a host package ([`@playfast/react`](https://www.npmjs.com/package/@playfast/react), [`@playfast/react-native`](https://www.npmjs.com/package/@playfast/react-native)) turns a closed *scene* into a live tree, and [`@playfast/proof`](https://www.npmjs.com/package/@playfast/proof) drives that same scene headlessly in tests. One model, three consumers, no seam between them.
16
+ reform is an application framework built on [Effect](https://effect.website). You describe your app as **definitions** — state, events, reducers, calculations, compositions — and provide their behavior **separately** as Effect layers. The core renders nothing: a host package ([`@playfast/reform-react`](https://www.npmjs.com/package/@playfast/reform-react), [`@playfast/reform-react-native`](https://www.npmjs.com/package/@playfast/reform-react-native)) turns a closed *scene* into a live tree, and [`@playfast/reform-proof`](https://www.npmjs.com/package/@playfast/reform-proof) drives that same scene headlessly in tests. One model, three consumers, no seam between them.
17
17
 
18
18
  ## Install
19
19
 
@@ -474,7 +474,7 @@ const AppScene = scene(AppRoot, {
474
474
  })
475
475
  ```
476
476
 
477
- `provide` is the list of layers that close the app (they must resolve to `MountedServices` — every composition's render service plus the `Bus`). Hand the scene to [`@playfast/react`](https://www.npmjs.com/package/@playfast/react) to mount or to [`@playfast/proof`](https://www.npmjs.com/package/@playfast/proof) to assert. `seedScene` overlays seed values onto already-closed layers (used by the dev tool to preview alternative initial state).
477
+ `provide` is the list of layers that close the app (they must resolve to `MountedServices` — every composition's render service plus the `Bus`). Hand the scene to [`@playfast/reform-react`](https://www.npmjs.com/package/@playfast/reform-react) to mount or to [`@playfast/reform-proof`](https://www.npmjs.com/package/@playfast/reform-proof) to assert. `seedScene` overlays seed values onto already-closed layers (used by the dev tool to preview alternative initial state).
478
478
 
479
479
  ---
480
480
 
@@ -495,7 +495,7 @@ const AppLayer = Layer.mergeAll(
495
495
  )
496
496
  ```
497
497
 
498
- Also exported for hosts and headless tests: `Bus` / `publish(priority, event)` / `Priority` (`'High' | 'Normal'`); the `Reducers` / `Channels` / `Procedures` registries and their `ReducerEntry` / `ProcedureEntry` shapes; `CaptureSink` (the capturing UI sink proofs assert against); the tagged errors (`DuplicateRegistration`, `FeatureLoadFailed`, `InvalidProvideTarget`, `SlotRenderingUnavailable`, `UnknownGroupState`, `AsyncReducer`); and the **notification scheduler** — `Notifications` / `notificationsLayer` / `makeScheduler` / `defaultScheduler`, which hosts provide upstream for per-runtime isolation (concurrent SSR, multiple mounted roots). Everything else coalesces on the process-wide default scheduler.
498
+ Also exported for hosts and headless tests: `Bus` / `publish(priority, event)` / `Priority` (`'High' | 'Normal'`); the `Reducers` / `Channels` / `Procedures` registries and their `ReducerEntry` / `ProcedureEntry` shapes; `CaptureSink` (the capturing UI sink proofs assert against); the tagged errors (`AsyncReducer`, `AsyncSceneLayer`, `DuplicateRegistration`, `FeatureLoadFailed`, `InvalidProvideTarget`, `UnknownGroupState`); and the **notification scheduler** — `Notifications` / `notificationsLayer` / `makeScheduler` / `defaultScheduler`, which hosts provide upstream for per-runtime isolation (concurrent SSR, multiple mounted roots). Everything else coalesces on the process-wide default scheduler.
499
499
 
500
500
  ---
501
501
 
@@ -533,7 +533,7 @@ const logic = Layer.mergeAll(
533
533
  }),
534
534
  )
535
535
 
536
- // a DOM presentation (rendered by @playfast/react)
536
+ // a DOM presentation (rendered by @playfast/reform-react)
537
537
  const view = provide(CounterUi, Ui.make(CounterUi, ({ count }, _s, { bump }) =>
538
538
  <button onClick={() => bump({ by: 1 })}>count: {count}</button>
539
539
  ))
@@ -541,7 +541,7 @@ const view = provide(CounterUi, Ui.make(CounterUi, ({ count }, _s, { bump }) =>
541
541
  export const CounterScene = scene(Counter, { provide: [Engine, logic, view] })
542
542
  ```
543
543
 
544
- Mount it with [`@playfast/react`](https://www.npmjs.com/package/@playfast/react), or prove it headlessly with [`@playfast/proof`](https://www.npmjs.com/package/@playfast/proof) — the same `CounterScene` value.
544
+ Mount it with [`@playfast/reform-react`](https://www.npmjs.com/package/@playfast/reform-react), or prove it headlessly with [`@playfast/reform-proof`](https://www.npmjs.com/package/@playfast/reform-proof) — the same `CounterScene` value.
545
545
 
546
546
  ---
547
547
 
@@ -550,12 +550,12 @@ Mount it with [`@playfast/react`](https://www.npmjs.com/package/@playfast/react)
550
550
  | Package | Role |
551
551
  | --- | --- |
552
552
  | **`@playfast/reform`** | Renderer-neutral core (this package) |
553
- | [`@playfast/react`](https://www.npmjs.com/package/@playfast/react) | React / DOM host |
554
- | [`@playfast/react-native`](https://www.npmjs.com/package/@playfast/react-native) | React Native host |
555
- | [`@playfast/forms`](https://www.npmjs.com/package/@playfast/forms) | Headless form state |
556
- | [`@playfast/forms-react`](https://www.npmjs.com/package/@playfast/forms-react) | Typed JSX mapping for forms |
557
- | [`@playfast/proof`](https://www.npmjs.com/package/@playfast/proof) | Headless testing toolkit |
558
- | [`@playfast/eslint-plugin`](https://www.npmjs.com/package/@playfast/eslint-plugin) | Lint rules for reform conventions |
553
+ | [`@playfast/reform-react`](https://www.npmjs.com/package/@playfast/reform-react) | React / DOM host |
554
+ | [`@playfast/reform-react-native`](https://www.npmjs.com/package/@playfast/reform-react-native) | React Native host |
555
+ | [`@playfast/reform-forms`](https://www.npmjs.com/package/@playfast/reform-forms) | Headless form state |
556
+ | [`@playfast/reform-forms-react`](https://www.npmjs.com/package/@playfast/reform-forms-react) | Typed JSX mapping for forms |
557
+ | [`@playfast/reform-proof`](https://www.npmjs.com/package/@playfast/reform-proof) | Headless testing toolkit |
558
+ | [`@playfast/reform-eslint-plugin`](https://www.npmjs.com/package/@playfast/reform-eslint-plugin) | Lint rules for reform conventions |
559
559
 
560
560
  ## License
561
561
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@playfast/reform",
3
3
  "playbook": "./playbook",
4
- "version": "0.0.11",
4
+ "version": "0.1.0",
5
5
  "type": "module",
6
6
  "description": "The renderer-neutral core of the reform framework — typed, headless state, events, reducers, derived values, async/remote data, and compositions built on Effect.",
7
7
  "keywords": [