avocado-old/TODO.md
2019-05-01 09:06:37 -05:00

36 lines
1.5 KiB
Markdown

# TODO
- ✔ Remove dependency on decorators
- ✔ Synchronized should be a mixin
- ✔ Behavior items should derive type/name
- ✔ Precompile behavior traversals
- ✔ Abstract physics world tick optimizations
- ✔ Cache current routine for Behaved tick
- ✔ Apply patches to matter.js
( https://github.com/liabru/matter-js/pulls?utf8=%E2%9C%93&q=is%3Apr+author%3Abchevalier )
- ✔ Inline traits into entity, remove Proxy
- ✔ Eliminate immutable.toJS()
- ✔ Track dirty entity state (entityList.tick())
- ✔ Investigate visibleEntities path
- ✔ Investigate lookupEmitListeners path
- ✔ Investigate visibleBoundingBoxes path
- ✔ EventEmitter::emit is too hot
- ✔ Entity packets
- ✔ Decouple input normalization from action registry
- ❌ entityList.fromJSON()
- ❌ Socket WebWorker can't connect in Firefox
- ❌ Don't run emitter destruction tickers on server
- ❌ Investigate unrolling equalsClose
- ❌ Try bitshifts for on_positionChanged x/y boxing
- ❌ Memoize Object.getOwnPropertyNames results per trait constructor
- ❌ EE optimizations (lookupEmitListeners)
- ❌ Core.fastApply, search for /\(.../
- ❌ Rename visibleBoundingBox(es)? to visibleAabb(s)?
- ❌ Unroll rect/vec ops in Animated::visibleBoundingBoxes
- ❌ Property.fastAccess to skip getter, this.entity.currentAnimation
- ❌ Trait::isDirty should be flat
- ❌ Expand visibleAabb padding a bit more
- ❌ Trait params fromJS is super slow
- ❌ Entity::is is slow?
- ❌ Unroll rect.intersects in QuadTree::search