Files
SkinbaseNova/docs/nova-cards-v3-gap-matrix.md
2026-03-28 19:15:39 +01:00

12 KiB

Nova Cards v3 Gap Matrix

Audit date: 2026-03-28

Primary spec:

  • .vscode/agents/skinbase-nova-cards-system_v3.md

Validation baseline:

  • Targeted verification passed with php artisan test tests/Feature/NovaCards/NovaCardAdminTest.php tests/Feature/NovaCards/NovaCardPublicPagesTest.php
  • Result: 19 passing tests, 194 assertions

How to read this document:

  • Implemented means there is direct repo evidence for the pillar's core shipping behavior.
  • Partial means meaningful work exists, but the pillar still falls short of the v3 spec's target-state behavior.
  • Missing means no clear implementation was found for that item during this audit.

Important note:

  • The v3 agent file is a roadmap-level spec, not a literal definition of what must already be fully shipped. This matrix measures current repo reality against that target state.

1. Advanced studio

Status:

  • Partial

Implemented evidence:

  • Structured v3 schema with canvas, background, text_blocks, frame, effects, export_preferences, and source_context in app/Services/NovaCards/NovaCardProjectNormalizer.php
  • Stored v3 canvas flags for safe zones and snap guides in app/Services/NovaCards/NovaCardProjectNormalizer.php
  • Quick versus advanced editor modes in resources/js/Pages/Studio/StudioCardEditor.jsx
  • Text-block reorder, enable/disable toggles, remove controls, and multi-block editing in resources/js/Pages/Studio/StudioCardEditor.jsx
  • Version restore and compare-summary UI in resources/js/Pages/Studio/StudioCardEditor.jsx
  • Advanced frame/effect/quote-mark/text-panel controls in resources/js/Pages/Studio/StudioCardEditor.jsx

Still missing or clearly incomplete:

  • No visible snap-guide UI or guide interactions were found; only stored schema flags exist.
  • No broader lock/unlock controls for editable elements were found.
  • No full layer list with layer-level controls beyond text-block ordering was found.
  • No drag-based canvas editing or anchor-point manipulation UI was found.
  • Safe-zone support appears schema-level, not an exposed editing aid.

Verdict:

  • The Studio is materially beyond MVP and has a credible v3 foundation, but it is not yet the full advanced layer/block studio described in the spec.

2. Creator identity

Status:

  • Partial

Implemented evidence:

  • Public creator page and dedicated creator portfolio page exist in app/Http/Controllers/Web/NovaCardsController.php and routes/web.php
  • Creator summary stats, top categories, top tags, top moods, featured works, featured collections, creator highlights, most remixed works, most liked works, challenge history, signature themes, remix-branch activity, remix graph visualization, creator preference signals, and a recent creator timeline are rendered through app/Http/Controllers/Web/NovaCardsController.php and resources/views/cards/index.blade.php
  • Public coverage for featured works, challenge history, signature themes, and creator portfolio depth exists in tests/Feature/NovaCards/NovaCardPublicPagesTest.php
  • Staff-facing featured creator control exists in app/Http/Controllers/Settings/NovaCardAdminController.php, resources/js/Pages/Collection/NovaCardsAdminIndex.jsx, and routes/web.php
  • Editorial featured-creators surface is wired in app/Http/Controllers/Web/NovaCardsController.php and resources/views/cards/index.blade.php

Still missing or clearly incomplete:

  • No richer creator identity controls such as public template favorites or stronger persistent style identity tools were found beyond preference signals, presets, and stored style metadata.
  • No true interactive remix graph visualization was found beyond the current branch graph summary.

Verdict:

  • Creator identity is materially stronger than the older audit suggested, but it still falls short of the spec's broader portfolio, timeline, and persistent identity vision.

3. Social and remix culture

Status:

  • Partial

