title: $:/plugins/tiddlywiki/dynaview/readme ! Dynaview This plugin makes it possible to build user interfaces that dynamically respond to changes in the browser viewport via scrolling or zooming: * CSS classes that allow rendering to be deferred until the output is scrolled into view * CSS classes that allow the opacity of DOM elements to vary according to the current zoom level * A daemon that can dynamically update a pair of state tiddlers with the current dimensions of the browser viewport * A daemon that can dynamically adjust the size of text to yield a particular number of characters per line Some points to note about the zoom features: <<< * The zoom level currently only works on Safari, both on Mac OS and on the iPhone/iPad * The zoom level tracked by the plugin is the pinch-zoom level, and not the text-zoom level * Rather than being progressively rendered as needed, hidden item are rendered with zero opacity. Which means that they can still be interacted with This is really just a proof of concept to allow the user experience to be evaluated. A production version would need to work in all browsers, which would mean adopting a polyfill such as [[Hammer.js|http://hammerjs.github.io/]] to give us manual pan and zoom support. It would also allow deeper levels of zoom. <<<