anchor.diff:      recip + c@
   ; blob defines brightness
   
  +
  +: new ( class -- o )  align here over @ allot tuck ! ;
  +
   : metaball
       GD.init
  +    GD.REG_HSIZE GD.@ 2/ 16 * to centerx
  +    GD.REG_VSIZE GD.@ 2/ 16 * to centery
  +
  +    GD.REG_HSIZE GD.@ 6 800 */ to scale
   
       \ Build the reciprocal table
       200 recip c!
  
positive.code:     1 cells var y
      1 cells var dx
      1 cells var dy
      method placement    \ random placement
      method animate      \ compute new position
      method draw         \ draw self
      method brightness   \ return brightness from center point
  
negative.code:         recip i + c!
      loop
  
  cr ." HERE "
  
      \ Create blobs at random locations
      NBLOBS 0 do
          blob new
          i cells bb + !
      loop
      NBLOBS 0 do
          i b[] born
      loop
  
      \ Background bitmap
      GD.L8 w h GD.BitmapLayout
      GD.BILINEAR GD.BORDER GD.BORDER 0 0 GD.BitmapSize
  
      begin
          GD.SaveContext
  
          \ Draw the background
  