Live im Aseprite-Fenster des Benutzers arbeiten
Der Aseprite MCP-Server hat zwei Modi, die pro Aufruf gewählt werden:
- Live: Aseprite läuft mit der Aseprite MCP Live-Erweiterung, die eine Verbindung zum Server herstellt. Jedes Werkzeug führt sein Skript in diesem Fenster auf dem geöffneten Sprite aus, und die Leinwand wird sofort neu gezeichnet.
- Batch: Kein Fenster verbunden. Jedes Werkzeug startet ein verstecktes Aseprite, bearbeitet die Datei auf der Festplatte und beendet sich. Ein geöffnetes Fenster zeigt die Änderung erst, wenn die Datei erneut geöffnet wird.
Jede Sitzung mit live_status beginnen
| Ergebnis | Was zu tun ist |
|---|---|
connected; active tab: <pfad> + saved | Verwenden Sie diesen Pfad als filename für jedes Werkzeug. |
... UNSAVED | Fragen Sie, wo gespeichert werden soll, dann save_active_sprite("<verzeichnis>/<name>.aseprite") und diesen Pfad verwenden. |
connected; no sprite is open | create_canvas öffnet einen neuen Tab im Fenster. |
Aseprite is not connected ... | Informieren Sie den Benutzer. Arbeiten Sie nur im Batch-Modus, wenn der Benutzer zustimmt. |
Immer in der vom Benutzer geöffneten Datei zeichnen (streng)
Jede Zeichnung erfolgt im geöffneten Tab des Benutzers: dem aktiven Sprite, das von live_status gemeldet wird. Die Arbeit niemals in eine separate Datei legen.
- Niemals ein zweites Sprite erstellen. Rufen Sie
create_canvasnicht auf, und rufen Sie niemalsSprite(w, h)inrun_lua_scriptauf, solange der Benutzer einen Tab geöffnet hat. Verwenden Siecreate_canvasnur, wennlive_statusmeldet, dass kein Sprite geöffnet ist. Bearbeiten Sie in Luaapp.activeSprite. - Wenn die Leinwand zu klein ist, ändern Sie die Größe derselben Datei. Wenn der geöffnete Tab beispielsweise 64×64 ist und die Szene 160×112 benötigt, rufen Sie
resize_canvas(<offene datei>, 160, 112)für diese Datei auf und zeichnen Sie dann. Gleiches gilt für die Bildanzahl: Fügen Sie dieser Datei mitadd_framesBilder hinzu. - Eine Leinwand, die bereits Kunstwerke enthält, wird zuerst gefragt.
resize_canvasskaliert die vorhandenen Pixel. Ändern Sie bei einem leeren Tab einfach die Größe; wenn der Tab bereits Kunst enthält, fragen Sie den Benutzer vor dem Größenändern. - Wenn der Tab ungespeichert ist, speichern Sie ihn mit
save_active_sprite(fragen Sie, wo), und arbeiten Sie dann in dieser Datei weiter. Das Speichern ist kein Grund, eine andere Datei zu starten. - Wenn der Live-Modus nicht verbunden ist, stoppen Sie und informieren Sie den Benutzer. Fallen Sie nicht auf eine neue Datei auf der Festplatte zurück, es sei denn, der Benutzer sagt explizit zu.
Die Erweiterung installiert sich beim ersten Start des Servers selbst in Aseprite. Aseprite muss dann einmal neu gestartet werden, und bei der ersten Verwendung wird gefragt, ob das Skript eine Verbindung zum Netzwerk herstellen oder Dateien schreiben darf. Der Benutzer muss dies in Aseprite erlauben. Klicken Sie niemals in ihrem Namen auf diese Eingabeaufforderungen.
Während des Live-Zeichnens
- Ein Werkzeugaufruf ist ein Rückgängig-Schritt. Der Benutzer kann Strg+Z drücken, um genau einen Ihrer Schritte rückgängig zu machen. Informieren Sie ihn darüber, wenn es hilfreich ist.
- Arbeiten Sie in sichtbaren Durchgängen (Silhouette, dann Flächen, Schattierung, Details, Animation), damit der Benutzer sieht, wie das Stück entsteht, und sagen Sie, was jeder Durchgang tut.
- Eine kleine Sache pro Aufruf. Das Fenster wird nur neu gezeichnet, wenn ein Aufruf zurückkehrt. Ein Skript, das die gesamte Szene malt, erscheint daher auf einmal. Jeder Aufruf sollte ein Objekt, eine Ebene, einen Schattierungsdurchgang oder einen Frame hinzufügen. Schreiben Sie ein Skript, führen Sie es aus, dann schreiben Sie das nächste. Schreiben Sie niemals alle Skripte zuerst und führen Sie sie am Ende aus.
- Bevorzugen Sie die speziellen Werkzeuge (
draw_rows,draw_rectangle_at,draw_ellipse_at,fill_area_at, ...). Jedes von ihnen ist ein einzelner sichtbarer Schritt. - Im Live-Modus lehnt
run_lua_scriptSkripte mit über 40 Codezeilen ab. Halten Sie Hilfsfunktionen kurz, da jedes Skript seine eigenen neu definieren muss. - Eine 64×64-Szene benötigt typischerweise 10–25 Aufrufe. Das ist normal: Der Benutzer sieht zu, wie sie aufgebaut wird.
- Bevorzugen Sie die speziellen Werkzeuge (
- Jeder Schritt wird in der Datei gespeichert, was
view_spriteund die Exportwerkzeuge synchron hält. Diese lesen die gespeicherte Datei weiterhin durch ein verstecktes Aseprite. - Der Benutzer kann ebenfalls bearbeiten. Überprüfen Sie mit
view_spriteoderread_rows, bevor Sie einen Bereich neu zeichnen, und überschreiben Sie seine Änderungen nicht ohne zu fragen. - Ändern Sie nicht seine Ansicht. Vermeiden Sie das Wechseln von Tabs, Bildern oder Ebenen im Fenster, es sei denn, die Aufgabe erfordert es.
Fehlerbehebung
- Ein Werkzeug läuft mit "Ein Dialog könnte geöffnet sein" ab. Aseprite wartet auf eine Eingabeaufforderung, z. B. eine Berechtigungsanfrage. Bitten Sie den Benutzer, darauf zu antworten.
- Änderungen werden nicht im Fenster angezeigt. Führen Sie
live_statusaus. Jeder Aufruf beansprucht zuerst den Live-Link von jeder anderen Claude-Sitzung, die ihn hält. Wenn also immer noch "not connected" gemeldet wird, wurde Aseprite geöffnet, bevor die Erweiterung installiert wurde und muss neu gestartet werden. Stoppen und informieren Sie den Benutzer; zeichnen Sie nicht weiter in die Datei auf der Festplatte. - Starten Sie Aseprite niemals selbst. Öffnen Sie die Datei nicht mit einem Shell-Befehl in einem neuen Fenster. Zwei Fenster mit derselben Datei geraten aus dem Takt, und Skripte werden nur an das Fenster gesendet, das sich zuletzt verbunden hat. Wenn der geöffnete Tab veraltet ist, bitten Sie den Benutzer, Datei → Rückgängig zu verwenden.
- Tabs, die wie das Sprite heißen, erscheinen und schließen sich. Das ist normal: Einige Analysewerkzeuge arbeiten mit einer temporären Kopie, die danach geschlossen wird.