瀏覽代碼

Merge remote-tracking branch 'refs/remotes/origin/stash' into migrate

master
Palash Bansal 1 年之前
父節點
當前提交
1782b876b4
No account linked to committer's email address

+ 3
- 0
.gitignore 查看文件



website/.vitepress/dist website/.vitepress/dist
website/.vitepress/cache website/.vitepress/cache

.DS_Store
experiments

+ 1
- 0
examples/tsconfig.json 查看文件

"isolatedModules": false, "isolatedModules": false,
"module": "es2020", "module": "es2020",
"noImplicitAny": true, "noImplicitAny": true,
"noImplicitOverride": false,
"declaration": false, "declaration": false,
"noImplicitThis": true, "noImplicitThis": true,
"noUnusedLocals": true, "noUnusedLocals": true,

+ 3188
- 3245
package-lock.json
文件差異過大導致無法顯示
查看文件


+ 14
- 10
package.json 查看文件

{ {
"name": "threepipe", "name": "threepipe",
"version": "0.0.33",
"version": "0.0.34",
"description": "A 3D viewer framework built on top of three.js in TypeScript with a focus on quality rendering, modularity and extensibility.", "description": "A 3D viewer framework built on top of three.js in TypeScript with a focus on quality rendering, modularity and extensibility.",
"main": "dist/index.js", "main": "dist/index.js",
"module": "dist/index.mjs", "module": "dist/index.mjs",
"types": "src/index.ts",
"types": "dist/index.d.ts",
"sources": "src/index.ts", "sources": "src/index.ts",
"browser": "dist/index.js", "browser": "dist/index.js",
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"./dist/": {
"import": "./dist/",
"require": "./dist/"
}
},
"type": "module", "type": "module",
"scripts": { "scripts": {
"compile": "rimraf lib && npm run compile:esm && npm run copy:css", "compile": "rimraf lib && npm run compile:esm && npm run copy:css",
"compile:esm": "tsc -p ./src", "compile:esm": "tsc -p ./src",
"copy:css": "copyfiles -u 1 \"src/**/*.css\" lib", "copy:css": "copyfiles -u 1 \"src/**/*.css\" lib",
"new:pack": "npm run prepare && clean-package && npm pack && clean-package restore", "new:pack": "npm run prepare && clean-package && npm pack && clean-package restore",
"new:publish": "npm run prepare && clean-package && npm publish && clean-package restore",
"new:publish": "git diff --exit-code --name-only HEAD * && npm run prepare && clean-package && npm publish && clean-package restore && git tag v$npm_package_version",
"build": "npm run update-version && npm run compile && vite build", "build": "npm run update-version && npm run compile && vite build",
"dev": "NODE_ENV=development vite build --watch", "dev": "NODE_ENV=development vite build --watch",
"build-examples": "tsc --project examples/tsconfig.build.json", "build-examples": "tsc --project examples/tsconfig.build.json",
"devDependencies", "devDependencies",
"optionalDependencies", "optionalDependencies",
"//" "//"
],
"replace": {
"main": "dist/index.js",
"module": "dist/index.mjs",
"browser": "dist/index.js",
"types": "dist/index.d.ts"
}
]
}, },
"files": [ "files": [
"dist", "dist",

+ 12
- 2
plugins/blend-importer/package.json 查看文件

{ {
"name": "@threepipe/plugin-blend-importer", "name": "@threepipe/plugin-blend-importer",
"description": "Basic importer for .blend file", "description": "Basic importer for .blend file",
"version": "0.0.2",
"version": "0.0.3",
"devDependencies": { "devDependencies": {
}, },
"dependencies": { "dependencies": {
"threepipe": "file:./../../src/" "threepipe": "file:./../../src/"
}, },
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"./dist/": {
"import": "./dist/",
"require": "./dist/"
}
},
"clean-package": { "clean-package": {
"remove": [ "remove": [
"clean-package", "clean-package",
], ],
"scripts": { "scripts": {
"new:pack": "npm run prepare && clean-package && npm pack && clean-package restore", "new:pack": "npm run prepare && clean-package && npm pack && clean-package restore",
"new:publish": "npm run prepare && clean-package && npm publish --access public && clean-package restore",
"new:publish": "git diff --exit-code --name-only HEAD * && npm run prepare && clean-package && npm publish --access public && clean-package restore && git tag v$npm_package_version",
"prepare": "npm run build && npm run docs", "prepare": "npm run build && npm run docs",
"build": "rimraf dist && vite build", "build": "rimraf dist && vite build",
"dev": "NODE_ENV=development vite build --watch", "dev": "NODE_ENV=development vite build --watch",

+ 12
- 2
plugins/blueprintjs/package.json 查看文件

{ {
"name": "@threepipe/plugin-blueprintjs", "name": "@threepipe/plugin-blueprintjs",
"description": "Blueprint.js UI Plugin for ThreePipe", "description": "Blueprint.js UI Plugin for ThreePipe",
"version": "0.2.0",
"version": "0.2.1",
"devDependencies": { "devDependencies": {
"uiconfig-blueprint": "^0.0.3" "uiconfig-blueprint": "^0.0.3"
}, },
"dependencies": { "dependencies": {
"threepipe": "file:./../../src/" "threepipe": "file:./../../src/"
}, },
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"./dist/": {
"import": "./dist/",
"require": "./dist/"
}
},
"type": "module", "type": "module",
"main": "dist/index.js", "main": "dist/index.js",
"module": "dist/index.mjs", "module": "dist/index.mjs",
], ],
"scripts": { "scripts": {
"new:pack": "npm run prepare && clean-package && npm pack && clean-package restore", "new:pack": "npm run prepare && clean-package && npm pack && clean-package restore",
"new:publish": "npm run prepare && clean-package && npm publish --access public && clean-package restore",
"new:publish": "git diff --exit-code --name-only HEAD * && npm run prepare && clean-package && npm publish --access public && clean-package restore && git tag v$npm_package_version",
"prepare": "npm run build && npm run docs", "prepare": "npm run build && npm run docs",
"build": "rimraf dist && vite build", "build": "rimraf dist && vite build",
"dev": "NODE_ENV=development vite build --watch", "dev": "NODE_ENV=development vite build --watch",

+ 12
- 2
plugins/configurator/package.json 查看文件

{ {
"name": "@threepipe/plugin-configurator", "name": "@threepipe/plugin-configurator",
"description": "Plugins for creating material and object configurators in threepipe.", "description": "Plugins for creating material and object configurators in threepipe.",
"version": "0.1.1",
"version": "0.1.2",
"devDependencies": { "devDependencies": {
}, },
"dependencies": { "dependencies": {
} }
} }
}, },
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"./dist/": {
"import": "./dist/",
"require": "./dist/"
}
},
"type": "module", "type": "module",
"main": "dist/index.js", "main": "dist/index.js",
"module": "dist/index.mjs", "module": "dist/index.mjs",
], ],
"scripts": { "scripts": {
"new:pack": "npm run prepare && clean-package && npm pack && clean-package restore", "new:pack": "npm run prepare && clean-package && npm pack && clean-package restore",
"new:publish": "npm run prepare && clean-package && npm publish --access public && clean-package restore",
"new:publish": "git diff --exit-code --name-only HEAD * && npm run prepare && clean-package && npm publish --access public && clean-package restore && git tag v$npm_package_version",
"prepare": "npm run build && npm run docs", "prepare": "npm run build && npm run docs",
"build": "rimraf dist && vite build", "build": "rimraf dist && vite build",
"dev": "NODE_ENV=development vite build --watch", "dev": "NODE_ENV=development vite build --watch",

+ 11
- 2
plugins/extra-importers/package.json 查看文件

{ {
"name": "@threepipe/plugins-extra-importers", "name": "@threepipe/plugins-extra-importers",
"description": "Extra Threepipe plugins for importing several file types.", "description": "Extra Threepipe plugins for importing several file types.",
"version": "0.2.0",
"version": "0.2.1",
"devDependencies": { "devDependencies": {
}, },
"dependencies": { "dependencies": {
} }
} }
}, },
"exports": {
".": {
"import": "./dist/index.mjs"
},
"./dist/": {
"import": "./dist/",
"require": "./dist/"
}
},
"type": "module", "type": "module",
"main": "dist/index.mjs", "main": "dist/index.mjs",
"module": "dist/index.mjs", "module": "dist/index.mjs",
], ],
"scripts": { "scripts": {
"new:pack": "npm run prepare && clean-package && npm pack && clean-package restore", "new:pack": "npm run prepare && clean-package && npm pack && clean-package restore",
"new:publish": "npm run prepare && clean-package && npm publish --access public && clean-package restore",
"new:publish": "git diff --exit-code --name-only HEAD * && npm run prepare && clean-package && npm publish --access public && clean-package restore && git tag v$npm_package_version",
"prepare": "npm run build && npm run docs", "prepare": "npm run build && npm run docs",
"build": "rimraf dist && vite build", "build": "rimraf dist && vite build",
"dev": "NODE_ENV=development vite build --watch", "dev": "NODE_ENV=development vite build --watch",

+ 2
- 2
plugins/gaussian-splatting/package-lock.json 查看文件

{ {
"name": "@threepipe/plugin-gaussian-splatting", "name": "@threepipe/plugin-gaussian-splatting",
"version": "0.2.0",
"version": "0.2.1",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@threepipe/plugin-gaussian-splatting", "name": "@threepipe/plugin-gaussian-splatting",
"version": "0.2.0",
"version": "0.2.1",
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"threepipe": "file:./../../src/" "threepipe": "file:./../../src/"

+ 13
- 2
plugins/gaussian-splatting/package.json 查看文件

{ {
"name": "@threepipe/plugin-gaussian-splatting", "name": "@threepipe/plugin-gaussian-splatting",
"description": "Gaussian Splatting for Threepipe", "description": "Gaussian Splatting for Threepipe",
"version": "0.2.1",
"version": "0.2.2",
"devDependencies": { "devDependencies": {
"comlink": "^4.4.1", "comlink": "^4.4.1",
"@types/emscripten": "^1.39.10" "@types/emscripten": "^1.39.10"
"dependencies": { "dependencies": {
"threepipe": "file:./../../src/" "threepipe": "file:./../../src/"
}, },
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js",
"types": "./src/index.d.ts"
},
"./dist/": {
"import": "./dist/",
"require": "./dist/"
}
},
"clean-package": { "clean-package": {
"remove": [ "remove": [
"clean-package", "clean-package",
], ],
"scripts": { "scripts": {
"new:pack": "npm run prepare && clean-package && npm pack && clean-package restore", "new:pack": "npm run prepare && clean-package && npm pack && clean-package restore",
"new:publish": "npm run prepare && clean-package && npm publish --access public && clean-package restore",
"new:publish": "git diff --exit-code --name-only HEAD * && npm run prepare && clean-package && npm publish --access public && clean-package restore && git tag v$npm_package_version",
"prepare": "npm run build && npm run docs", "prepare": "npm run build && npm run docs",
"build": "rimraf dist && vite build", "build": "rimraf dist && vite build",
"dev": "NODE_ENV=development vite build --watch", "dev": "NODE_ENV=development vite build --watch",

+ 12
- 2
plugins/geometry-generator/package.json 查看文件

{ {
"name": "@threepipe/plugin-geometry-generator", "name": "@threepipe/plugin-geometry-generator",
"description": "Geometry generator plugin to create updatable parametric objects/geometries.", "description": "Geometry generator plugin to create updatable parametric objects/geometries.",
"version": "0.3.0",
"version": "0.3.1",
"devDependencies": { "devDependencies": {
}, },
"dependencies": { "dependencies": {
"threepipe": "file:./../../src/" "threepipe": "file:./../../src/"
}, },
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"./dist/": {
"import": "./dist/",
"require": "./dist/"
}
},
"clean-package": { "clean-package": {
"remove": [ "remove": [
"clean-package", "clean-package",
], ],
"scripts": { "scripts": {
"new:pack": "npm run prepare && clean-package && npm pack && clean-package restore", "new:pack": "npm run prepare && clean-package && npm pack && clean-package restore",
"new:publish": "npm run prepare && clean-package && npm publish --access public && clean-package restore",
"new:publish": "git diff --exit-code --name-only HEAD * && npm run prepare && clean-package && npm publish --access public && clean-package restore && git tag v$npm_package_version",
"prepare": "npm run build && npm run docs", "prepare": "npm run build && npm run docs",
"build": "rimraf dist && vite build", "build": "rimraf dist && vite build",
"dev": "NODE_ENV=development vite build --watch", "dev": "NODE_ENV=development vite build --watch",

+ 12
- 2
plugins/gltf-transform/package.json 查看文件

{ {
"name": "@threepipe/plugin-gltf-transform", "name": "@threepipe/plugin-gltf-transform",
"description": "Utility plugins for threepipe using gltf-transform to optimize/compress glTF files.", "description": "Utility plugins for threepipe using gltf-transform to optimize/compress glTF files.",
"version": "0.1.0",
"version": "0.1.1",
"devDependencies": { "devDependencies": {
"@gltf-transform/core": "3.2.1", "@gltf-transform/core": "3.2.1",
"@gltf-transform/extensions": "3.2.1" "@gltf-transform/extensions": "3.2.1"
"dependencies": { "dependencies": {
"threepipe": "file:./../../src/" "threepipe": "file:./../../src/"
}, },
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"./dist/": {
"import": "./dist/",
"require": "./dist/"
}
},
"clean-package": { "clean-package": {
"remove": [ "remove": [
"clean-package", "clean-package",
], ],
"scripts": { "scripts": {
"new:pack": "npm run prepare && clean-package && npm pack && clean-package restore", "new:pack": "npm run prepare && clean-package && npm pack && clean-package restore",
"new:publish": "npm run prepare && clean-package && npm publish --access public && clean-package restore",
"new:publish": "git diff --exit-code --name-only HEAD * && npm run prepare && clean-package && npm publish --access public && clean-package restore && git tag v$npm_package_version",
"prepare": "npm run build && npm run docs", "prepare": "npm run build && npm run docs",
"build": "rimraf dist && vite build", "build": "rimraf dist && vite build",
"dev": "NODE_ENV=development vite build --watch", "dev": "NODE_ENV=development vite build --watch",

+ 12
- 2
plugins/network/package.json 查看文件

{ {
"name": "@threepipe/plugin-network", "name": "@threepipe/plugin-network",
"description": "Network/AWS/Cloud related plugins for threepipe", "description": "Network/AWS/Cloud related plugins for threepipe",
"version": "0.1.0",
"version": "0.1.1",
"devDependencies": { "devDependencies": {
}, },
"dependencies": { "dependencies": {
"threepipe": "file:./../../src/", "threepipe": "file:./../../src/",
"aws4fetch": "^1.0.18" "aws4fetch": "^1.0.18"
}, },
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"./dist/": {
"import": "./dist/",
"require": "./dist/"
}
},
"clean-package": { "clean-package": {
"remove": [ "remove": [
"clean-package", "clean-package",
], ],
"scripts": { "scripts": {
"new:pack": "npm run prepare && clean-package && npm pack && clean-package restore", "new:pack": "npm run prepare && clean-package && npm pack && clean-package restore",
"new:publish": "npm run prepare && clean-package && npm publish --access public && clean-package restore",
"new:publish": "git diff --exit-code --name-only HEAD * && npm run prepare && clean-package && npm publish --access public && clean-package restore && git tag v$npm_package_version",
"prepare": "npm run build && npm run docs", "prepare": "npm run build && npm run docs",
"build": "rimraf dist && vite build", "build": "rimraf dist && vite build",
"dev": "NODE_ENV=development vite build --watch", "dev": "NODE_ENV=development vite build --watch",

+ 11
- 1
plugins/plugin-template-rollup/package.json 查看文件

"threepipe": "file:./../../src/", "threepipe": "file:./../../src/",
"@threepipe/plugin-tweakpane": "file:./../tweakpane/src/" "@threepipe/plugin-tweakpane": "file:./../tweakpane/src/"
}, },
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"./dist/": {
"import": "./dist/",
"require": "./dist/"
}
},
"clean-package": { "clean-package": {
"remove": [ "remove": [
"clean-package", "clean-package",
], ],
"scripts": { "scripts": {
"new:pack": "npm run prepare && clean-package && npm pack && clean-package restore", "new:pack": "npm run prepare && clean-package && npm pack && clean-package restore",
"new:publish": "npm run prepare && clean-package && npm publish --access public && clean-package restore",
"new:publish": "git diff --exit-code --name-only HEAD * && npm run prepare && clean-package && npm publish --access public && clean-package restore && git tag v$npm_package_version",
"prepare": "npm run build && npm run docs", "prepare": "npm run build && npm run docs",
"build": "rimraf dist && NODE_ENV=production rollup -c", "build": "rimraf dist && NODE_ENV=production rollup -c",
"dev": "rollup -c -w", "dev": "rollup -c -w",

+ 11
- 1
plugins/plugin-template-vite/package.json 查看文件

} }
} }
}, },
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"./dist/": {
"import": "./dist/",
"require": "./dist/"
}
},
"type": "module", "type": "module",
"main": "dist/index.js", "main": "dist/index.js",
"module": "dist/index.mjs", "module": "dist/index.mjs",
], ],
"scripts": { "scripts": {
"new:pack": "npm run prepare && clean-package && npm pack && clean-package restore", "new:pack": "npm run prepare && clean-package && npm pack && clean-package restore",
"new:publish": "npm run prepare && clean-package && npm publish --access public && clean-package restore",
"new:publish": "git diff --exit-code --name-only HEAD * && npm run prepare && clean-package && npm publish --access public && clean-package restore && git tag v$npm_package_version",
"prepare": "npm run build && npm run docs", "prepare": "npm run build && npm run docs",
"build": "rimraf dist && vite build", "build": "rimraf dist && vite build",
"dev": "NODE_ENV=development vite build --watch", "dev": "NODE_ENV=development vite build --watch",

+ 12
- 2
plugins/svg-renderer/package.json 查看文件

{ {
"name": "@threepipe/plugin-svg-renderer", "name": "@threepipe/plugin-svg-renderer",
"description": "Plugins for SVG Rendering of 3d objects for Threepipe", "description": "Plugins for SVG Rendering of 3d objects for Threepipe",
"version": "0.2.1",
"version": "0.2.2",
"devDependencies": { "devDependencies": {
"@svgdotjs/svg.js": "^3.2.0", "@svgdotjs/svg.js": "^3.2.0",
"@svgdotjs/svg.topath.js": "^2.0.3", "@svgdotjs/svg.topath.js": "^2.0.3",
"dependencies": { "dependencies": {
"threepipe": "file:./../../src/" "threepipe": "file:./../../src/"
}, },
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"./dist/": {
"import": "./dist/",
"require": "./dist/"
}
},
"clean-package": { "clean-package": {
"remove": [ "remove": [
"clean-package", "clean-package",
], ],
"scripts": { "scripts": {
"new:pack": "npm run prepare && clean-package && npm pack && clean-package restore", "new:pack": "npm run prepare && clean-package && npm pack && clean-package restore",
"new:publish": "npm run prepare && clean-package && npm publish --access public && clean-package restore",
"new:publish": "git diff --exit-code --name-only HEAD * && npm run prepare && clean-package && npm publish --access public && clean-package restore && git tag v$npm_package_version",
"prepare": "npm run build && npm run docs", "prepare": "npm run build && npm run docs",
"build": "rimraf dist && vite build", "build": "rimraf dist && vite build",
"dev": "NODE_ENV=development vite build --watch", "dev": "NODE_ENV=development vite build --watch",

+ 12
- 2
plugins/tweakpane-editor/package.json 查看文件

{ {
"name": "@threepipe/plugin-tweakpane-editor", "name": "@threepipe/plugin-tweakpane-editor",
"description": "Tweakpane Editor Plugin for ThreePipe", "description": "Tweakpane Editor Plugin for ThreePipe",
"version": "0.3.0",
"version": "0.3.1",
"devDependencies": { "devDependencies": {
"tippy.js": "^6.3.7", "tippy.js": "^6.3.7",
"treejs": "git://github.com/repalash/treejs.git#d303016bb74e75725d13e97291ac1d4727985918" "treejs": "git://github.com/repalash/treejs.git#d303016bb74e75725d13e97291ac1d4727985918"
"threepipe": "file:./../../src/", "threepipe": "file:./../../src/",
"@threepipe/plugin-tweakpane": "file:./../tweakpane/src/" "@threepipe/plugin-tweakpane": "file:./../tweakpane/src/"
}, },
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"./dist/": {
"import": "./dist/",
"require": "./dist/"
}
},
"clean-package": { "clean-package": {
"remove": [ "remove": [
"clean-package", "clean-package",
], ],
"scripts": { "scripts": {
"new:pack": "npm run prepare && clean-package && npm pack && clean-package restore", "new:pack": "npm run prepare && clean-package && npm pack && clean-package restore",
"new:publish": "npm run prepare && clean-package && npm publish --access public && clean-package restore",
"new:publish": "git diff --exit-code --name-only HEAD * && npm run prepare && clean-package && npm publish --access public && clean-package restore && git tag v$npm_package_version",
"prepare": "npm run build && npm run docs", "prepare": "npm run build && npm run docs",
"build": "rimraf dist && vite build", "build": "rimraf dist && vite build",
"dev": "NODE_ENV=development vite build --watch", "dev": "NODE_ENV=development vite build --watch",

+ 12
- 2
plugins/tweakpane/package.json 查看文件

{ {
"name": "@threepipe/plugin-tweakpane", "name": "@threepipe/plugin-tweakpane",
"description": "Tweakpane UI Plugin for ThreePipe", "description": "Tweakpane UI Plugin for ThreePipe",
"version": "0.4.1",
"version": "0.4.2",
"devDependencies": { "devDependencies": {
"tweakpane-image-plugin": "https://github.com/repalash/tweakpane-image-plugin/releases/download/v1.1.404/package.tgz", "tweakpane-image-plugin": "https://github.com/repalash/tweakpane-image-plugin/releases/download/v1.1.404/package.tgz",
"uiconfig-tweakpane": "^0.0.8" "uiconfig-tweakpane": "^0.0.8"
"dependencies": { "dependencies": {
"threepipe": "file:./../../src/" "threepipe": "file:./../../src/"
}, },
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js"
},
"./dist/": {
"import": "./dist/",
"require": "./dist/"
}
},
"type": "module", "type": "module",
"main": "dist/index.js", "main": "dist/index.js",
"module": "dist/index.mjs", "module": "dist/index.mjs",
], ],
"scripts": { "scripts": {
"new:pack": "npm run prepare && clean-package && npm pack && clean-package restore", "new:pack": "npm run prepare && clean-package && npm pack && clean-package restore",
"new:publish": "npm run prepare && clean-package && npm publish --access public && clean-package restore",
"new:publish": "git diff --exit-code --name-only HEAD * && npm run prepare && clean-package && npm publish --access public && clean-package restore && git tag v$npm_package_version",
"prepare": "npm run build && npm run docs", "prepare": "npm run build && npm run docs",
"build": "rimraf dist && vite build", "build": "rimraf dist && vite build",
"dev": "NODE_ENV=development vite build --watch", "dev": "NODE_ENV=development vite build --watch",

+ 13
- 1
src/plugins/animation/PopmotionPlugin.ts 查看文件

} }
return true return true
} }
// todo: test boolean
if (options.from === undefined) {
console.warn('from is undefined', options)
resolve()
return
}
const isBool = typeof options.from === 'boolean'
if (isBool) {
options.from = options.from ? 1 : 0 as any
options.to = options.to ? 1 : 0 as any
}
const opts: AnimationOptions<V> = { const opts: AnimationOptions<V> = {
driver: this.defaultDriver, driver: this.defaultDriver,
...options, ...options,
onUpdate: !isBool ? options.onUpdate : undefined,
onComplete: ()=>{ onComplete: ()=>{
try { try {
if (isBool) options.onUpdate?.(options.to as any)
options.onComplete && options.onComplete() options.onComplete && options.onComplete()
} catch (e: any) { } catch (e: any) {
if (!end2()) return if (!end2()) return
resolve() resolve()
}, },
} }
// todo: support boolean using timeout.
const anim = animate(opts) const anim = animate(opts)
this.animations[uuid]._stop = anim.stop this.animations[uuid]._stop = anim.stop
this.animations[uuid].options = opts this.animations[uuid].options = opts

+ 7
- 0
src/plugins/pipeline/GBufferPlugin.ts 查看文件

this.target.texture[0].name = 'gbufferDepthNormal' this.target.texture[0].name = 'gbufferDepthNormal'
this.target.texture[1].name = 'gbufferFlags' this.target.texture[1].name = 'gbufferFlags'
this.textures = this.target.texture this.textures = this.target.texture

// todo flag buffer filtering?
// const flagTexture = this.flagsTexture
// flagTexture.generateMipmaps = false
// flagTexture.minFilter = NearestFilter
// flagTexture.magFilter = NearestFilter

} else { } else {
this.target.texture.name = 'gbufferDepthNormal' this.target.texture.name = 'gbufferDepthNormal'
this.textures.push(this.target.texture) this.textures.push(this.target.texture)

+ 10
- 4
src/utils/animation.ts 查看文件

if (typeof target?.setDirty === 'function') target.setDirty() if (typeof target?.setDirty === 'function') target.setDirty()
setDirty?.() setDirty?.()
} }
if (v && typeof v.copy === 'function')
const isBool = typeof v === 'boolean'
if (v && v.isColor)
return (a: any) => {
v.set(a)
dirty()
}
else if (v && typeof v.copy === 'function')
return (a: any) => { return (a: any) => {
v.copy(a) v.copy(a)
dirty() dirty()
} }
else else
return (a: V)=>{ return (a: V)=>{
target[key] = a
target[key] = !isBool ? a : !!a
dirty() dirty()
} }
} }


export async function animateTarget<V>(target: any, key: string, options: AnimationOptions<V>, animations?: AnimateResult[]) {
export async function animateTarget<V>(target: any, key: string, options: AnimationOptions<V>, animations?: AnimateResult[], forceCurrent = false) {
if (!(key in target)) { if (!(key in target)) {
console.error('invalid key', key, target) console.error('invalid key', key, target)
} }
const setter = makeSetterFor(target, key) const setter = makeSetterFor(target, key)
const fromVal = target[key]
const fromVal = forceCurrent || options.from === undefined ? target[key] : options.from
const onUpdate = (val: V)=>{ const onUpdate = (val: V)=>{
setter(val) setter(val)
options.onUpdate && options.onUpdate(val) options.onUpdate && options.onUpdate(val)

+ 1
- 1
src/viewer/version.ts 查看文件

export const VERSION = '0.0.33'
export const VERSION = '0.0.34'

+ 1
- 0
tsconfig.json 查看文件

"declaration": true, "declaration": true,
"declarationMap": true, "declarationMap": true,
"declarationDir": "dist", "declarationDir": "dist",
"skipLibCheck": true,
"noImplicitThis": true, "noImplicitThis": true,
"noUnusedLocals": true, "noUnusedLocals": true,
"noUnusedParameters": true, "noUnusedParameters": true,

Loading…
取消
儲存