Implemented evidence:

  • Remix lineage is preserved in model/project state and exposed on card pages in app/Services/NovaCards/NovaCardPresenter.php, resources/views/cards/show.blade.php, and resources/views/cards/lineage.blade.php
  • Dedicated lineage route and controller action exist in app/Http/Controllers/Web/NovaCardsController.php and routes/web.php
  • Best-remixes and remixed-card discovery surfaces exist in app/Http/Controllers/Web/NovaCardsController.php
  • Public lineage and remix coverage exists in tests/Feature/NovaCards/NovaCardPublicPagesTest.php
  • Likes, saves, collections, and challenge participation are integrated into Studio and public surfaces in resources/js/Pages/Studio/StudioCardEditor.jsx

Still missing or clearly incomplete:

  • No richer remix-tree browser beyond lineage/family views was found.
  • No moderation action to freeze a remix branch was found.
  • No explicit remix-abuse or spam-loop intervention workflow was found.

Verdict:

  • Core remix culture is implemented, but deeper moderation and exploration around remix networks remain unfinished.

4. Discovery intelligence

Status:

  • Partial

Implemented evidence:

  • Trending, featured, latest, and rising public feeds exist in app/Http/Controllers/Web/NovaCardsController.php
  • Dedicated rising service exists in app/Services/NovaCards/NovaCardRisingService.php
  • Related cards service exists in app/Services/NovaCards/NovaCardRelatedCardsService.php
  • Public mood, style, palette, editorial, seasonal, creator, collection, challenge, and best-remixes surfaces exist in app/Http/Controllers/Web/NovaCardsController.php
  • Targeted public-page coverage exists in tests/Feature/NovaCards/NovaCardPublicPagesTest.php

Still missing or clearly incomplete:

  • The full discovery matrix from the spec is not present; there is no dedicated template family feed, quote-type feed, or broader creator-diversity surfacing layer.
  • Discovery balance still looks primarily route-by-route rather than a unified discovery engine with stronger editorial/algorithmic blending.
  • No richer creator diversity or new-creator exposure tuning surface was found beyond the rising service and editorial featuring.

Verdict:

  • Discovery is already broad enough to feel like a real product surface, but it is not yet the full discovery-intelligence platform described in v3.

5. Challenge engine

Status:

  • Partial

Implemented evidence:

  • Challenge listing and detail pages exist in app/Http/Controllers/Web/NovaCardsController.php
  • Challenge admin management exists in app/Http/Controllers/Settings/NovaCardAdminController.php
  • Studio challenge submission controls exist in resources/js/Pages/Studio/StudioCardEditor.jsx
  • Challenge landing content appears on editorial surfaces via app/Http/Controllers/Web/NovaCardsController.php

Still missing or clearly incomplete:

  • No recurring challenge series system or scheduled pipeline was found.
  • No challenge archive/history navigation system was found.
  • No challenge-specific template suggestion rail beyond generic editor options was found.

Verdict:

  • Challenge support is solid and operational, but it does not yet match the spec's more central repeatable challenge engine.

6. AI-assisted creation

Status:

  • Partial

Implemented evidence:

  • AI assist service exists in app/Services/NovaCards/NovaCardAiAssistService.php
  • The Studio AI panel exists in resources/js/Pages/Studio/StudioCardEditor.jsx
  • Suggestions include tags, mood, layouts, backgrounds, font pairing, and readability fixes in app/Services/NovaCards/NovaCardAiAssistService.php
  • Suggestions are creator-controlled and optional in the Studio UI

Still missing or clearly incomplete:

  • The service is explicitly rule-based/fallback-first, not a deeper AI composition layer.
  • No explicit story-conversion or wallpaper-conversion AI actions were found.
  • No stronger metadata/title/description assist actions were found.

Verdict:

  • AI assist is real and useful, but still much smaller than the spec's longer-term assistive workflow.

7. Asset and template ecosystem

Status:

  • Partial

Implemented evidence:

  • Official asset packs and template packs are configured in config/nova_cards.php
  • Asset-pack and template admin surfaces exist in app/Http/Controllers/Settings/NovaCardAdminController.php
  • Advanced editor controls expose frame, color grade, quote-mark, and text-panel systems in resources/js/Pages/Studio/StudioCardEditor.jsx
  • Creator presets exist and are exposed in Studio through resources/js/Pages/Studio/StudioCardEditor.jsx

