5.3 KiB
Artstr Studio — TODO
Running list of deferred work. Detailed specs for the larger items live in
docs/. Each entry notes scope and where the spec is (if any).
Adam's working list
- Smart-object design imports. Add a way to import another design from Nostr or from a saved file into any current design as an editable layer / element, similar to Photoshop Smart Objects. Existing related pattern: the two-disc print layout already has per-disc "Load from file" and "Search Nostr" import flows for Disc 1 / Disc 2 images.
- Layer groups and multi-select transforms. Add layer groups, group naming, selecting multiple layers / objects at once, and moving / scaling grouped or multi-selected objects together.
- Slide deck PDF export. Add multi-slide PDF export for slide presentations, producing one page per slide.
- Pixel editor image export. Add JPEG, PNG, and GIF export from the pixel editor.
- Pixel editor selection tools. Add tools for selecting and moving multiple pixels. Include selection shapes / modes, select-all-pixels-by-color, and the ability to recolor or move the active selection.
- Pixel editor active color display. Show the active color clearly in the pixel editor toolbar or palette panel.
- Pixel editor layout expansion. Enlarge the pixel editor so it uses the empty outer gaps around the current editing area.
- Color picker fixes. Fix the color picker, which currently does not work on pixel or vector tools.
- Print / Save event ID wrapping. In the Print / Save panel, make sure the event id wraps instead of forcing the side panel into horizontal scrolling.
- Copy / paste transform consistency. Audit Copy, Paste, Copy All, and cross-target paste so copied objects keep consistent position and scale relative to the other copied objects, without unexpected misalignment or rescaling.
QR code layer — remaining phases
Phase A shipped (the qr layer type: data, error-correction level, quiet
zone, module / background colors, transparent background, renders on every
surface + canvas export, JSON round-trip).
- Phase B — convenience inserts. "Insert npub" and "Insert share link"
buttons next to the QR data field. Insert npub fills the signed-in user's
npub; Insert share link fills the design'snaddr/neventonce it's been published. ~80 LoC. - Phase C — visual polish. Optional center logo overlay and rounded modules. Riskier: a logo eats into the error-correction budget, so it should nudge the ECC level up. Skippable.
Editor / tool UX
Small editor-usability improvements — no spec doc; scoped here.
All current items shipped (commit 1a517c9): on-canvas drag-resize
handles for every layer type, text-box resize that never rescales the
point size, and the expanded Text tool panel (font / size / color /
alignment / bold / italic). Add new editor-UX improvements below as
they come up.
Cleanup
- Delete
docs/TMDB_AUTOFILL_FEATURE.md. TMDB auto-fill was declined — the metadata fields work fine filled by hand, and the IMDb-style import has been removed.
Profile pages — deferred polish
(Core profile pages at /u/<npub> already shipped.)
- Make author chips clickable in the community thread view (comments and
reposts) — currently only feed-card and preview-meta author chips route to
openProfilePage. - About-text clamp — long bios overflow the profile header; clamp to ~4 lines with a "Show more" toggle.
- Profile-grid pagination — an author with 100+ designs renders them all at once; cap the initial render and add a "Show more" pager.
Edit-published-designs — deferred polish
(Core edit-in-place via NIP-33 replaceable semantics already shipped.)
- Replace the remaining
confirm()calls in the edit / publish flow with the styled in-app modal pattern, for consistency with the close-project and publish-confirm modals. - "Editing a previously-deleted design" warning — if the user opens Edit on a design they had tombstoned with a kind-5, warn that publishing will republish it.
Drafted-but-unbuilt features
Each has a full spec in docs/.
- Private (encrypted) publishing —
docs/PRIVATE_PUBLISHING_FEATURE.md. Publish any design encrypted, readable only by the author (Phase 1 "private to me"). The agreed next build; Phase 0 is a validation spike. - Artstr Stacks —
docs/STACKS_FEATURE.md. Interactive fullscreen page/card stacks (HyperCard for Nostr) — the Slide Deck extended with layer actions and an interactive viewer. Queued after private publishing. - Pixel Art —
docs/PIXEL_ART_FEATURE.md. An editablepixelartlayer type (palette-indexed grid in JSON), a dedicated Pixel Editor view, PNG/GIF export, and a standalonecasewrap-pixelartdesign. - Badges (NIP-58) —
docs/BADGES_FEATURE.md. Award / display Nostr badges on profile pages. - Collections (NIP-51 sets) —
docs/COLLECTIONS_FEATURE.md. Let users organize favorite community templates into named sets. - Zap-gated premium templates —
docs/ZAP_GATED_TEMPLATES_FEATURE.md. Creators mark a template premium with a minimum-zap threshold. - Zaps via Nostr Wallet Connect —
docs/ZAPS_NWC_FEATURE.md. In-app zapping without the wallet handoff. (Tracked LNURL-pay tips already ship; this would be the NWC path.)