? Show All Error writing cache file
O
Optimization idea: store a compiled test closure within Effect that does all the tests and returns a result indicating if the Effect matches current Calculator options or not. Or implement calculation in webasm. 
C, O
doing this in-thread has significant impact (100s of ms) on initial Context rendering; _.defer() fixes that 
C, O
doing in-thread has significant impact (100s of ms) on initial Context rendering; _.defer() would fix this 
O
// Try from all spots around the enemy (slow). XXX 
O
var source = this.cx.map.effects.propertyIndex('source') 
O
c.cx.map.effects.find(0, function ($, effect) { 
O
c.cx.map.effects.find(0, function ($, effect) { 
O
c.cx.map.effects.find(0, function ($, effect) { 
O
this.map.effects.find(0, function ($1, $2, $3, $4, $5, n) { 
O
an easy optimization would be possible: redefine _padding slots, if any; this will require no _layers shifting (but traversal is still needed to "zero them out", i.e. set values of former _padding slots to false or null) 
O
Would be interesting to learn which of the two (from() or toString()) is faster.