Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions .changeset/quiet-state-charts.md

This file was deleted.

18 changes: 0 additions & 18 deletions .changeset/retained-atom-machine-families.md

This file was deleted.

13 changes: 13 additions & 0 deletions packages/devtools/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# @typeonce/effect-machine-devtools

## 0.28.0

### Patch Changes

- e4b0785: Make statecharts denser by flowing states from top to bottom, replacing full initial-entry lanes with compact top-entry markers, and sizing state cards from their visible names and invocations.

State values now appear as compact JSON-shaped type previews in the state inspector instead of occupying the topology. Transition labels sit directly on clear route segments when space permits, hierarchy-crossing routes avoid compound-state headers, and routes attach to their actual source and target before turning. Horizontally scrolling machine tabs also keep their position when selecting or live-reloading a machine.

Charts remain available when every deterministic layout has only cosmetic label-to-route crossings. Structural failures such as detached edges, node crossings, and overlapping routes still prevent rendering.

- Updated dependencies [9aab73e]
- @typeonce/effect-machine@0.28.0

## 0.27.1

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/devtools/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@typeonce/effect-machine-devtools",
"version": "0.27.1",
"version": "0.28.0",
"description": "Local development tools for Effect Machine",
"author": "Sandro Maglione",
"repository": {
Expand Down
19 changes: 19 additions & 0 deletions packages/effect-machine/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# @typeonce/effect-machine

## 0.28.0

### Minor Changes

- 9aab73e: Add `AtomMachine.family` and `AtomMachine.familyChild` for keyed machine atoms that retain their machine bridge and use weak family values when the runtime supports them.

The machine startup input is the root family key. Define each public readonly or writable atom once, then look it up directly from React without `useMemo`:

```ts
const processAtoms = AtomMachine.family(processMachine, {
atoms: {
details: AtomMachine.select("Processing"),
send: (machine) => machine.send,
},
});
```

Root and child selectors now also support data-last calls such as `AtomMachine.select("Processing")(machine)`.

## 0.27.1

## 0.27.0
Expand Down
2 changes: 1 addition & 1 deletion packages/effect-machine/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@typeonce/effect-machine",
"version": "0.27.1",
"version": "0.28.0",
"description": "Schema-first state machines and statecharts for Effect",
"author": "Sandro Maglione",
"repository": {
Expand Down
2 changes: 2 additions & 0 deletions packages/oxlint-plugin/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# @typeonce/oxlint-plugin-effect-machine

## 0.28.0

## 0.27.1

## 0.27.0
Expand Down
2 changes: 1 addition & 1 deletion packages/oxlint-plugin/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@typeonce/oxlint-plugin-effect-machine",
"version": "0.27.1",
"version": "0.28.0",
"description": "Oxlint rules for Effect Machine models",
"author": "Sandro Maglione",
"repository": {
Expand Down