anchor.diff:  
   
   (defun image-file->image-object (path)
  -  (let ((img(convert-image-to-rgba (read-png-file path))))
  +  (let ((img (convert-image-to-rgba (read-png-file path))))
       ;; first dim: height then width then length of pixel, here 4 because rgba
       (with-image-bounds (height width) img
  -      (make-instance 'image-object :height height :width width )))
  -)
  +      (make-instance 'image-object :height height :width width
  +		     :pixels (3d-array->vector img)))))
   
   ;;print representation reads, intuitively, top-to-bottom just like the picture rendered
   ;;a 3d-array: 1.row 2.pixel 3. color-component
  -(defparameter *123-png-opticl* (convert-image-to-rgba (read-png-file "123.png")))
  +(defvar *png-opticl* (image-file->image-object "foo.png"))
   
   ;;useful functions
  -;; (with-image-bounds (height width) *123-png-opticl*
  +;; (with-image-bounds (height width) *png-opticl*
   ;;   (list height width)) ; ==> (3 3)
  -;; (convert-image-to-rgba *123-PNG-OPTICL*)
  +;; (convert-image-to-rgba *PNG-OPTICL*)
   
   ;; since we're dealing with a simple array
   ;; (array-element-type <array>)
  
positive.code: ;;opticl experiments------------------------------------------------------------
  
  ;; TODO: chedk out 3bgl-opticl for a direct solution
  
  (defun 3d-array->vector (3d-array)
    (let* ((dims (array-dimensions 3d-array))
  	 (dims-1d (apply #'* dims))
  
negative.code: 
  
  
  (defvar *123-image-object-from-sdl-surface* (image-file->sdl-surface->image-object "123.png"))
  
  ;; the sdl-surface is a struct-object
  ;; (sdl2-ffi::sdl-surface-ptr *123-PNG-SDL-SURFACE*) ==> ptr
  