anchor.diff:  ;;;
   ;;;
   (defclass panel (basic-panel)
  -  ((content :initarg :content :initform (error ":content missing"))))
  -
  -
  -(defmethod calc-bounds ((this panel))
  -  (with-slots (content) this
  -    (calc-bounds content)))
  +  ())
  +
  +
  +(defgeneric compose-panel (element))
   
   
   (defmethod compose ((this panel))
  -  (with-slots (content) this
  -    (let ((begin-result (%nk:group-begin-titled *handle*
  -                                                (%panel-id-of this)
  -                                                ""
  -                                                (nk:panel-mask :no-scrollbar))))
  -      (unless (= begin-result 0)
  -        (unwind-protect
  -             (let ((*layout* nil))
  -               (compose content))
  -          (%nk:group-end *handle*))))))
  +  (let ((begin-result (%nk:group-begin-titled *handle*
  +                                              (%panel-id-of this)
  +                                              ""
  +                                              (nk:panel-mask :no-scrollbar))))
  +    (unless (= begin-result 0)
  +      (unwind-protect
  +           (compose-panel this)
  +        (%nk:group-end *handle*)))))
  +
   ;;;
   ;;;
   ;;;
  
positive.code:           (max value element-value)))))
  
  
  (defgeneric calc-bounds (element))
  
  
  (defclass layout (named parent) ())
  
  
  (defmethod compose ((this layout))
    (let ((*layout* this))
      (dochildren (element this)
        (compose element))))
  
  
  (definline make-container-layout ()
  
negative.code: (cl:in-package :cl-bodge.ui)
  
  
  (declaim (special *window*))
  
  
  (defgeneric compose (element))
  