@endge/raph
v4.0.0
Published
Reactive signals, paths and application runtime
Readme
@endge/raph
Raph 4 объединяет signal, path и runtime слои из Raph Next в одном публичном
пакете. Исторические эксперименты и их benchmark-наборы сохранены в test/.
Entry points
| Import | Назначение |
|---|---|
| @endge/raph | полный facade, Runtime, ownership, phases и FrameLoop |
| @endge/raph/raw | raw signal-ядро без facade-обёртки; именно оно измеряется в Bench Lab |
| @endge/raph/signals | прямые сигналы, эффекты, watch и scopes |
| @endge/raph/path | PathStore, Kernel, adapters, Meta и materialized derived |
| @endge/raph/raph | полный Raph facade, Runtime, ownership, phases и FrameLoop |
Корневой import и /raph предоставляют полный прикладной API. /raw оставляет
прямой доступ к signal-ядру для бенчмарков и низкоуровневых потребителей.
Raph 4 меняет контракт Raph v3: при переносе потребителя нужно проверить path,
phases, lifecycle и timing semantics.
Raph.reset() завершает только default Runtime facade, но не явно
созданные Runtime и не прямые сигналы из /raw или /signals.
Общие path, Meta и derived-данные нескольких Runtime принадлежат переданному
им RaphKernel; data adapter настраивается на Kernel, а не на Runtime.
Проверки и сборка
pnpm --ignore-workspace install --frozen-lockfile
pnpm --ignore-workspace run build
pnpm --ignore-workspace run typecheck:test
pnpm --ignore-workspace run test
pnpm --ignore-workspace run test:memory
pnpm --ignore-workspace run test:distribution
pnpm --ignore-workspace run bench:lab:install
pnpm --ignore-workspace run bench:lab:light:balanced
pnpm --ignore-workspace run bench:lab:balanced
pnpm --ignore-workspace run bench:pathsrc/test/benchmarks/bench-lab содержит полные correctness/performance-наборы,
всех исходных кандидатов и Endge-сценарии. Light и Full пишут отдельные простые
HTML-таблицы в results-light/index.html и results/index.html, подсвечивая
всю группу в пределах +5% от лучшего результата. Balanced проводит три
циклические ротации и использует медианы. Дополнительный исходный benchmark
2026 года сохранён в test/js-reactivity-benchmark-2026; для него доступны
bench:install, test:benchmark-2026 и bench.
Внутренние отчёты и замеры экспериментов хранятся отдельно от package, в
приватном workspace монорепозитория. test/experiment-1-archive хранит исходные
E1-тесты как исторический материал: внутренние графовые тесты не запускаются
против нового E2-ядра, поэтому текущий test запускает активные E2-тесты.
Прежний runtime benchmark E2-vs-E1 сохранён в
test/experiment-2-comparison-archive; его заменяет диагностический
bench:lab:api-tax. Path benchmark сравнивает только действующие слои
текущего пакета и не требует сборки старого E1.
