Skip to content

Capra 0.2.2

Choose a tag to compare

@github-actions github-actions released this 23 Aug 10:52
· 2 commits to main since this release

Windows and Linux. Quick start · Models

Windows Capra-0.2.2-setup.exe
Linux Capra-0.2.2.AppImagechmod +x and run it

Six faults, found by using the application. Four of them were not what they looked like.

The screenplay was in Turkish and the page showed an English one

language on a screenplay meant "a translation into X", so one the model wrote in Turkish because the user asked for Turkish was filed as the untranslated original. Asking to read Turkish then went looking for a translation, found one made earlier from an English draft, and showed that — a document from before the cast was named, with MAN 4 in the action and half its headings still in English, while the current Turkish screenplay sat one button away under "Original".

A document now records what language its words are in, which is a separate fact from being a translation of another, and a new original retires the translations of the one it replaces: a translation of a draft that no longer exists cannot be traced back to anything.

Three more language faults behind that one. The scene-details prompt was the only writing prompt carrying no language instruction, so the panel describing the room came back in English beside a Turkish page. Its cached answer was keyed without the language, so switching returned the old one. And a scene heading is assembled in three parts of which the table owned two: İÇ. and GECE were translated and FORMAL MEETING ROOM between them was not. A room's name is whatever the film happened to contain, so it is translated once for the project — and changing the language after an analysis now rewrites the headings instead of requiring the whole film to be analysed again.

The script did not follow the film until you left the page and came back

The <video> element only exists once there is a proxy to play, and the effect reporting the playhead depended on a store action that never changes. It ran once, on mount, with the ref still null, and never again — nothing was ever listening to the video. Exactly the first run: the page is open while the analysis works, the proxy appears a minute in, the element mounts, and no listener goes on it. The test written for the two known cases found a third.

The same film could not be analysed twice

The project folder was named after the video and nothing else, so a second analysis was refused outright. It is numbered now — My Film (1).capra — and the earlier project is untouched. There is also a door for a project somebody hands you, which until now existed only if this copy of Capra had opened it before.

Everybody was named and the page still said MAN 4

Three characters rendered to one name. The numbering reserves inputs — a number within a noun group — and the name is built from those by another function, from a descriptor that can change after the number was issued. The output is checked now: whatever the numbering did, no two characters may be called the same thing. It matters more than it looks, because renaming replaces the old name wherever it appears — naming one of the three rewrote the other two's action lines and left them both still called what the first one used to be.

Two smaller ones

Speech has its own ink, a blue-black rather than a colour — the shift a second pen makes on a page, not a highlighter. Exports stay monochrome; that one is a screenplay, this is a reading surface.

Each scene's room and arrangement is in the document, under its own heading, instead of a list at the front nobody pages back to. Written as a note, so it reaches Fountain, PDF, DOCX, plain text and the page on screen through a type they all already lay out — and so it stays visibly not the screenplay. It is what Capra observed, written down for whoever reads it next.

Also

Provider keys written before Capra had a keystore are moved into it on the next start. They were readable in AppData by anything running as that user, and the marker that keeps an old key working also meant it stayed in the clear until the day it was next typed — which nobody does to a key that works.

Notes

  • No macOS build. An unsigned, unnotarised .dmg is refused on arrival by recent macOS. npm run dist on a Mac produces a working local build.
  • Neither binary is code-signed, so Windows SmartScreen will warn on first run: More info → Run anyway.