anchor.diff:        (process-client-message res client message)
         (process-client-validation res client message)))
   
  -(defun save-user-action (scene-id user-action)
  -  (logit "Saving user action ~A under scene-id ~A" user-action scene-id)
  -  (add-action scene-id
  -              :character (user-action-user user-action)
  -              :action (user-action-action user-action)
  -              :dialogue (user-action-dialogue user-action)
  -              :timestamp (user-action-timestamp user-action)))
  -
   (defgeneric actor-client (actor)
     (:method ((actor-id string))
       (maphash-values (lambda (client)
  
positive.code:                 (jsown:to-json msg)))
  
  (defun send-action (recipient actor action-txt)
    (send-msg recipient `("action" (:obj
                                    ("actor" . ,(character-name (find-character-by-id actor)))
                                    ("action" . ,action-txt)))))
  
  (defun send-dialogue (recipient actor dialogue &optional parenthetical)
    (send-msg recipient `("dialogue" (:obj
                                      ("actor" . ,(character-name (find-character-by-id actor)))
                                      ("parenthetical" . ,parenthetical)
                                      ("dialogue" . ,dialogue)))))
  
  (defun local-actors (actor-id)
    (declare (ignore actor-id))
  
negative.code: (defun start-recording (res client)
    (declare (ignore res))
    (logit "Request to start recording received.")
    (if (session-value 'scene-id (client-session client))
        (logit "Scene already being recorded. Ignoring request.")
        (let ((*acceptor* *server*))
          (setf (session-value 'scene-id (client-session client))
  