UI Framework built from ground up, powered by HTML5 Canvas.
License: MIT
Version: 0.0.0
Status: Very early phase. Many of the following info can be obsolete and is subject to
change.
- public methods: ClassName.prototype.publicMethod = function(args) {};
- protected methods: ClassName.prototype._protectedMethod = function(args) {};
- private methods: defined as function _privateMethod () {} in Closure.
-
core and main modules don't have to namespace their contributed public methods.
-
3rd-party moduels and plugins MUST namespace their contributed public methods. plugins are not first-class citizen, in terms that they can only bring in instance methods. 3rd-party module, however, has the full ability as the first-party module. e.g. create sub-namespace under OOPCanvas, and contribute the static class, properties and configurations.
-
module can be defined as a function or an object. if module is defined a function, it will not have submodules. If module has submodules, it needs to be defined as an object, and each of its submodules can be either a function or object.
Architecture
Performance
It seems that hitTest adds quite a lot performace overhead. Add grouping will
probably scale down the hitTest process.
Need to re-evaluate if isHitTestVisible should be true by default and its
performance implication even when subclass does not override hittest method.