HMVC Framework
Class name of controller is same as component, say Comp
Corresponding model and view classes should be named CompModel and CompView, respectively, and should be (inner) static (class type) members of Comp
When Comp is instantiated, it instantiates CompModel and CompView, imports each member one at a time while deleting it from its own object, and then deleting the model and view instances.
The model and view classes shouldn't directly communicate with members of the other.
The model and view classes can call any member of controller using this
The controller can call members of model and view using this
Any inter class variable access should be done using getters/setters only
External code can call methods of the sub-components only by instantiating the component class
When members of two or more objects are added to another using importMembers, if any variable name is repeated, only the last entry will be preserved. In fact, importMembers should be used only to add members of Model and View to the component object (Controller), which shouldn't have repeating variable names.
logo: general behavior for executionstate: current state in the executionturtle: for each turtleturtle-singer: for music based propertiesturtle-painter: for graphics based propertiesturtles: for all turtlesnote: note specific behaviorturtleController
turtle commandsstate, turtle, turtlesnoteController
note blocksnote, stateturtleControllerlogoController-1
activity/block/blockslogo, stateturtleController, noteControllerExport Interface
js/js-export/API/ which call the respective methods in turtleactions/
Skipped blocks:
Rhythmskip notesPitchY to PitchIntervalsinterval namedoubly