@womp/spark-agent 5.6.1 → 5.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +424 -421
- package/dist/agent-run.d.ts +1 -1
- package/dist/agent.d.ts +2 -0
- package/dist/agent.js +3 -1
- package/dist/capabilities/geometry.js +14 -14
- package/dist/capabilities/materials.js +14 -14
- package/dist/capabilities/openscad-instructions.js +77 -77
- package/dist/capabilities/operations.js +28 -28
- package/dist/capabilities/scene.js +81 -81
- package/dist/capabilities/wompify.js +10 -10
- package/dist/client.d.ts +7 -0
- package/dist/client.js +14 -0
- package/dist/geometry/schemas/backend-schema.json +3393 -3393
- package/dist/geometry/schemas/flowir-dialect.json +1023 -1023
- package/dist/geometry.js +6 -6
- package/dist/goals.d.ts +43 -0
- package/dist/goals.js +37 -0
- package/dist/materials/recipes.js +266 -266
- package/dist/materials/reference.js +94 -94
- package/dist/materials/structure.js +10 -10
- package/dist/materials/surface-recipes.js +6 -6
- package/dist/prompt.js +74 -74
- package/dist/server/executor.d.ts +1 -1
- package/dist/server/executor.js +2 -0
- package/dist/server/express.js +18 -0
- package/dist/server/fixtures/materials/matte-blue.json +14 -14
- package/dist/server/fixtures/materials/polished-copper.json +14 -14
- package/dist/server/goal-evaluator.d.ts +29 -0
- package/dist/server/goal-evaluator.js +55 -0
- package/dist/server/index.d.ts +4 -0
- package/dist/server/index.js +4 -0
- package/dist/server/service.d.ts +17 -0
- package/dist/server/service.js +204 -5
- package/dist/server/sqlite-store.d.ts +2 -0
- package/dist/server/sqlite-store.js +45 -38
- package/dist/server/store.d.ts +2 -0
- package/dist/server/store.js +12 -3
- package/dist/server/types.d.ts +6 -0
- package/dist/ui.d.ts +7 -3
- package/dist/ui.js +3 -1
- package/dist/wompify.d.ts +11 -0
- package/dist/wompify.js +11 -2
- package/package.json +140 -140
|
@@ -3,16 +3,16 @@ export const meshWompifySkill = {
|
|
|
3
3
|
name: "mesh-wompify",
|
|
4
4
|
version: "1",
|
|
5
5
|
description: "Reconstruct a specific imported mesh with editable primitives and curves, comparing its shape from matching views.",
|
|
6
|
-
instructions: `The reference mesh is already imported; do not import it again.
|
|
7
|
-
Resolve only the reference object IDs or exact reference names supplied in the request. A named reference prefix includes only that exact name and its numbered -N parts. Include their descendants and preserve their ancestors. If the target is missing or ambiguous, stop and report it; never treat the whole scene as the reference.
|
|
8
|
-
Hide unrelated scene objects, including any starter cube, without deleting or otherwise editing them. Leave them hidden during reconstruction and at completion. Preserve the original reference. Use the supplied result group, or create a separate group named "Wompified model".
|
|
9
|
-
Match the actual shape, geometry, silhouettes and colors, not a conceptual interpretation of the character.
|
|
10
|
-
Separate body parts or regions into named Areas. Minimize primitives and curve control points without oversimplifying: a large arm or leg can often use one curve with about four points; complex shapes may need more.
|
|
11
|
-
Use Add, Subtraction, Intersection and goop/blend where needed. Embed colors in the physical primitives; use stain only as a last resort.
|
|
12
|
-
Detail tiers:
|
|
13
|
-
${Object.values(WOMPIFY_PRESETS).map(tier => `${tier.label}: ${tier.instructions}`).join("\n")}
|
|
14
|
-
Compare orthographic Kakapo screenshots in the prepared lightweight render mode throughout reconstruction. Use identical cameras for reference and result: inspect front, side, back and oblique views, then close-ups.
|
|
15
|
-
Show only the reference and capture/emit it; repeat with only the result. Restore reference/result visibility in finally if a comparison fails; keep unrelated objects hidden. Identify discrepancies and keep refining the same objects toward an accurate match.
|
|
6
|
+
instructions: `The reference mesh is already imported; do not import it again.
|
|
7
|
+
Resolve only the reference object IDs or exact reference names supplied in the request. A named reference prefix includes only that exact name and its numbered -N parts. Include their descendants and preserve their ancestors. If the target is missing or ambiguous, stop and report it; never treat the whole scene as the reference.
|
|
8
|
+
Hide unrelated scene objects, including any starter cube, without deleting or otherwise editing them. Leave them hidden during reconstruction and at completion. Preserve the original reference. Use the supplied result group, or create a separate group named "Wompified model".
|
|
9
|
+
Match the actual shape, geometry, silhouettes and colors, not a conceptual interpretation of the character.
|
|
10
|
+
Separate body parts or regions into named Areas. Minimize primitives and curve control points without oversimplifying: a large arm or leg can often use one curve with about four points; complex shapes may need more.
|
|
11
|
+
Use Add, Subtraction, Intersection and goop/blend where needed. Embed colors in the physical primitives; use stain only as a last resort.
|
|
12
|
+
Detail tiers:
|
|
13
|
+
${Object.values(WOMPIFY_PRESETS).map(tier => `${tier.label}: ${tier.instructions}`).join("\n")}
|
|
14
|
+
Compare orthographic Kakapo screenshots in the prepared lightweight render mode throughout reconstruction. Use identical cameras for reference and result: inspect front, side, back and oblique views, then close-ups.
|
|
15
|
+
Show only the reference and capture/emit it; repeat with only the result. Restore reference/result visibility in finally if a comparison fails; keep unrelated objects hidden. Identify discrepancies and keep refining the same objects toward an accurate match.
|
|
16
16
|
Finish with matched comparisons and verified saved objects, reference hidden and result visible. If unfinished, keep the editable partial result and report remaining mismatches.`,
|
|
17
17
|
declarations: "",
|
|
18
18
|
examples: [],
|
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { ChatRequestOptions, ChatTransport, UIMessageChunk } from "ai";
|
|
2
2
|
import type { SparkRunSettings } from "./server/types.js";
|
|
3
|
+
import type { SparkGoal, SparkGoalCommand } from "./goals.js";
|
|
4
|
+
export type { SparkGoal, SparkGoalCommand } from "./goals.js";
|
|
3
5
|
import type { SparkConversation, SparkConversationSummary, SparkRun } from "./server/types.js";
|
|
4
6
|
import type { SparkUIMessage } from "./ui.js";
|
|
5
7
|
export type { SparkConversation, SparkConversationSummary, SparkRun, SparkRunSettings, } from "./server/types.js";
|
|
@@ -38,6 +40,11 @@ export declare class SparkChatTransport implements ChatTransport<SparkUIMessage>
|
|
|
38
40
|
title?: string;
|
|
39
41
|
}): Promise<SparkConversation>;
|
|
40
42
|
getConversation(id: string): Promise<SparkConversation>;
|
|
43
|
+
goalCommand(id: string, command: SparkGoalCommand, settings?: SparkRunSettings, message?: SparkUIMessage): Promise<{
|
|
44
|
+
goal?: SparkGoal;
|
|
45
|
+
run?: SparkRun;
|
|
46
|
+
}>;
|
|
47
|
+
getGoal(id: string): Promise<SparkGoal | undefined>;
|
|
41
48
|
getRun(id: string): Promise<SparkRun>;
|
|
42
49
|
saveConversationSettings(id: string, settings: SparkRunSettings): Promise<void>;
|
|
43
50
|
deleteConversation(id: string): Promise<void>;
|
package/dist/client.js
CHANGED
|
@@ -118,6 +118,20 @@ export class SparkChatTransport {
|
|
|
118
118
|
const body = await response.json();
|
|
119
119
|
return body.conversation;
|
|
120
120
|
}
|
|
121
|
+
async goalCommand(id, command, settings, message) {
|
|
122
|
+
const response = await this.request(`/conversations/${encodeURIComponent(id)}/goal`, {
|
|
123
|
+
method: "POST", body: JSON.stringify({ command, settings, message }),
|
|
124
|
+
});
|
|
125
|
+
if (!response.ok)
|
|
126
|
+
throw await responseError(response);
|
|
127
|
+
return response.json();
|
|
128
|
+
}
|
|
129
|
+
async getGoal(id) {
|
|
130
|
+
const response = await this.request(`/conversations/${encodeURIComponent(id)}/goal`, { method: "GET" });
|
|
131
|
+
if (!response.ok)
|
|
132
|
+
throw await responseError(response);
|
|
133
|
+
return (await response.json()).goal;
|
|
134
|
+
}
|
|
121
135
|
async getRun(id) {
|
|
122
136
|
const response = await this.request(`/runs/${encodeURIComponent(id)}`, { method: "GET" });
|
|
123
137
|
if (!response.ok)
|