Index
ascent is effect-native reactive UI for Scala 3. It renders straight to the DOM: no virtual DOM, no diffing. The UI is a pure tree built once; the engine surgically patches the exact node, attribute, or child-list behind each reactive boundary. The substrate is ZIO.
Docs pages are Specular DocSpecs: the same source asserts under zio-test and SSR-renders here.
Install (core + browser)
libraryDependencies ++= Seq(
"rocks.earlyeffect" %%% "ascent-core" % "0.2.0",
"rocks.earlyeffect" %%% "ascent-js" % "0.2.0", // Scala.js mount engine
"rocks.earlyeffect" %%% "ascent-css" % "0.2.0", // optional typed CSS
)Optional modules
libraryDependencies ++= Seq(
"rocks.earlyeffect" %%% "ascent-conduit" % "0.2.0", // Ctx[M] state bridge
"rocks.earlyeffect" %% "ascent-html" % "0.2.0", // SSR
"rocks.earlyeffect" %% "ascent-datastar-http" % "0.2.0", // server datastar
"rocks.earlyeffect" %%% "ascent-datastar-js" % "0.2.0", // browser datastar
)Documentation
Continue with: