         if result.found
           result.transform = inverseTfm tfm
           break
+          
     #reverse-transform position
     [x,y,t] = result.pos
     #console.log "#### Original pos: #{JSON.stringify result.pos}"
     [x,y] = Cells.transformVector [x,y], result.transform, false #no normalize!
     #console.log "#### after inverse rotate: #{JSON.stringify [x,y,t]}"
     result.pos = [x,y,t]
+    result.delta = [dx,dy,period]
     return result
 
   _classifyNormalizedPattern: (pattern, time, dx, dy, period) ->


#2-block
pattern2 = Cells.from_rle "$2o2$2o"
pattern1 = Cells.from_rle "o"

v2 = (determinePeriod rule, pattern2, 0).delta
v1 = (determinePeriod rule, pattern1, 0).delta

    
  console.log "#### colliding:"
  console.log "#### 1)  #{normalizedRle p1} at [0, 0, 0]"
  console.log "#### 2)  #{normalizedRle p2} at #{JSON.stringify offset}"
  console.log "####     collision at T=#{coll.time}  (give up at #{timeGiveUp})"
  collision.timeStart = coll.time
  collision.collision = true
  
  
  collision.products = finishCollision rule, coll.field, coll.time
  for product, i in collision.products
    console.log "####   #{i+1}) #{JSON.stringify product}"

  return collision

#Simulate 2 patterns until they collide.
