-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
22 changed files
with
597 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
.DS_Store | ||
.merlin | ||
.idea/ | ||
.vscode/ | ||
jest_0/ | ||
reference/ | ||
node_modules/ | ||
mine/ | ||
|
||
coverage | ||
|
||
dist/ | ||
|
||
npm-debug | ||
|
||
.bsb.lock | ||
|
||
yarn.lock | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
var gulp = require("gulp"); | ||
var path = require("path"); | ||
var publish = require("meta3d-tool-publish") | ||
|
||
gulp.task("publish_local_env", function (done) { | ||
publish.publishContribute( | ||
"local", | ||
path.join(__dirname, "package.json"), | ||
path.join(__dirname, "dist/static/js", "main.js") | ||
).then(() => { | ||
done() | ||
}) | ||
}); | ||
|
||
gulp.task("publish_production_env", function (done) { | ||
publish.publishContribute( | ||
"production", | ||
path.join(__dirname, "package.json"), | ||
path.join(__dirname, "dist/static/js", "main.js") | ||
).then(() => { | ||
done() | ||
}) | ||
}); | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{ | ||
"name": "meta3d-ui-control-scene-view", | ||
"version": "0.20.0", | ||
"publisher": "0xf63e1991A343814EdE505D7cfC368615EAe75307", | ||
"displayName": "scene view", | ||
"description": "", | ||
"protocol": { | ||
"name": "meta3d-ui-control-scene-view-protocol" | ||
}, | ||
"license": "MIT", | ||
"scripts": { | ||
"watch": "tsc -w -noEmit", | ||
"webpack": "webpack --config webpack.config.js", | ||
"meta3d:publish_dev": "cross-env NODE_ENV=development npm run webpack && gulp publish_local_env", | ||
"meta3d:publish_pro": "cross-env NODE_ENV=production npm run webpack && gulp publish_production_env" | ||
}, | ||
"keywords": [], | ||
"dependencies": { | ||
"meta3d-type": "^0.20.0", | ||
"meta3d-ui-control-scene-view-protocol": "^0.20.0", | ||
"meta3d-editor-whole-protocol": "^0.20.0" | ||
}, | ||
"devDependencies": { | ||
"clean-webpack-plugin": "^4.0.0", | ||
"cross-env": "^7.0.3", | ||
"cz-customizable": "^6.3.0", | ||
"gulp": "^4.0.2", | ||
"meta3d-tool-publish": "^0.20.0", | ||
"source-map-loader": "^3.0.0", | ||
"ts-loader": "^9.2.6", | ||
"typescript": "^4.2.3", | ||
"webpack": "^5.62.1", | ||
"webpack-cli": "^4.9.1" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
import { getContribute as getContributeMeta3D } from "meta3d-type" | ||
import { uiControlName, textureID, state as uiControlState, inputData, outputData, dragDropType, dragDropData } from "meta3d-ui-control-scene-view-protocol" | ||
import { uiControlContribute } from "meta3d-ui-protocol/src/contribute/UIControlContributeType" | ||
import { changeToStrictlyNull, getFBORect } from "meta3d-ui-control-view-utils/src/Main" | ||
import { service as editorWholeService } from "meta3d-editor-whole-protocol/src/service/ServiceType" | ||
import { service as renderService } from "meta3d-editor-sceneview-render-protocol/src/service/ServiceType" | ||
// import { actionName as dropGlbActionName } from "meta3d-action-drop-glb-to-sceneview-protocol" | ||
import { getExn, getWithDefault, isNullable, map } from "meta3d-commonlib-ts/src/NullableUtils" | ||
// import { service as eventService } from "meta3d-event-protocol/src/service/ServiceType" | ||
|
||
export let getContribute: getContributeMeta3D<uiControlContribute<inputData, outputData>> = (api) => { | ||
return { | ||
uiControlName: uiControlName, | ||
func: (meta3dState, | ||
{ | ||
rect, | ||
label, | ||
} | ||
) => { | ||
let { ui, getPluggablePackageService } = getExn(api.getPackageService<editorWholeService>(meta3dState, "meta3d-ui-protocol")) | ||
let { beginWindow, endWindow, beginChild, endChild, setNextWindowRect, getFBOTexture, addFBOTexture, | ||
getWindowBarHeight, | ||
// setUIControlState, | ||
handleDragDropTarget | ||
} = ui | ||
|
||
|
||
meta3dState = setNextWindowRect(meta3dState, rect) | ||
|
||
meta3dState = beginWindow(meta3dState, label) | ||
|
||
meta3dState = beginChild(meta3dState, "Child_SceneView") | ||
|
||
// let fboRect = getFBORect(rect, getWindowBarHeight(meta3dState)) | ||
let fboRect = getFBORect(rect, 0) | ||
// fboRect = { | ||
// x: fboRect.x - 5, | ||
// y: fboRect.y - 5, | ||
// width: fboRect.width + 10, | ||
// height: fboRect.height + 10, | ||
// } | ||
|
||
|
||
meta3dState = addFBOTexture(meta3dState, changeToStrictlyNull(getFBOTexture, meta3dState, textureID), fboRect) | ||
|
||
|
||
meta3dState = endChild(meta3dState) | ||
|
||
|
||
// let { handleDragDropTarget } = api.getExtensionService<service>(meta3dState, "meta3d-ui-protocol") | ||
|
||
/*! | ||
* refer to https://github.com/ocornut/imgui/issues/1771 | ||
*/ | ||
|
||
let d = handleDragDropTarget<dragDropData>(meta3dState, dragDropType) | ||
meta3dState = d[0] | ||
let data = d[1] | ||
|
||
|
||
meta3dState = endWindow(meta3dState) | ||
|
||
|
||
|
||
meta3dState = getWithDefault( | ||
map((renderService) => { | ||
return renderService.setViewRect(meta3dState, fboRect) | ||
}, getPluggablePackageService<renderService>(meta3dState, "meta3d-editor-sceneview-render-protocol")), | ||
meta3dState | ||
) | ||
|
||
|
||
|
||
// let { trigger } = api.getExtensionService<eventService>(meta3dState, "meta3d-event-protocol") | ||
|
||
// if (!isNullable(data)) { | ||
// return trigger(meta3dState, "meta3d-event-protocol", dropGlbActionName, getExn(data)).then(meta3dState => [meta3dState, null]) | ||
// } | ||
|
||
return Promise.resolve([meta3dState, null]) | ||
}, | ||
init: (meta3dState) => Promise.resolve(meta3dState) | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
{ | ||
"compilerOptions": { | ||
"target": "ES6", | ||
"module": "ES6", | ||
"moduleResolution": "node", | ||
"sourceMap": true, | ||
"resolveJsonModule": true, | ||
"esModuleInterop": true, | ||
"jsx": "react", | ||
// "noEmit": true, | ||
// "noUnusedLocals": true, | ||
// "noUnusedParameters": true, | ||
"noImplicitReturns": true, | ||
"lib": [ | ||
"DOM", | ||
"ESNext", | ||
], | ||
"types": [], | ||
"strict": true | ||
}, | ||
"include": [ | ||
"./src" | ||
] | ||
} |
64 changes: 64 additions & 0 deletions
64
contributes/meta3d-ui-control-scene-view/webpack.config.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
const path = require('path'); | ||
const { CleanWebpackPlugin } = require('clean-webpack-plugin'); | ||
|
||
module.exports = { | ||
entry: "./src/Main.ts", | ||
mode: process.env.NODE_ENV.trim() == 'production' ? 'production' : 'development', | ||
output: { | ||
path: path.resolve(__dirname, 'dist'), | ||
filename: 'static/js/[name].js', | ||
library: { | ||
name: 'Contribute', | ||
type: 'window', | ||
}, | ||
}, | ||
|
||
// Enable sourcemaps for debugging webpack's output. | ||
// devtool: "source-map", | ||
|
||
resolve: { | ||
extensions: ['.ts', '.tsx', '.js', '.jsx', '.scss'], | ||
modules: ['node_modules'] | ||
}, | ||
|
||
module: { | ||
rules: [ | ||
// All files with a '.ts' or '.tsx' extension will be handled by 'awesome-typescript-loader'. | ||
{ | ||
test: /\.tsx?$/, | ||
exclude: /node_modules/, | ||
use: "ts-loader" | ||
}, | ||
// All output '.js' files will have any sourcemaps re-processed by 'source-map-loader'. | ||
{ | ||
enforce: 'pre', | ||
test: /\.js$/, | ||
loader: "source-map-loader" | ||
}, | ||
] | ||
}, | ||
plugins: [ | ||
/** | ||
* All files inside webpack's output.path directory will be removed once, but the | ||
* directory itself will not be. If using webpack 4+'s default configuration, | ||
* everything under <PROJECT_DIR>/dist/ will be removed. | ||
* Use cleanOnceBeforeBuildPatterns to override this behavior. | ||
* | ||
* During rebuilds, all webpack assets that are not used anymore | ||
* will be removed automatically. | ||
* | ||
* See `Options and Defaults` for information | ||
*/ | ||
new CleanWebpackPlugin(), | ||
// new HtmlWebpackPlugin({ | ||
// template: './user.html', | ||
// filename: 'user.html', | ||
// }), | ||
], | ||
// When importing a module whose path matches one of the following, just | ||
// assume a corresponding global variable exists and use that instead. | ||
// This is important because it allows us to avoid bundling all of our | ||
// dependencies, which allows browsers to cache those libraries between builds. | ||
externals: { | ||
} | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
19 changes: 19 additions & 0 deletions
19
protocols/contribute_protocols/meta3d-ui-control-scene-view-protocol/.gitignore
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
.DS_Store | ||
.merlin | ||
.idea/ | ||
.vscode/ | ||
jest_0/ | ||
reference/ | ||
node_modules/ | ||
mine/ | ||
|
||
coverage | ||
|
||
dist/ | ||
|
||
npm-debug | ||
|
||
.bsb.lock | ||
|
||
yarn.lock | ||
|
45 changes: 45 additions & 0 deletions
45
protocols/contribute_protocols/meta3d-ui-control-scene-view-protocol/gulpfile.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
var gulp = require("gulp"); | ||
var path = require("path"); | ||
var publish = require("meta3d-tool-publish-protocol") | ||
|
||
gulp.task("publish_local_env", function (done) { | ||
publish.publishContributeProtocol( | ||
"local", | ||
path.join(__dirname, "package.json"), | ||
path.join(__dirname, "icon.png") | ||
).then(() => { | ||
done() | ||
}) | ||
}); | ||
|
||
gulp.task("publish_production_env", function (done) { | ||
publish.publishContributeProtocol( | ||
"production", | ||
path.join(__dirname, "package.json"), | ||
path.join(__dirname, "icon.png") | ||
).then(() => { | ||
done() | ||
}) | ||
}); | ||
|
||
gulp.task("publishConfig_local_env", function (done) { | ||
publish.publishContributeProtocolConfig( | ||
"local", | ||
path.join(__dirname, "package.json"), | ||
path.join(__dirname, "dist/static/js", "main.js") | ||
).then(() => { | ||
done() | ||
}) | ||
}); | ||
|
||
gulp.task("publishConfig_production_env", function (done) { | ||
publish.publishContributeProtocolConfig( | ||
"production", | ||
path.join(__dirname, "package.json"), | ||
path.join(__dirname, "dist/static/js", "main.js") | ||
).then(() => { | ||
done() | ||
}) | ||
}); | ||
|
||
|
Binary file added
BIN
+3.68 KB
protocols/contribute_protocols/meta3d-ui-control-scene-view-protocol/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.