highlevel engine gui screenies so far


GET INTO THE JAM

no video yet ;_; but I wrote some buttons instead of the command shell of my lisp logos base. I'm going to add mouse gestures that generate sequences of button commands before the video. Instead, I'm going to share a little of the workflow.

ASDF

I use asdf in a modestly advanced (easy, good) way. I start lisp (well, slime, but sbcl in a term is fine). Note that terms suck

sbcl

then in sbcl I initially load my pre-existing engine

(asdf:load-system :scrlogos)

That also loads McCLIM interface manager for me, I go into it's premade user package

(in-package :clim-user)

I want to use my engine

(use-package :scrlogos/engine)      ; maintain hope, there are more screenshots soon

Now. I don't want to touch my basic engine, but I want a new interface. I added a new file in the package like this:

(uiop:define-package :scrlogos/hleve
     (:mix :clim-lisp :clim :cl)
   (:mix-reexport :scrlogos/display
    :scrlogos/commands))
(in-package :scrlogos/hleve)

Listen, you had to see it a first time eventually. This file isn't part of or loaded by :scrlogos as such. Instead I load it manually like this, and it clobbers bits and pieces of the scrlogos base.

(asdf:load-system :scrlogos/hleve :force t)
(use-package :scrlogos/hleve) ; also

tl;dr - a new layout, with buttons instead of a command shell.


Obviously this is a personal-scope mess with silly but easily-recognisable-for-me names. The version you will be using to help me will have boring sounding informative cleaned-up labels instead.

What do I actually do

  1. I write or change 5-10 line of lisp ideas in or into the new hleve.lisp that clobber or add something
  2. I reissue (asdf:load-system :scrlogos/hleve :force t) by pressing C-r loa <return> <return>
  3. The continuously running app ('clim application-frame')) sits in the variable, *logos*
    1. If something inside it changed, I issue (reinitialize-instance *logos*) which updates it hot.
  4. Normally I deactivate the gui part of the app while coding changes
    1. (run-frame-top-level *logos*) reactivates the gui, popping up the window.
  5. Play with it a little bit to decide what to do next. Loop back to 1.

the bits of code itself, at least everything I wrote today were all minor variations on this:



New source upload will be tomorrow with a video so everyone can help me make vector graphic assets, which will basically be the rest of the jam together with story writing.

Get logos-lisp-legend

Comments

Log in with itch.io to leave a comment.

Why, you ask, do I have 

1) a button, whose function is to call a special scope function

2) This special scope function calls a clim command

3) This clim command actually does something

-

It's because recording, modifying and replaying commands is very easy with clim, whereas recording common lisp function calls seems like a hassle.