346d5359d4
The vision pipeline used sharp to draw a click marker on the scene image server-side (engine/src/annotate.ts) and to render the MOCK_IMAGE placeholder PNG (engine/src/mockImage.ts). Both moved off the runtime: - annotateClick → apps/web/lib/annotateClient.ts (Canvas 2D in the browser; toDataURL → raw PNG base64 forwarded to /api/vision). Saves a server-side image re-fetch per click and frees the engine from sharp's native binding (which doesn't run on Cloudflare Workers). - mockImageDataUri → self-describing SVG data URI (no rendering needed). VisionRequest contract changes: prevImageUrl + click → annotatedImageBase64. Server forwards the bytes straight to the vision LLM as image_url. sharp is removed from packages/engine entirely and from next.config.ts's serverExternalPackages. apps/web/package.json + lockfile cleanup ships in the follow-up Cloudflare deployment commit. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
19 lines
368 B
TypeScript
19 lines
368 B
TypeScript
import path from "node:path";
|
|
import type { NextConfig } from "next";
|
|
|
|
const config: NextConfig = {
|
|
reactStrictMode: true,
|
|
typedRoutes: false,
|
|
transpilePackages: [
|
|
"@infiplot/engine",
|
|
"@infiplot/ai-client",
|
|
"@infiplot/types",
|
|
"@infiplot/tts-client",
|
|
],
|
|
turbopack: {
|
|
root: path.join(__dirname, "..", ".."),
|
|
},
|
|
};
|
|
|
|
export default config;
|