Craft windows forget their geometry every launch. There is no setFrameAutosaveName: anywhere in the tree — the only setAutosaveName: calls are for the tray status item (tray.zig:316) and split-view dividers. An app that wants the standard remember-my-window behavior must wire onResize/onMove → its own storage → setSize/setPosition on next start, badly reimplementing what AppKit does in one call.
Ask: --frame-autosave <name> (and craft.json key), implemented as setFrameAutosaveName: on the created window. When --width/--height/--x/--y are also given, they should act as the first-launch default rather than overriding the saved frame — which is exactly the semantics setFrameUsingName: + explicit initial frame already give.
🤖 Generated with Claude Code