Aller au contenu

Roadmap

Ce contenu n’est pas encore disponible dans votre langue.

last updated 2026-07-23

Where we are

Where Artist Alley is going, in versions you can actually install. Each group below maps to a GitHub release and milestone — except the parallel product track, which is deliberately not release-scheduled.

Tagged releases

Shipped

Everything in a tagged release, newest first — v0.1.0 through v0.4.0.

39 items
Jobs admin The whole async pipeline — queue, workers, live counts, failures, per-type concurrency, schedules — readable behind system.jobs.read; requeue and cancel behind system.admin. Storage admin Deduplicated usage (originals vs derivatives, by content type and backend) and a per-family variant inventory, behind system.storage.read. Storage integrity sweeps Orphan scan and checksum verification as batched, resumable job kinds. Findings are advisory — no destructive cleanup yet. Real version in About An anonymous /build-info endpoint replaces the hard-coded placeholder; the displayed licence is AGPL-3.0-only. Help visible to read-only operators Documentation, shortcuts, about, release notes and support are public admin tiles on desktop and mobile alike. Admin UI for read-cap holders The admin menu and route guard gate per tile on the capability each surface actually enforces, so a read-only role can browse what its caps permit. Media derivatives on seed and upload col / hires / screen thumbnails plus video hover-scrub sprite sheets, so the browse grid renders real thumbnails. Read-only admin access A role can hold *.read admin capabilities without the system.admin superuser cap; six previously superuser-only surfaces render read-only. Responsive + accessible UI Fluid from a 390px phone to a 3840px ultrawide with no breakpoint cliffs, a single-column feed view, and WCAG 2.2 AA target sizing on coarse pointers. Featured curation seeded The admin Featured rail and the public collections featured tab both show content on a fresh seed. Admin tiles unlocked (Tier 1–2) Audit-log viewer, per-user sessions and capability grants, resource requests, trash with soft-delete restore, system log, and an API explorer served from the Go binary. Demo mode Env-gated AA_DEMO_MODE — credential hint, fill button, and a read-only banner. Off by default, zero footprint on real installs. Public read-only demo demo.artist-alley.org runs the release image behind a write-blocking edge, seeded, and redeploys on each release. Burnt/Steel brand palette The finalised chevron mark, AA-verified burnt accent and steel secondary, and the configured site name honoured throughout. Job + saved-search fixes Per-type concurrency caps applied in the worker pool; the saved-search notify coordinator no longer spins. Media processing restored The in-process worker pool never claimed jobs on a fresh install, so no thumbnails, previews, transcripts or embeddings generated. Single-binary deploy One Go server with the SvelteKit SPA embedded via go:embed. Postgres plus a storage volume, filesystem or any S3-compatible bucket. Identity, auth + capabilities Sessions, scoped API tokens, roles and capabilities, password policy, and an SSO provider-config surface. Upload → posts → collections Drag-anywhere upload with a background queue, per-row tags and per-asset metadata, and full-text search across all of it. Admin-extensible metadata Operators define typed custom fields per asset-type and per collection, with per-field capability gates and audit history. Universal asset viewer + format coverage One shell hosting image, video, audio, PDF, font and 3D bodies over a shared anchor model — HDR/EXR, HLS video, waveforms, font specimens, glTF/GLB/OBJ/FBX. Federation — ArchivePub v1.0 The reference implementation of the walled-garden federation protocol: signed envelopes, share-list access control, delivery worker, encrypted tiers. Admin + account shells, theme + i18n A capability-gated admin menu with real config surfaces, an account shell, M3-shaped light/dark palettes, and the per-user language foundation. Public visibility tier + single predicate A public tier for collections and posts, with all three anonymous cases living in one visibility predicate that every read path splices in. Asset browse through the predicate Browse was static generated SQL and the one read path visibility could not reach; converted to hand-built SQL and gated. Anonymous reads Anonymous callers can read public-tier bytes and the list/get operations for assets and collections. This also closed a pre-existing hole where any signed-in account could read any asset or collection by id. Collection-contents gate The last endpoint a public collection page needs. Also closed a hole where any authenticated caller could enumerate the contents of any collection. Public browsing toggle Anonymous access is an operator choice rather than a property of the software, and it is off by default. A fresh install serves nothing anonymously until an operator enables it, and enforcement lives at the API — with it off, anonymous requests are refused rather than merely unlinked. First-boot, login and SSO all keep working with it off. Logged-out frontend Browsing without an account: listing and opening assets and collections, public collection pages that render their contents, and public images — all through the one visibility predicate, writes still authenticated. Public featured rail Curated content featured for a logged-out audience on the front page. Featuring is a placement, not a flag — the same item can be featured publicly and internally with its own order in each, and it never widens access. Scheduled actions A generic engine for changes that run at a future time — change sensitivity, soft-delete, change state, notify — cancellable before they fire, each executed atomically with its audit entry so it either fully happens and is logged or fully does not. Audit-log retention + export Per-category retention with legal-hold exemptions and a nightly enforcement pass; a GDPR erasure request anonymises a user across the log while keeping the events; and the whole log exports as streamed CSV or NDJSON over a date range, with IP addresses withheld from callers who can't see them live. Shareable asset pages Assets now have a real /assets/[id] page that opens, reloads and shares correctly; collection tiles previously dead-ended on a Not-found route. A build-time link-integrity check guards against dead internal links. 3D previews on published builds Turntable thumbnails for 3D models had silently stopped generating on released images — the published build shipped without the renderer. Restored for amd64, with a build-and-render smoke so it can't regress unnoticed. Visibility hardening Soft-deleted collections no longer appear to signed-in non-owners, and the IIIF image path enforces the same visibility rule as the browse grid, plus audit and admin-gating cleanups. Read-only viewers see the whole catalogue A content-plane read capability lets a read-only role — like the public demo viewer — see every sensitivity tier instead of blank "Preview unavailable" tiles. It grants asset-content reads only: no admin surfaces, no writes. Public profile pages Every user has a profile page — by username or stable ref — showing their display name, avatar, and the work a viewer is allowed to see. It reuses the existing visibility rules: anonymous visitors see only public work, and only when public mode is on; an owner can opt out of anonymous exposure. Cleared the last dead author and similar-asset links. Shared view controls everywhere The browse view switcher (grid, masonry, thumbnail, list) and sort now appear on profile and post-by-asset pages too, not just the main browse — one consistent control bar wherever assets are shown. Faster 3D previews, multi-file models fixed Open-format 3D (glTF/GLB, FBX, OBJ) now renders through a headless three.js worker instead of Blender — much faster, and arm64 deployments get 3D previews for the first time. Multi-file glTF (a model plus its external data and textures) now renders correctly where it used to fail silently. Blender stays as an automatic fallback.
  • v0.4.0 Jobs admin
  • v0.4.0 Storage admin
  • v0.4.0 Storage integrity sweeps
  • v0.4.0 Real version in About
  • v0.4.0 Help visible to read-only operators
  • v0.3.1 Admin UI for read-cap holders
  • v0.3.0 Media derivatives on seed and upload
  • v0.3.0 Read-only admin access
  • v0.3.0 Responsive + accessible UI
  • v0.3.0 Featured curation seeded
  • v0.2.0 Admin tiles unlocked (Tier 1–2)
  • v0.2.0 Demo mode
  • v0.2.0 Public read-only demo
  • v0.1.2 Burnt/Steel brand palette
  • v0.1.2 Job + saved-search fixes
  • v0.1.1 Media processing restored
  • v0.1.0 Single-binary deploy
  • v0.1.0 Identity, auth + capabilities
  • v0.1.0 Upload → posts → collections
  • v0.1.0 Admin-extensible metadata
  • v0.1.0 Universal asset viewer + format coverage
  • v0.1.0 Federation — ArchivePub v1.0
  • v0.1.0 Admin + account shells, theme + i18n
  • v0.5.0 Public visibility tier + single predicate
  • v0.5.0 Asset browse through the predicate
  • v0.5.0 Anonymous reads
  • v0.5.0 Collection-contents gate
  • v0.5.0 Public browsing toggle
  • v0.5.0 Logged-out frontend
  • v0.5.0 Public featured rail
  • v0.5.1 Scheduled actions
  • v0.5.1 Audit-log retention + export
  • v0.5.1 Shareable asset pages
  • v0.5.1 3D previews on published builds
  • v0.5.1 Visibility hardening
  • v0.5.2 Read-only viewers see the whole catalogue
  • v0.6.0 Public profile pages
  • v0.6.0 Shared view controls everywhere
  • v0.6.0 Faster 3D previews, multi-file models fixed
