release: v0.17.0
GitHub Pages / build (push) Canceled after 0s
GitHub Pages / deploy (push) Canceled after 0s
Docker image / meta (push) Successful in 24s
Docs Docker image / meta (push) Successful in 7s
Docker image / build (amd64, linux/amd64, ubuntu-latest) (push) Failing after 59s
Docs Docker image / build (amd64, linux/amd64, ubuntu-latest) (push) Failing after 30s
Docker image / merge (push) Canceled after 0s
Docs Docker image / merge (push) Canceled after 0s
Docker image / build (arm64, linux/arm64, ubuntu-24.04-arm) (push) Canceled after 0s
Docs Docker image / build (arm64, linux/arm64, ubuntu-24.04-arm) (push) Canceled after 0s

This commit is contained in:
Qiufeng
2026-08-19 22:09:49 +08:00
parent 9414048f9d
commit 84e9e7bff5
469 changed files with 19997 additions and 39561 deletions
+3 -5
View File
@@ -1,17 +1,15 @@
# 3D 全景节点插件
Infinite Canvas 画布节点插件:查看 360° 等距柱状(equirectangular)全景图,可拖拽旋转。可从上游图片节点自动取图。three.js 运行时从 CDN 按需加载,不打进插件体积。
MiragenFlow 画布节点插件:查看 360° 等距柱状(equirectangular)全景图,可拖拽旋转。可从上游图片节点自动取图。three.js 运行时从 CDN 按需加载,不打进插件体积。
## 构建
```bash
npm install
npm run build # 产物 dist/panorama.js,并同步到 web/public/plugins/panorama.js
npm run build # 产物 dist/panorama.js
npm run dev # watch
```
## 安装
画布 → 左上菜单「节点插件」→ 安装 URL 填 `/plugins/panorama.js`(或托管后的公网 URL)。连接一个全景图片节点到本节点即可查看。
构建后将节点定义作为应用源码的一部分注册。连接一个全景图片节点到本节点即可查看。
插件契约见 `plugins/canvas/README.md`。
+1 -1
View File
@@ -1,3 +1,3 @@
import { buildPlugin } from "@infinite-canvas/plugin-sdk/build";
import { buildPlugin } from "@miragenflow/plugin-sdk/build";
await buildPlugin(import.meta.url);
+3 -3
View File
@@ -8,13 +8,13 @@
"name": "canvas-plugin-panorama",
"version": "1.0.0",
"devDependencies": {
"@infinite-canvas/plugin-sdk": "file:../sdk",
"@miragenflow/plugin-sdk": "file:../sdk",
"@types/react": "19.1.12",
"typescript": "^5"
}
},
"../sdk": {
"name": "@infinite-canvas/plugin-sdk",
"name": "@miragenflow/plugin-sdk",
"version": "0.1.0",
"dev": true,
"devDependencies": {
@@ -26,7 +26,7 @@
"@types/react": ">=18"
}
},
"node_modules/@infinite-canvas/plugin-sdk": {
"node_modules/@miragenflow/plugin-sdk": {
"resolved": "../sdk",
"link": true
},
+2 -2
View File
@@ -3,14 +3,14 @@
"version": "1.1.0",
"private": true,
"type": "module",
"description": "Infinite Canvas 3D 全景节点插件",
"description": "MiragenFlow 3D 全景节点插件",
"scripts": {
"build": "node build.mjs",
"dev": "node build.mjs --watch",
"typecheck": "tsc --noEmit"
},
"devDependencies": {
"@infinite-canvas/plugin-sdk": "file:../sdk",
"@miragenflow/plugin-sdk": "file:../sdk",
"@types/react": "19.1.12",
"typescript": "^5"
}
+2 -2
View File
@@ -1,8 +1,8 @@
// 3D 全景节点:等距柱状(equirectangular)360° 全景查看器。
// 三种取图方式:① 从上游图片节点自动取图 ② 本地上传 ③ AI 生成(复用宿主内置生成面板)。
// three.js 从 CDN 按需加载,不打进 bundle。AI 生成通过 useBuiltinPanel 声明,结果写回本节点。
import { definePlugin, useCallback, useEffect, useRef, useState } from "@infinite-canvas/plugin-sdk";
import type { CanvasNodeContentProps, CanvasNodeContext } from "@infinite-canvas/plugin-sdk";
import { definePlugin, useCallback, useEffect, useRef, useState } from "@miragenflow/plugin-sdk";
import type { CanvasNodeContentProps, CanvasNodeContext } from "@miragenflow/plugin-sdk";
// three 从 CDN 动态加载(env.d.ts 里声明为 any),不打进 bundle
let threePromise: Promise<any> | undefined;
+1 -1
View File
@@ -5,7 +5,7 @@
"moduleResolution": "bundler",
"lib": ["dom", "dom.iterable", "esnext"],
"jsx": "react-jsx",
"jsxImportSource": "@infinite-canvas/plugin-sdk",
"jsxImportSource": "@miragenflow/plugin-sdk",
"strict": true,
"skipLibCheck": true,
"noEmit": true,