Add NodeView#readOnly; ContentField#readOnlyBinding; change ContentField#contenteditable to be a computed property depending on readOnly property. Update humon_node_x.emblem templates to pass set readOnly binding of ContentFields to the parent nodeView's readOnly
Commenting out unused code in HumonControllerMixin: nextNode, prevNode, smartFocus, remove unused #commitEVerything. Remove Sysys.HumonEditorView (not to be confused with HumonEditorComponent) from humon_editor_component.js.coffee
move readOnly from NodeView to Node(.nodeMeta)
Add documentation to Humon.valAttr, .nodeAttr, and Humon.Complex#_getChildByKey and #_setChildByKey and ._generateAccessors
Mostly clean up and documentation. One key change: changed HumonUtils.json2node check before calling _typeClassFromMeta to make sure context.metatemplate?.name exists. Make Humon.json2node clone the context.metatemplate object. Add utils.clone. Fixes: Humon.js: rename calls of j2n to json2node. Humon.Complex: emove _metatemplate (unused attribute). Add lots of documentation.
Add details to DataPoint typemap; update data_point.emblem to use it. But currently readOnly is not propagated to details' child nodes
Add HumonUtils._createMetatemplate. Update json2node to generate node.nodeMeta via @_createMetatemplate #BROKEN because HumonValue methods use context.metatemplate as opposed to context.node.nodeMeta #seenotes