Current focus

In flight

v0.7.0 — operator configurability + browse polish. Content and metadata configuration, integrations (LDAP / SAML / OAuth), the storage-tooling remainder, and the browse-UX arc.

v0.7.0 in flight

Content configuration

The remaining operator controls over content behaviour and defaults.

v0.7.0 in flight

Integrations

Integration surfaces — LDAP / SAML / OAuth, OAuth apps, and webhooks.

v0.7.0 in flight

Storage remainder

Destructive orphan cleanup, variant drill-down, live concurrency reload, plus duplicates, reimport and backend configuration.

Parallel track — not scheduled to a release

Review tool — the load-bearing UX arc

The post modal becoming an animator's review tool. This arc is a parallel product track: it is deliberately not tied to a release milestone, and interleaves with the admin spine rather than blocking it.

5 shipped 2 in flight 12 planned
  1. shipped

    Video pipeline

    • HLS adaptive ladder
    • Frame-accurate scrubbing
  2. in flight

    Player polish + quality-of-life

    • Animator transport (JKL, frame-step, I/O loop)
    • Playback rate + safe areas
  3. shipped

    Subtitles + multi-format captions

    • Caption artifacts alongside the asset
    • Multi-format ingest
  4. planned

    Image sequences + RAM cache

    • Sequence playback as a first-class kind
    • Always-on-top review window
  5. planned

    Presentation rooms

    • Live presence + cursor over SSE
    • Synced scrub for review sessions
  6. planned

    Annotation system

    • Frame- and anchor-aware strokes
    • Threaded on the asset timeline
  7. planned

    Timeline assembly

    • Assemble takes into a review cut
  8. planned

    A/B comparison

    • Version-to-version wipe + diff
  9. planned

    DCC integrations

    • Push and pull from the tools artists already use
  10. shipped

    3D viewer (native)

    • glTF / GLB / OBJ / FBX / .mview
    • Camera + turntable
  11. in flight

    3D heavy converters

    • Worker-side conversion for heavy formats
    • Blender-rendered turntables
  12. shipped

    Audio / SVG / PDF / fonts

    • Waveform scrub, multi-page PDF, specimen render
  13. planned

    Project / workspace

    • Group review work by production context
  14. planned

    Federation + share-with-anyone

    • Review across paired instances
    • External reviewer links
  15. shipped

    Sprite-sheet viewer

    • Frame grid + playback
    • Per-frame inspection
  16. planned

    Texture inspector

    • Channel split, mip inspection
  17. planned

    Colour + palette inspector

    • Palette extraction, colour picking
  18. planned

    Bitmap / format inspector

    • Header + encoding detail per format
  19. planned

    Review queue (auto-rotated)

    • Track unreviewed work since last session
    • Resume mid-review