Still missing or clearly incomplete:

  • No explicit template favorites system was found.
  • No access-rule-aware premium gating or premium-ready pack entitlement system was found.
  • No richer seasonal/official pack surfacing beyond config/admin management was found.

Verdict:

  • The pack/template ecosystem exists, but it is still closer to a solid internal/content foundation than the full ecosystem described in the spec.

8. Export and distribution

Status:

  • Partial

Implemented evidence:

  • Export request model/table support exists in database/migrations/2026_03_27_010000_add_nova_cards_v3_tables.php and app/Models/NovaCardExport.php
  • Export request creation and polling are implemented in app/Services/NovaCards/NovaCardExportService.php and app/Http/Controllers/Api/NovaCards/NovaCardExportController.php
  • Queued export generation exists in app/Jobs/NovaCards/GenerateNovaCardExportJob.php
  • Preview, hires, square, story, wallpaper, and OG exports are supported in app/Services/NovaCards/NovaCardExportService.php
  • Export controls are exposed in Studio in resources/js/Pages/Studio/StudioCardEditor.jsx
  • Watermark preference is normalized into project data in app/Services/NovaCards/NovaCardProjectNormalizer.php

Still missing or clearly incomplete:

  • No actual watermark policy UI or export-policy workflow was found; only a normalized preference field exists.
  • No export history management surface was found in Studio.
  • No richer saved export-preset system per user or per preset was found.

Verdict:

  • Export infrastructure is strong, but the broader distribution/product layer around it remains incomplete.

9. Trust, moderation, and rights

Status:

  • Partial

Implemented evidence:

  • Card moderation fields and staff moderation surfaces exist in app/Http/Controllers/Settings/NovaCardAdminController.php and resources/js/Pages/Collection/NovaCardsAdminIndex.jsx
  • Reporting queue integration exists in the Nova Cards admin surface
  • Rights flags such as allow_remix, allow_background_reuse, and allow_export are exposed in Studio and policy/service code
  • Public reporting hooks and moderation-aware visibility exist across card/challenge/comment flows

Still missing or clearly incomplete:

  • No duplicate or near-duplicate Nova Cards detection service was found.
  • No remix-loop abuse controls were found.
  • No branch-freeze or targeted remix-branch intervention tooling was found.
  • No stronger low-quality-content throttling specific to Nova Cards was found beyond general rate limits and moderation baselines.

Verdict:

  • Moderation and rights are credible at the foundation level, but the stronger anti-abuse tooling described in v3 is still missing.

10. Migration compatibility and ops tooling

Status:

  • Partial

Implemented evidence:

  • Legacy normalization is handled in app/Services/NovaCards/NovaCardProjectNormalizer.php
  • v3 schema additions are present in database/migrations/2026_03_27_010000_add_nova_cards_v3_tables.php
  • Compatibility behavior is covered by the Nova Cards v3 feature suite

Still missing or clearly incomplete:

  • No explicit schema backfill command was found.
  • No targeted rerender command/job for migrated cards was found.
  • No admin-safe migration utility surface with dry-run/reporting was found.

Verdict:

  • Compatibility is implemented. Operational migration tooling is not.

Overall conclusion

Current repo state versus the v3 spec:

  • The v3 foundation is implemented.
  • Several public and creator-facing roadmap items that used to be missing are now present, including featured works, featured collections, and featured creators.
  • The biggest remaining gaps are no longer basic public discovery or staff creator featuring.
  • The largest remaining gaps are advanced studio depth, deeper creator portfolio identity, stronger anti-abuse tooling, and migration/rerender operations.

If prioritizing by product leverage from the current codebase, the clean next targets are:

  1. Creator portfolio depth and creator challenge/remix history.
  2. Anti-abuse moderation hardening for duplicate and remix-loop control.
  3. Migration/backfill/rerender tooling.