Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Billboard lack of Bounding Rectangle #10895

Closed
jiangheng90 opened this issue Nov 9, 2022 · 9 comments
Closed

Billboard lack of Bounding Rectangle #10895

jiangheng90 opened this issue Nov 9, 2022 · 9 comments

Comments

@jiangheng90
Copy link
Contributor

jiangheng90 commented Nov 9, 2022

Recently I developed on label dynamic placement 。For overlap calculation algorithms, It’s very hard for developers to verify the correction. So I have made a debug wireframe for each billboard. Just like this
68FBE468-730E-40BD-B2E3-419638140AF6
If this feature is needed, I can make a pull request. :p

@ggetz
Copy link
Contributor

ggetz commented Nov 9, 2022

Hi there @jiangheng90! That looks useful! The CesiumJS API has a pretty large surface area, so we want to be conservative about adding features. Would you be able to leave a snippet or a git patch link for those who could make use of this?

@jiangheng90
Copy link
Contributor Author

jiangheng90 commented Nov 9, 2022

@ggetz Ok I will leave a git patch link for it... and for new version development I am a little confused about my changes in engine did not work in sandcastle. Do u have a guide for this?

@ggetz
Copy link
Contributor

ggetz commented Nov 9, 2022

@jiangheng90 I think the biggest outstanding change is #10824, which altered the directory structure. Source files will now live in packages/engine/Source or packages/widgets/Source. To merge with an existing branch, merge the 1.99 tag to merge all changes before #10824. Then merge the post-workspaces tag and make sure any new files or changes are in the right directory.

More detailed instructions are written up on this forum post.

Thanks!

@jiangheng90
Copy link
Contributor Author

@ggetz I have seen the gulpfile today, Try to run npm run build-watch
There are several error and build fail. then I see the bundle part. for now all the source direct to node modules @cesium/engine and @ceisum/widget
So for changes I want merge to cesium, I need to start with tag 1.99 and this is the only way?

@ggetz
Copy link
Contributor

ggetz commented Nov 10, 2022

So for changes I want merge to cesium, I need to start with tag 1.99

That is the easiest way to merge, yes.

There are several error and build fail.

Could you list the errors here?

If you are still having trouble merging the latest changes, I think it will still be a help to leave a git back on an older version.

@jiangheng90
Copy link
Contributor Author

jiangheng90 commented Nov 10, 2022

@ggetz for npm run build-watch command. both my computer in home and company got error below

[21:53:07] Finished 'build' after 18 s
[21:53:07] Starting '<anonymous>'...
[21:53:07] '<anonymous>' errored after 527 ms
[21:53:07] TypeError: (intermediate value) is not iterable
    at file:///E:/cesium/gulpfile.js:162:44
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
[21:53:07] 'buildWatch' errored after 18 s

for error throw in gulpfile, it comes from

let [esmResult, iifeResult, cjsResult] = await bundleCesiumJs({
  minify: minify,
  path: outputDirectory,
  removePragmas: removePragmas,
  sourcemap: sourcemap,
  incremental: true,
});

the deconstruction throw it. I see the return of bundleCesiumJs is a object.

I have tried to fix this one with:

const bundleResult = await bundleCesiumJs({
  minify: minify,
  path: outputDirectory,
  removePragmas: removePragmas,
  sourcemap: sourcemap,
  incremental: true,
});
let esmResult = bundleResult.esmBundle;
let iifeResult= bundleResult.iifeBundle;
let cjsResult= bundleResult.nodeBundle;
...

then bundleWorkers comes another options.input undefined cause globby throw error

[22:14:17] Finished 'build' after 23 s
[22:14:17] Starting '<anonymous>'...
[22:14:17] '<anonymous>' errored after 786 ms
[22:14:17] TypeError: Patterns must be a string or an array of strings
    at assertPatternsInput (file:///E:/cesium/node_modules/globby/index.js:15:9)
    at toPatternsArray (file:///E:/cesium/node_modules/globby/index.js:21:2)
    at file:///E:/cesium/node_modules/globby/index.js:55:66        
    at bundleWorkers (file:///E:/cesium/build.js:420:25)
    at file:///E:/cesium/gulpfile.js:177:9
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
[22:14:17] 'buildWatch' errored after 23 s

then I stop on this error

I am not sure, Maybe problem is in node version or terminal. here is my develop environment
my home computer
node version: v14.17.5
npm version: 6.14.14
terminal: cmd on window 11

my working computer
node version: maybe after 16
npm version: maybe after 8.19
terminal: cmd on window 10

I am going to sleep now .Tomorrow I will continue keep track of this :)

@jiangheng90
Copy link
Contributor Author

jiangheng90 commented Nov 11, 2022

@ggetz I have make two patches
0001-add-debug-bounding-rectangle-for-billboards
and
0002-update-post-workerspaces

patch.zip

the first one I have tested in tag 1.99 and works fine
the second one is move changes to work space

the example is in new in 1.99
if it is works fine, you will see below.
screenshot

@jiangheng90
Copy link
Contributor Author

@ggetz for npm run build-watch command error, I move it to new issue #10897 for discussion

@ggetz
Copy link
Contributor

ggetz commented Nov 11, 2022

Thanks @jiangheng90! I'll close this issue since there's nothing actionable at the moment, though this thread will still come up in searches.

We'll follow up on the error in #10897.

@ggetz ggetz closed this as completed Nov 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants