Skip to content

Writing and Editing

zhiar edited this page May 29, 2026 · 1 revision

Writing & Editing

Apricity gives you two ways to get content into the palace — Write a brand-new memory, or Edit an existing one — plus a Drafts inbox for work-in-progress. Both use the same inline visual editor.

Write a new memory

  1. Click Write in the top bar.
  2. Fill in:
    • Wing — the project/area (with Tab autocomplete against existing wings).
    • Room — the aspect within that wing (also autocompletes).
    • Title — a short heading.
    • Content — the body, written in the visual editor (below).
  3. File it into the palace, or save it as a draft to finish later.

Wing/room autocomplete: start typing and press Tab to complete against an existing wing or room name. This keeps your taxonomy consistent instead of accidentally creating Notes and notes.

The inline visual editor

Apricity uses a WYSIWYG editor — you see formatting as you type, and it's converted to clean Markdown on save (no raw-Markdown round-trip). The editor appears inline in the Detail pane (for edits) or in the Write form (for new memories).

Formatting toolbar

A row of circular buttons, grouped by function:

  • B — bold, I — italic
  • H — heading
  • List — bulleted list
  • Link — insert a hyperlink (an inline popover appears near your selection; ⌘K inside the editor triggers it rather than hijacking to search)
  • Callout — insert a coloured callout block (see below)

Markdown autoformat

Type Markdown shortcuts and they transform live:

  • ## + space → a level-2 heading
  • - / * + space → a bulleted list
  • 1. + space → a numbered list

Callouts

Insert a callout from the toolbar to get a coloured, labelled block. Apricity supports the GitHub-style admonition types, each with its own colour:

Type Use for
Note neutral info (accent blue)
Tip positive / success (green)
Important attention (purple)
Warning caution (amber)
Caution danger (red)

Each inserted callout has an × to remove it, and the label is locked so it stays a valid admonition.

Editing an existing memory

  1. Open the memory in the Detail pane.
  2. Click the pencil, or press E.
  3. The content switches to the editor; the metadata chips (wing / room / title) become editable too. You can move a memory between rooms by editing its wing/room.
  4. Save to commit, or cancel to discard.

Your scroll position is preserved across edit → save, so you don't lose your place in a long memory.

Optimistic saves (and what happens on failure)

Saves are optimistic: your edit applies in the UI instantly, before the server confirms. If the server then rejects it:

  • The change reverts automatically.
  • You get a notification explaining the failure.
  • A retry affordance appears, and the affected card shows a red tint (.is-failed) until you retry successfully or dismiss it.

ETag concurrency protection

When you open the editor, Apricity records the memory's content hash. On save, it sends that hash back; if the memory changed underneath you (e.g. another client or an agent edited it), the server refuses the overwrite so you don't silently clobber someone else's work.

Drafts — your inbox of unfinished memories

Not ready to file something? Save it as a draft:

  • Open Drafts from the top bar; a badge shows how many you have.
  • Drafts can be edited in place and filed into the palace when ready, or deleted.
  • Drafts live in a staging inbox separate from the palace, so half-written notes never pollute your real memories.

Where writes actually go

Every write — new memory, edit, draft commit — is dispatched through the official mempalace package (Apricity never writes the SQLite files directly). This keeps Apricity in lock-step with MemPalace's canonical schema and validation. See Security & Safety.

Next: Deleting & Recovering.

Clone this wiki locally