A value is not the element that displays it.
In the introduction, message belongs to Data. The div and input belong to Source. Their ^message pointers connect the declarations to the same value. Typing into the input changes Data; the div updates because it depends on that path.
Changing the div’s Source value from ^message to Welcome does something different: it replaces that connection with literal content. The input still points at message. This distinction is easy to see in the inspector.
The useful question is how much you have to wire.
A browser interface can be built in many ways. In this example, Gramlot makes the dependency explicit in the declaration and handles the updates. You do not write one handler for the input and another synchronization path for a change arriving through the inspector.
The same model makes the page’s structure available for inspection: which element has this value, which attributes describe it, and which branch contains it. Judge the benefit by the code needed for your own workflow, rather than a yes-or-no feature checklist.
Take one step beyond the values.
The recorded development inspector starts with Data. Then it changes a Source value, adds a color attribute, inserts an element and moves a branch. Each action exposes a different part of the same description. Undo returns the moved div to its earlier position while retaining its binding and color.
This is an experiment on a running page. A remote Source method is another way to construct a section: it supplies a declared fragment when the page needs it.
Explore live. Keep the intent in your page.
Inspector edits affect the running Source. They do not rewrite the Python or JavaScript that authored it. Once an experiment is useful, express the intended declaration in your page and verify the result.
The recording shows development inspector tools. Check the tools available in the version you run; the public galleries can be on a different release.