typesetting the plays

The scene text lives in a flowing box that is centered within the view.

It also contains everything that goes in the right margin (which is anchored to
it by line). Indeed, everything in the right margin (the resources) will attach
at some definite point; whereas everything on the left will be independent of
the text itself.

@importcolors@importpaper//forfontin.scene-heading@importscene// DUPLICATED in "the speeches"$interSpeechMargin =1em

This is the column for the scene text. It includes all of the speeches and
stage directions, which must not spill outside of the column. At the same time,
it includes all of the marginal content (images, notes, etc), which must be
entirely outside of the column (to the right).

.spsfloatleftfont-stylenormal//beat"i"default,whichismainlyfornon-stylesheetviewingletter-spacing-.04emmargin-right.5emmargin-bottom.2em.spcolorinherit//beatlinkdefaultdisplayinline-block//preventsmassiverepaintsfromhoverbackground// Except that s.p.'s are not links now, so&:not([href])cursorinherit

See what the Riverside does, but there are many places where people speak other,
usually shorter verse forms, such as the “tree” scene in AYL; Hamlet does this
in several places, as do many others. Demarking these would make them more
readable.

Of course, they need to be identified first, which is outside of this scope.
It’s a judgement call in many cases when this applies. I started adding VERSE
in comments, but I’d need some way to collect them generally (at least roughly).
Maybe detect a sequence of short lines in the same speech.

In other words, when you put in a spacer for a “catch,” why not use that space
for the speech prefix?

This breaks down into two cases.

For single continued lines that are inline with the prefix, the width of the
s.p. and the spacer are both applied, which generally defeats the purpose of the
whole continuation/spacer scheme, except to the extent that most speeches have
some s.p.-based offset.

Second, when the speech is long enough that it wraps to its own line (leaving
the s.p. on its own line) you could in most cases move the s.p. down into that
space.

This is an old note, and my example line no longer wraps in the latest version,
unless the screen is very narrow. But I think the issue is related to the one
noted in the “dialogs” section of “self documenting” (see the footnote there).

Willshake is an experiment in literate programming—not because it’s
about literature, but because the program is written for a human audience.

Following is a visualization of
the system. Each circle represents a document that is responsible for
some part of the system. You can open the documents by touching the
circles.

Starting with the project philosophy as
a foundation, the layers are built up (or down, as it were): the programming
system, the platform, the framework, the features, and so on. Everything
that you see in the site is put there by these documents—even this message.

Again, this is an experiment. The documents contain a lot of “thinking
out loud” and a lot of old thinking. The goal is not to make it perfect,
but to maintain a reflective process that supports its own
evolution.