mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 23:21:08 +02:00
feat(comic): workbench app-registry — Comic als Card verfügbar
Comic war bisher nur als Standalone-Route /comic, /comic/new, /comic/[id] erreichbar. Damit konnte man die App nicht via AppPagePicker zur Workbench-Szene hinzufügen, das Comic-Autor- Persona-Template (das `comic` in scene.openApps führt) hatte keinen funktionierenden Card-Loader, und Cross-Module-Drops auf das Comic-Modul gingen ins Leere. Registrierung in app-registry/apps.ts: - id: 'comic', name: 'Comic', color: '#f97316' (Orange-Rot Gradient analog mana-apps.ts) - icon: FilmStrip — sequentielle Panels = Filmstreifen, passt zur Comic-Strip-Metapher und unterscheidet sich von Library (Stack) und Picture (Image) - views.list: dynamic import von $lib/modules/comic/ListView.svelte (das Modul-Root mit Story-Grid + "+ Neue Story"-CTA) - contextMenuActions: "Neue Story" → /comic/new (gleiche Pattern wie website's "Neue Website" — Hard-Navigation, weil der Create- Flow eine eigene Route ist) - Detail-View nicht im Workbench-Slot wired — wie library/writing/ wardrobe nutzt comic SvelteKit-Routes für Story-Detail, der Workbench-Card hostet nur die Liste Help-Content-Eintrag (help-content.ts) für das ?-Icon im Card- Header: Beschreibung der drei Generate-Modi, fünf Stil-Presets, Modell-Auswahl (gpt-image-2 / Nano Banana), Cross-Modul- Storyboard, MCP-Tools, Tipps zu Face-Ref + englischer Sprache + Style-Fix-after-Create + 8-Panel-Konsistenz-Limit. Comic-spezifische Files type-checken sauber. Die 240 Workspace- weiten Errors sind pre-existing (laufender useLiveQueryWithDefault → useScopedLiveQuery Refactor). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
a80e8f57a0
commit
85fca7ccdc
2 changed files with 43 additions and 0 deletions
|
|
@ -81,6 +81,7 @@ import {
|
|||
Globe,
|
||||
CoatHanger,
|
||||
NotePencil,
|
||||
FilmStrip,
|
||||
} from '@mana/shared-icons';
|
||||
|
||||
// ── Apps with entity capabilities ───────────────────────────
|
||||
|
|
@ -1355,6 +1356,30 @@ registerApp({
|
|||
],
|
||||
});
|
||||
|
||||
registerApp({
|
||||
id: 'comic',
|
||||
name: 'Comic',
|
||||
color: '#f97316',
|
||||
icon: FilmStrip,
|
||||
views: {
|
||||
// /comic/new (StoryForm) and /comic/[id] (DetailView) live as
|
||||
// SvelteKit routes; the workbench card hosts the ListView root.
|
||||
// Quick-action "Neue Story" navigates to /comic/new directly —
|
||||
// the create flow has its own page, no inline modal in the card.
|
||||
list: { load: () => import('$lib/modules/comic/ListView.svelte') },
|
||||
},
|
||||
contextMenuActions: [
|
||||
{
|
||||
id: 'new-story',
|
||||
label: 'Neue Story',
|
||||
icon: Plus,
|
||||
action: () => {
|
||||
window.location.href = '/comic/new';
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
registerApp({
|
||||
id: 'spaces',
|
||||
name: 'Spaces',
|
||||
|
|
|
|||
|
|
@ -967,6 +967,24 @@ export const MODULE_HELP: Record<string, ModuleHelp> = {
|
|||
],
|
||||
tips: ['System-Auto folgt deinem OS-Dark-Mode automatisch zur richtigen Uhrzeit'],
|
||||
},
|
||||
comic: {
|
||||
description:
|
||||
'Aus Text wird ein Comic — Tagebuch-Eintrag, Notiz oder Library-Review als Vorlage, gpt-image-2 oder Nano Banana rendert Panels in fünf Stilen (Comic, Manga, Cartoon, Graphic Novel, Webtoon). Du selbst bist der Protagonist — Face-Ref aus deinem Profil-Modul wird automatisch genutzt.',
|
||||
features: [
|
||||
'Drei Generate-Modi: Einzel-Panel, Batch (2-4 parallel), KI-Storyboard aus existierendem Text',
|
||||
'Fünf Stil-Presets pro Story fix gewählt — alle Panels nutzen denselben Prefix für Konsistenz',
|
||||
'Sprechblasen + Captions werden direkt ins Bild gerendert (kein SVG-Overlay)',
|
||||
'Modell wählbar pro Klick: OpenAI gpt-image-2, Nano Banana Pro, Nano Banana 2',
|
||||
'Cross-Modul-Storyboard: Claude liest Journal/Notes/Library und schlägt 4-6 Panels vor',
|
||||
'MCP-Tools: listStories / createStory / generatePanel / reorderPanels für Agents',
|
||||
],
|
||||
tips: [
|
||||
'Ohne Face-Ref im aktiven Space kein Comic — Banner führt direkt zum Upload.',
|
||||
'Englische Captions/Dialoge rendern stabiler als deutsche; kurze Sätze funktionieren am besten.',
|
||||
'Style-Wechsel ist nicht möglich nach Story-Create — dafür einfach neue Story anlegen.',
|
||||
'Ab ~8 Panels pro Story wird Character-Konsistenz spürbar schwerer (gpt-image-2-Limit).',
|
||||
],
|
||||
},
|
||||
wardrobe: {
|
||||
description:
|
||||
'Dein digitaler Kleiderschrank — fotografiere Kleidungsstücke und Accessoires, komponiere Outfits, und probiere sie mit KI an dir selbst an. Pro Space ein eigener Schrank: was im Family-Space liegt, taucht im Brand-Space nicht auf.',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue