Fetching documentation…
morph dev starts a development environment with live hot reload. The native window stays open while you edit — changes appear instantly without restarting.
File save → File watcher → Pipeline → IR JSON → loopback TCP → morph_devrt
│
JS logic → logic.<hash>.so → dlopen + rewire.mx, .css, or .ts files (100ms debounce)logic.<hash>.so with g++/clang++ (configured via build.dev_cxx in morph.config.json), and loaded via dlopen127.0.0.1:39573, ephemeral fallback on collision) to morph_devrtmorph devThis will:
morph_devrt) via CMake if it doesn't existmorph_devrtWhen you save a file:
.so is hot-reloaded — signals and effects are re-wired in placeThe window never closes. Only the content inside it changes.
morph_devrt is a pre-compiled C++ binary that:
127.0.0.1:39573, ephemeral fallback)The binary is auto-built via CMake when first needed. It rebuilds automatically when shared runtime sources change (tracked via a source hash in .morph/hash/dev.fingerprint).
The dev binary monitors these runtime directories for changes:
runtime/dev/runtime/core/runtime/render/runtime/ui/runtime/style/runtime/renderers/If any file in these directories changes, morph_devrt is rebuilt before the next dev session.
Press F12 to toggle the DevTools panel. It includes:
fetch() request logSee the DevTools section for details on each tab.
GDK_BACKEND=x11 morph devmorph_devrt is running; kill any stale processes and restart morph devmorph doctor to verify cmake, g++, and make are installed