Functionality index
Everything the software does
Functionality is the primary unit. Each item is something the software does, with its real status and how it was verified.
Accounts & authentication
Registration, login, email verification, password reset, and account profile management.
-
Account registration
ImplementedInvite-code registration creates a user, runs Turnstile, and sends an email verification link via SMTP/PHPMailer.
-
Login and logout
ImplementedEmail/username plus password login with email-verification gate; logout clears the session.
-
Email verification
ImplementedTokenized email verification gates login until the user confirms their address.
-
Password reset
ImplementedForgot-password flow emails a reset token and allows setting a new password.
-
Account profile management
ImplementedLogged-in users can update username/email and change password from arcana.account.php.
Plans & credits
Plan tiers, feature flags, and image/story credit balances that gate generation.
-
User plans and feature access
Partially implementedPlan tiers APPRENTICE/STARTER/CREATOR gate portraits, aspect ratios, styles, and other capabilities.
-
Credit balances
ImplementedImage and story credits live on the users row; generation checks before enqueue and deducts after successful render.
Image generation
The user-facing generator form: song inputs, styles, portraits, aspect ratios, and queue submission.
-
Image-generation form
ImplementedAuthenticated generator UI collects band, song, lyrics, style, aspect, portraits, and queues a pending job.
-
Static visual styles
ImplementedAdmin-managed arcana_styles rows supply prompt_text appended when the user selects a style_key.
-
Portrait reference uploads
ImplementedPaid plans can upload one or two portrait images that are stored under uploads/dble/refs and sent as Gemini inlineData.
-
Aspect-ratio selection
ImplementedUsers pick an aspect ratio stored on the queue/render and passed to Gemini imageConfig; expanded ratios are UI-gated by plan.
Queue & workers
Background Gemini analysis, prompt construction, image generation, retries, and credit deduction.
-
Song and lyric analysis
ImplementedQueue workers call Gemini text model to produce structured Song DNA JSON from band, song, and lyrics.
-
Cinematic prompt creation
ImplementedWorkers assemble a cinematic image prompt from Song DNA, aspect ratio, portraits, styles, and branding rules.
-
Gemini image generation
ImplementedWorkers call Gemini image model with the cinematic prompt and optional portrait inlineData, then save WebP outputs.
-
Dynamic band-style analysis
Partially implementedWhen image_style equals ANALYZE_BAND_STYLE, the worker asks Gemini for a StyleMap and appends it to the prompt.
-
Queue submission
ImplementedGeneration requests become pending rows in arcana_queue for background workers to claim.
-
Background render processing
ImplementedCron/CLI worker scripts claim pending jobs, run Gemini pipeline, save assets, deduct credits, and mark completed/failed.
-
Parallel worker execution
ImplementedParallel workers claim a small batch with row locks and use curl_multi for concurrent Gemini HTTP calls.
-
Retry and fallback behavior
ImplementedImage generation uses a multi-attempt chain that softens prompts, drops portraits, and switches to safer framing after safety blocks.
-
Watermark application
ImplementedDefault branding is prompt-instructed AI text; admins can disable it per job; a separate Imagick/GD path exists in a nowatermark-named worker.
Gallery & renders
Browsing, searching, sorting, paginating, viewing, emailing, and deleting completed renders.
-
User render gallery
ImplementedLogged-in users browse their arcana_renders with search, sort, pagination, lightbox, email, and delete.
-
Gallery search, sorting, and pagination
ImplementedGallery query parameters filter by text and control sort order and page size over the user's renders.
-
Image lightbox and viewer
ImplementedGallery and viewer scripts provide enlarged image viewing and download overlay behavior.
-
Render deletion
ImplementedUsers (and admins) can delete render records and attempt removal of local/B2 files.
Payments & Stripe
Pricing pages, Checkout sessions, webhooks, subscriptions, and credit-pack grants.
-
Stripe checkout
Partially implementedAuthenticated pricing page creates Stripe Checkout sessions from stripe_products rows via stripe_lib.php.
-
Subscription plans
Partially implementedSubscription products use Stripe subscription mode; user_subscriptions tracks status and cancel-at-period-end.
-
Credit-pack purchases
Partially implementedOne-time Stripe payment products grant image credits via webhook and/or purchase success page.
-
Stripe webhook processing
Partially implementedTwo webhook implementations exist: SDK-based arcana.stripe.endpoint.php and lightweight webhook.php.
Email, notifications & admin
Transactional email, in-app notifications, administrator tools, and maintenance mode.
-
Administrator exceptions
ImplementedAdmin users get watermark bypass, style management, admin console access, and maintenance controls.
-
Transactional emails
ImplementedVerification, password reset, and gallery image-share emails send via PHPMailer/SMTP with mail() fallback.
-
In-app notifications
Partially implementedWorkers can create user_notifications rows; overlay UI marks them read.
-
Maintenance mode
ImplementedAdmins toggle arcana_settings.maintenance_mode; auth_check redirects protected pages to a 503 maintenance screen.
Public pages & system
Landing pages, legal pages, feedback, environment loading, and storage integrations.
-
Public landing page
Implementedindex.php serves marketing landing content and may redirect mobile UAs to index.mobile.php.
-
Legal pages
ImplementedTerms, privacy, and FAQ pages publish product rules, credit policies, and data-handling disclosures.
-
Public feedback
Partially implementedFeedback form uses CSRF and Turnstile, then sends mail via PHP mail() to SUPPORT_EMAIL.
-
Local and Backblaze B2 storage
ImplementedRenders are written under uploads/dble and uploaded to Backblaze B2; public URLs come from B2_PUBLIC_URL.
No functionality matches these filters. Clear filters.