How aragajaga/panitent works
Panit.ent is a discontinued Windows graphics editor. Its apparent user workflow is to open or resume a workspace, arrange dockable panels and floating documents, then edit a canvas with drawing tools. The tree also shows rendering, color, palette, history, recovery, and sharing subsystems, though their full workflows are not documented in the excerpts. The strongest visible call evidence concerns layout application and floating-document session capture/restore; other relationships are omitted rather than inferred from filenames or imports.
Main entry points: windowlayoutmanager.c Layout manager · floatingdocumentsessionpersist.c Floating sessions · rectangletool.c Drawing tools · dockhost.h Dock host
Components 19
Application shell
- Windows application
src/win32/application.c - Editor application
src/panitentapp.h
Graphics editing
- Document model
src/document.h - Canvas view
src/canvas.c - Viewport
src/viewport.h - Drawing tools
src/tools/rectangletool.c - Shape engine
src/grimstroke/shapecontext.c
Docking and layouts
- Dock host
src/dock/host/dockhost.h - Dock dragging
src/dock/host/dockhostdrag.c - Layout manager
src/dock/layout/windowlayoutmanager.c - Dock model
src/dock/model/dockmodel.h - Layout catalog
src/dock/layout/windowlayoutcatalog.h - Floating windows
src/dock/floating/floatingwindowcontainer.h
Documents and persistence
- Workspace sessions
src/documentsessionworkspace.h - Floating sessions
src/dock/floating/floatingdocumentsessionpersist.c - Document recovery
src/documentrecovery.h
Supporting capabilities
- Activity sharing
src/sharing/activitysharingmanager.c - Sharing clients
src/sharing/activitysharingclient.h
Other components
- Editor user
Connections 16
- Editor user → Windows application: starts editor
- Windows application → Editor application: runs
- Layout manager → Dock host: sets layout
src/dock/layout/windowlayoutmanager.c - Layout manager → Dock host: rearranges
src/dock/layout/windowlayoutmanager.c - Layout manager → Dock model: validates model
src/dock/layout/windowlayoutmanager.c - Layout manager → Layout catalog: loads catalog
src/dock/layout/windowlayoutmanager.c - Dock dragging → Floating windows: undocks to
src/dock/host/dockhostdrag.c - Dock dragging → Dock host: hit-tests
src/dock/host/dockhostdrag.c - Floating sessions → Workspace sessions: captures sessions
src/dock/floating/floatingdocumentsessionpersist.c - Floating sessions → Workspace sessions: restores sessions
src/dock/floating/floatingdocumentsessionpersist.c - Floating sessions → Document recovery: uses recovery paths
src/dock/floating/floatingdocumentsessionpersist.c - Floating sessions → Floating windows: restores workspaces
src/dock/floating/floatingdocumentsessionpersist.c - Activity sharing → Sharing clients: dispatches status
src/sharing/activitysharingmanager.c - Drawing tools → Document model: uses document
src/tools/rectangletool.c - Drawing tools → Viewport: uses viewport
src/tools/rectangletool.c - Drawing tools → Shape engine: uses shape context
src/tools/rectangletool.c