From 64a0a1ca2f26bcf6fdfbfff093d3b0d60c0523ea Mon Sep 17 00:00:00 2001 From: Wassim SAMAD Date: Tue, 11 Aug 2026 09:08:48 +0200 Subject: [PATCH 1/3] feat(editor): add Streetscape plugin to Pascal Register @pascal-app/plugin-streetscape (pinned by commit) alongside the trees and mint plugins: plugin discovery + host panel at bootstrap, Next transpilation, and Tailwind @source so its panel styles compile. Co-Authored-By: Claude Fable 5 --- apps/editor/app/globals.css | 1 + apps/editor/lib/bootstrap.ts | 6 ++++++ apps/editor/next.config.ts | 1 + apps/editor/package.json | 1 + bun.lock | 7 +++++-- 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/apps/editor/app/globals.css b/apps/editor/app/globals.css index e8f38d8ff3..61f2d36f64 100644 --- a/apps/editor/app/globals.css +++ b/apps/editor/app/globals.css @@ -5,6 +5,7 @@ @source "../../../packages/nodes/src"; @source "../../../node_modules/@pascal-app/plugin-trees/src"; @source "../../../node_modules/@mint/pascal-plugin/src"; +@source "../../../node_modules/@pascal-app/plugin-streetscape/src"; @custom-variant dark (&:is(.dark *)); diff --git a/apps/editor/lib/bootstrap.ts b/apps/editor/lib/bootstrap.ts index 93edd78030..3d58bb5ad3 100644 --- a/apps/editor/lib/bootstrap.ts +++ b/apps/editor/lib/bootstrap.ts @@ -9,6 +9,10 @@ import { } from '@pascal-app/core' import { registerEditorHostPanel } from '@pascal-app/editor' import { builtinPlugin } from '@pascal-app/nodes' +import { + streetscapeHostPanel, + streetscapePlugin, +} from '@pascal-app/plugin-streetscape' import { treesHostPanel, treesPlugin } from '@pascal-app/plugin-trees' // Idempotency guards: HMR can reload this module, but `registerNode` @@ -88,6 +92,8 @@ extendPluginDiscovery(async () => [treesPlugin]) registerEditorHostPanel(treesHostPanel) extendPluginDiscovery(async () => [mintPlugin]) registerEditorHostPanel(mintHostPanel) +extendPluginDiscovery(async () => [streetscapePlugin]) +registerEditorHostPanel(streetscapeHostPanel) loadBuiltinsSync() void loadExternalPlugins() diff --git a/apps/editor/next.config.ts b/apps/editor/next.config.ts index a5c08f5ed7..03bc75810a 100644 --- a/apps/editor/next.config.ts +++ b/apps/editor/next.config.ts @@ -32,6 +32,7 @@ const nextConfig: NextConfig = { '@pascal-app/core', '@pascal-app/editor', '@pascal-app/mcp', + '@pascal-app/plugin-streetscape', '@pascal-app/plugin-trees', '@mint/pascal-plugin', '@dgreenheck/ez-tree', diff --git a/apps/editor/package.json b/apps/editor/package.json index ba2da86503..a57f3bc9b3 100644 --- a/apps/editor/package.json +++ b/apps/editor/package.json @@ -19,6 +19,7 @@ "@pascal-app/editor": "*", "@pascal-app/mcp": "*", "@pascal-app/nodes": "*", + "@pascal-app/plugin-streetscape": "github:sudhir9297/streetscape-pascal-plugin#3c885bfe112e87c7e0e9e38c0c6bc36e6dc692c7", "@pascal-app/plugin-trees": "github:pascalorg/plugin-trees#56d978cd9b409b716207b3f3d269455d3cd6f067", "@pascal-app/viewer": "*", "@radix-ui/react-tooltip": "^1.2.8", diff --git a/bun.lock b/bun.lock index f32d84c143..69d8c08639 100644 --- a/bun.lock +++ b/bun.lock @@ -34,6 +34,7 @@ "@pascal-app/editor": "*", "@pascal-app/mcp": "*", "@pascal-app/nodes": "*", + "@pascal-app/plugin-streetscape": "github:sudhir9297/streetscape-pascal-plugin#3c885bfe112e87c7e0e9e38c0c6bc36e6dc692c7", "@pascal-app/plugin-trees": "github:pascalorg/plugin-trees#56d978cd9b409b716207b3f3d269455d3cd6f067", "@pascal-app/viewer": "*", "@radix-ui/react-tooltip": "^1.2.8", @@ -99,7 +100,7 @@ }, "packages/cli": { "name": "@pascal-app/cli", - "version": "0.1.4", + "version": "0.1.5", "bin": { "pascal": "dist/bin/pascal.js", }, @@ -233,7 +234,7 @@ }, "packages/mcp": { "name": "@pascal-app/mcp", - "version": "1.0.0-beta.4", + "version": "1.0.0-beta.5", "bin": { "pascal-mcp": "./dist/bin/pascal-mcp.js", }, @@ -723,6 +724,8 @@ "@pascal-app/nodes": ["@pascal-app/nodes@workspace:packages/nodes"], + "@pascal-app/plugin-streetscape": ["@pascal-app/plugin-streetscape@github:sudhir9297/streetscape-pascal-plugin#3c885bf", { "peerDependencies": { "@pascal-app/core": ">=0.9.1 <1", "@pascal-app/editor": ">=0.9.1 <1", "@pascal-app/viewer": ">=0.9.1 <1", "@react-three/fiber": "^9", "react": "^18 || ^19", "three": "^0.185", "zod": "^4", "zustand": "^5" } }, "sudhir9297-streetscape-pascal-plugin-3c885bf", "sha512-/O+vZjgpmc4bv5crJvU9OZmBIqM/i0ptyu2+t6zAS5QBkwontnnsGNNRobkTLNzMVUDW2vMS6JRuOxfxGnWW4Q=="], + "@pascal-app/plugin-trees": ["@pascal-app/plugin-trees@github:pascalorg/plugin-trees#56d978c", { "dependencies": { "@dgreenheck/ez-tree": "^1.1.0" }, "peerDependencies": { "@pascal-app/core": ">=0.9.1 <1", "@pascal-app/editor": ">=0.9.1 <1", "@pascal-app/viewer": ">=0.9.1 <1", "@react-three/fiber": "^9", "react": "^18 || ^19", "three": "^0.185", "zod": "^4", "zustand": "^5" } }, "pascalorg-plugin-trees-56d978c", "sha512-16VzWot1oadvxCPqsRwMJbaP0a3u5FESFy7F7++pY5wAAFq9JTFwzHvKAsllrY5TZ5TJ7Y5vSqvbmQk8sy8HaA=="], "@pascal-app/viewer": ["@pascal-app/viewer@workspace:packages/viewer"], From 0d97ab94e090c463034a4753da593c4c84c6fd6f Mon Sep 17 00:00:00 2001 From: Wassim SAMAD Date: Tue, 11 Aug 2026 09:19:20 +0200 Subject: [PATCH 2/3] fix(editor): credit the Streetscape plugin's actual author MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Override creator/pluginUrl at registration — the upstream manifest points at a pascalorg repo that doesn't exist. Co-Authored-By: Claude Fable 5 --- apps/editor/lib/bootstrap.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/apps/editor/lib/bootstrap.ts b/apps/editor/lib/bootstrap.ts index 3d58bb5ad3..845a94a826 100644 --- a/apps/editor/lib/bootstrap.ts +++ b/apps/editor/lib/bootstrap.ts @@ -9,10 +9,7 @@ import { } from '@pascal-app/core' import { registerEditorHostPanel } from '@pascal-app/editor' import { builtinPlugin } from '@pascal-app/nodes' -import { - streetscapeHostPanel, - streetscapePlugin, -} from '@pascal-app/plugin-streetscape' +import { streetscapeHostPanel, streetscapePlugin } from '@pascal-app/plugin-streetscape' import { treesHostPanel, treesPlugin } from '@pascal-app/plugin-trees' // Idempotency guards: HMR can reload this module, but `registerNode` @@ -93,7 +90,13 @@ registerEditorHostPanel(treesHostPanel) extendPluginDiscovery(async () => [mintPlugin]) registerEditorHostPanel(mintHostPanel) extendPluginDiscovery(async () => [streetscapePlugin]) -registerEditorHostPanel(streetscapeHostPanel) +// The upstream manifest points creator/pluginUrl at a pascalorg repo that +// doesn't exist; credit the actual author until the package fixes it. +registerEditorHostPanel({ + ...streetscapeHostPanel, + creator: { name: 'Sudhir Yadav', url: 'https://github.com/sudhir9297' }, + pluginUrl: 'https://github.com/sudhir9297/streetscape-pascal-plugin', +}) loadBuiltinsSync() void loadExternalPlugins() From 19cfb1dd10139d7841118426e8194299576c5c6c Mon Sep 17 00:00:00 2001 From: Wassim SAMAD Date: Tue, 11 Aug 2026 10:30:43 +0200 Subject: [PATCH 3/3] chore(editor): bump Streetscape pin to webp thumbnails MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upstream converted the 37 PNG catalog thumbnails (~17 MB) to webp/svg (~630 KB), bringing the packed CLI back under its release budget, and fixed pluginUrl/repository metadata — keep only the creator-name override. Co-Authored-By: Claude Fable 5 --- apps/editor/lib/bootstrap.ts | 4 +--- apps/editor/package.json | 2 +- bun.lock | 4 ++-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/apps/editor/lib/bootstrap.ts b/apps/editor/lib/bootstrap.ts index 845a94a826..873baf2225 100644 --- a/apps/editor/lib/bootstrap.ts +++ b/apps/editor/lib/bootstrap.ts @@ -90,12 +90,10 @@ registerEditorHostPanel(treesHostPanel) extendPluginDiscovery(async () => [mintPlugin]) registerEditorHostPanel(mintHostPanel) extendPluginDiscovery(async () => [streetscapePlugin]) -// The upstream manifest points creator/pluginUrl at a pascalorg repo that -// doesn't exist; credit the actual author until the package fixes it. +// The upstream manifest still names 'Pascal' as creator; credit the author. registerEditorHostPanel({ ...streetscapeHostPanel, creator: { name: 'Sudhir Yadav', url: 'https://github.com/sudhir9297' }, - pluginUrl: 'https://github.com/sudhir9297/streetscape-pascal-plugin', }) loadBuiltinsSync() diff --git a/apps/editor/package.json b/apps/editor/package.json index a57f3bc9b3..cfaaf03992 100644 --- a/apps/editor/package.json +++ b/apps/editor/package.json @@ -19,7 +19,7 @@ "@pascal-app/editor": "*", "@pascal-app/mcp": "*", "@pascal-app/nodes": "*", - "@pascal-app/plugin-streetscape": "github:sudhir9297/streetscape-pascal-plugin#3c885bfe112e87c7e0e9e38c0c6bc36e6dc692c7", + "@pascal-app/plugin-streetscape": "github:sudhir9297/streetscape-pascal-plugin#1c04ec9ccb3fa8124ec56dfc1026567cbbc51aef", "@pascal-app/plugin-trees": "github:pascalorg/plugin-trees#56d978cd9b409b716207b3f3d269455d3cd6f067", "@pascal-app/viewer": "*", "@radix-ui/react-tooltip": "^1.2.8", diff --git a/bun.lock b/bun.lock index 69d8c08639..01c7d2d54b 100644 --- a/bun.lock +++ b/bun.lock @@ -34,7 +34,7 @@ "@pascal-app/editor": "*", "@pascal-app/mcp": "*", "@pascal-app/nodes": "*", - "@pascal-app/plugin-streetscape": "github:sudhir9297/streetscape-pascal-plugin#3c885bfe112e87c7e0e9e38c0c6bc36e6dc692c7", + "@pascal-app/plugin-streetscape": "github:sudhir9297/streetscape-pascal-plugin#1c04ec9ccb3fa8124ec56dfc1026567cbbc51aef", "@pascal-app/plugin-trees": "github:pascalorg/plugin-trees#56d978cd9b409b716207b3f3d269455d3cd6f067", "@pascal-app/viewer": "*", "@radix-ui/react-tooltip": "^1.2.8", @@ -724,7 +724,7 @@ "@pascal-app/nodes": ["@pascal-app/nodes@workspace:packages/nodes"], - "@pascal-app/plugin-streetscape": ["@pascal-app/plugin-streetscape@github:sudhir9297/streetscape-pascal-plugin#3c885bf", { "peerDependencies": { "@pascal-app/core": ">=0.9.1 <1", "@pascal-app/editor": ">=0.9.1 <1", "@pascal-app/viewer": ">=0.9.1 <1", "@react-three/fiber": "^9", "react": "^18 || ^19", "three": "^0.185", "zod": "^4", "zustand": "^5" } }, "sudhir9297-streetscape-pascal-plugin-3c885bf", "sha512-/O+vZjgpmc4bv5crJvU9OZmBIqM/i0ptyu2+t6zAS5QBkwontnnsGNNRobkTLNzMVUDW2vMS6JRuOxfxGnWW4Q=="], + "@pascal-app/plugin-streetscape": ["@pascal-app/plugin-streetscape@github:sudhir9297/streetscape-pascal-plugin#1c04ec9", { "peerDependencies": { "@pascal-app/core": ">=0.9.1 <1", "@pascal-app/editor": ">=0.9.1 <1", "@pascal-app/viewer": ">=0.9.1 <1", "@react-three/fiber": "^9", "react": "^18 || ^19", "three": "^0.185", "zod": "^4", "zustand": "^5" } }, "sudhir9297-streetscape-pascal-plugin-1c04ec9", "sha512-X7Zg7wi0ghZRcTtbH5LF6xye493uSZ2ft3AmAQBtguBCU6VCwCexA7pdKDr5AnVxX/JRj2s6JSd/OX4aIZ9Y6Q=="], "@pascal-app/plugin-trees": ["@pascal-app/plugin-trees@github:pascalorg/plugin-trees#56d978c", { "dependencies": { "@dgreenheck/ez-tree": "^1.1.0" }, "peerDependencies": { "@pascal-app/core": ">=0.9.1 <1", "@pascal-app/editor": ">=0.9.1 <1", "@pascal-app/viewer": ">=0.9.1 <1", "@react-three/fiber": "^9", "react": "^18 || ^19", "three": "^0.185", "zod": "^4", "zustand": "^5" } }, "pascalorg-plugin-trees-56d978c", "sha512-16VzWot1oadvxCPqsRwMJbaP0a3u5FESFy7F7++pY5wAAFq9JTFwzHvKAsllrY5TZ5TJ7Y5vSqvbmQk8sy8HaA=="],