42 lines
1.8 KiB
Markdown
42 lines
1.8 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
|
|
- ✔ 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
|
|
- ✔ 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)?
|
|
- ❌ Property.fastAccess to skip getter, this.entity.currentAnimation
|
|
- ✔ Trait params fromJS is super slow
|
|
- ✔ Entity::is is slow?
|
|
- ❌ Manual state sync
|
|
- ✔ Synchronized provides packet updates
|
|
- ✔ Phase out EntityPacketSynchronizer
|
|
- ❌ Implement ALL trait state update packets
|
|
- ❌ Implement Entity remember packets
|
|
- ✔ Implement Entity remove packets
|
|
- ✔ Save state/param extensions separately on create instead of only merging
|
|
- ❌ Pointer events polyfill: https://github.com/jquery/PEP
|
|
- ❌ Target trait updates beyond just visible; e.g. others don't need to know
|
|
about inventory change
|
|
- ❌ afterDestructionTickers shouldn't exist... destruction should be deferred
|
|
- ❌ Remove position pack check from trait and add to Vector
|