Queue

What's next

Planned arcs — sequenced behind the current focus.

Up next

v0.8.0 planned

Native DCC format viewers

Viewers for proprietary tool formats without a round trip.

v0.8.0 planned

PBR 3D viewer polish

Material-accurate lighting and environment control in the 3D viewer.

v0.9.0 planned

Operator-configurable ad slots

Operator-controlled placements, off by default.

v0.9.0 planned

Announcements widget

Operator announcements on the home surface.

v0.9.0 planned

Brand workspace

Access-controlled brand kits shared across teams and paired instances.

v0.9.0 planned

RSS / Atom feeds

Syndication for collections and public output.

v0.9.0 planned

Community + moderation

The moderation queue and community-moderation tools.

On the map

v0.10.0 planned

Asset gating + NDA workflow

Per-asset sensitivity tiers with server-side blur and a reveal audit trail.

v0.10.0 planned

Bulk operations

Multi-select edit, move, tag and export across large result sets.

v0.10.0 planned

Share links

Signed, expiring share URLs for external collaborators.

v0.11.0 planned

Personal-data anonymisation

The operator-facing switch for anonymising personal data on account removal.

v0.11.0 planned

Privacy + consent management

Consent banner and DSAR export/delete tooling.

v0.11.0 planned

Reports + analytics

Operator reporting surfaces and analytics.

v0.12.0 planned

Capability add-ons

Registry and installer for out-of-band capabilities such as OCR.

v0.12.0 planned

Chat integrations

Slack and Discord notification routing.

v0.12.0 planned

External imports

The framework for importing content from external systems.

v0.12.0 planned

MCP server + client

Exposing the catalogue to AI tooling, and consuming it.

v0.12.0 planned

Plugin ecosystem

Third-party extension surface for operator-installed capability.

v0.13.0 planned

Cloud-bridge add-ons

Hosted AI, translation and transcription for operators who don't want to run them.

v0.13.0 planned

Commerce

Stripe and Shopify surfaces for operators selling their own output.

v0.13.0 planned

Premium DCC integrations

Paid integrations with the heavier tool chain.

v0.14.0 planned

AI creative editing

Generation and variation as an opt-in, operator-installed capability.

v0.14.0 planned

Caption + subtitle artifacts

Captions as first-class derived artifacts.

v0.16.0 planned

Physical archive mode

Accession numbers, location trees, loans and provenance for institutions.

v0.17.0 planned

Ephemeral demo sandboxes

Per-visitor throwaway instances beyond the single shared demo.

v0.17.0 planned

Native distribution

.deb and .rpm packages with a hardened systemd unit, static binaries for Linux/macOS/Windows, and a Homebrew tap. Docker-only until then.

v1.0.0 planned

Full localisation

Complete locale coverage beyond the English baseline and the Spanish/French scaffolding.

Scope

Things we deliberately aren't building

Scope boundaries, made explicit so we hold the line.

  • A general-purpose DAM. We're shaped for studios that actively produce work; the archive is a byproduct of the production workflow, not the starting point.
  • A pipeline integration platform. We're a destination for finished and in-progress work, not a Perforce or ShotGrid replacement. We import from those tools; we don't replace them.
  • A hosted-only SaaS product. Self-hostable by design. A managed offering may follow for teams without IT capacity, but self-hosting is never the second-class path.
  • NFTs, crypto-payment rails, or blockchain anything. Different audience, different value system. Not for us.
  • Pulling features into paywalls retroactively. The open-source core stays feature-complete. Premium add-ons are additive, never a clawback.

For the full development log — every phase, arc, and pull request — see docs/roadmap.md in the repository.