So yes, since we are branching this into a wider topic, I’ll speak a bit more to custom viewtemplates and can go more in depth later if requested.
Currently I have contextual viewtemplates for for stream nodes (by modifying the row-body with conditional statements) and their context menus (by modifying the context-menu templates.
Conditional context menus has been very powerful for me, just a snippet:
<$list filter="[<currentTiddler>tag[Index]]" variable="indexCheck">
<$macrocall $name="menu-item" title="Create Idea" subtitle="((create-idea))" actions=<<create-idea-actions>>/>
<$macrocall $name="menu-item" title="Remove Index" subtitle="((remove-index))" actions=<<removeIndexTag>>/>
<$macrocall $name="menu-item" title="Adopt parent" subtitle="((adopt-parent))" actions=<<adopt-parent-actions>>/>
<$macrocall $name="menu-item" title="Add Alias" subtitle="((add-alias))" actions=<<add-alias-actions>>/>
<<common-menu-items>>
</$list>
<$list filter="[<currentTiddler>tag[Place]]" variable="placeCheck">
<$macrocall $name="menu-item" title="Remove Place" subtitle="((remove-place))" actions=<<removePlaceTag>>/>
<$macrocall $name="menu-item" title="Add coordinates" subtitle="((add-coordinates))" actions=<<add-coordinates-actions>>/>
<$macrocall $name="menu-item" title="Add location" subtitle="((add-location))" actions=<<add-location-actions>>/>
<$macrocall $name="menu-item" title="Rename" subtitle="((rename))" actions=<<rename-node-actions>>/>
<<common-menu-items>>
</$list>
<$list filter="[<currentTiddler>tag[Incomplete]]" variable="IncompleteCheck">
<$macrocall $name="menu-item" title="Mark Complete" subtitle="((mark-complete))" actions="""<<mark-complete>>/>"""/>
<<common-menu-items>>
</$list>
As you can see here, in addition to the common-items, which all context menus have, depending on the tags of the corresponding tiddlers, those nodes have additional nodes in their context menus. This works so fantastically that I think an elegant repackaging would be a significant update.
As per the contextual node view, this has been discussed some elsewhere, but it is integral to my workflow:
<$list filter="[all[current]tag[concept]] [all[current]tag[element]] [all[current]tag[reaction]] [all[current]tag[setting]] [all[current]tag[description]] [all[current]tag[character]] [all[current]tag[Notes]]">
{{||$:/config.template}}
</$list>
<$list filter="[all[current]tag[TODO]]">
<span style="display: inline-flex; align-items: center;">
<$checkbox tag="done"/>
[[TODO|$:/TODO]]
<$button actions="<$action-setfield $field='datepicker-visible' $value={{{ [{!!datepicker-visible}match[yes]then[no]else[yes]] }}}/>" class="tc-btn-invisible" tooltip="Toggle Datepicker">
{{$:/core/images/down-arrow}}
</$button>
</span>
<$button tooltip={{$:/wilk/buttons/add-to-calendar!!description}} class=<<tv-config-toolbar-class>> actions=<<addToCalendarActions>> >
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/Notestreams/images/calendar|1em|G}}
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class=tc-btn-text>Add to calendar</span>
<%endif%>
</$button>
<br> {{!!text}} <br> <$reveal type="match" state="!!datepicker-visible" text="yes">
{{||$:/Notestreams/datepicker}}
</$reveal>
</$list>
In the above snippet, you can see that my notes and TODO items are capable of remaining simple and not get bogged down with too much formatting, and get processed contextually through the streams viewtemplate.
I feel as if this is only really the tip of the iceberg and much more complexity could be added to it.