3DStreet / 3dstreet

🚲🚶🚌 Web-based 3D visualization of streets using A-Frame
https://3dstreet.app
Other
256 stars 33 forks source link

implement `street-geo` component in Editor #526

Closed kfarr closed 3 months ago

kfarr commented 4 months ago

To add street-geo support to the Editor, first

How to display these in the scene / disable editing:

The street-geo component should be at the root. Use "Reference Layers" entity but instead rename this display name to "Geospatial Layers."

Other questions:

How does a user remove a map?

Select the map layer and delete it? if so, do we need to update the parent to reflect that the child was deleted? we can listen on the street-geo component if the child is removed, and then update the maps array to reflect the maptype that was just removed.

How does a user change the location of the maps?

This is a custom UI modal to allow for the selection of a location. https://www.figma.com/design/W9jid3A0jgssnIKBFEvG38/3DStreet-2022?node-id=6547-169536&t=bbv3JutJgAqMAqjd-4

This modal has already been started here: https://github.com/3DStreet/3dstreet-editor/pull/422/files#diff-105d9950bd2cd9c78fdb5f036fdfe8972f9e5e8ec1e21c8f7f89af92302ae93c

Note that we want to remove billing (pay wall) from this flow for the first version, we can add that later.

Algorush commented 3 months ago

I discovered that the aframe-loader-3dtitle-component is not the latest version. And it looks like the version used is not from the 3DStreet repository: https://github.com/3DStreet/aframe-loader-3dtiles-component by looking at the list of attributes in the code of the component in the minified version. Also 3dtiles are not updated when switching to Editor. No copyrightEl attribute and other things

kfarr commented 3 months ago

Yes you're right, it will all need to be updated and the working changes that we used for the glitch demo (like this one) brought to this repo

Algorush commented 3 months ago

So addtitional tasks here:

Algorush commented 3 months ago

How to display these in the scene / disable editing:

  • Properties panel should be disabled for entities with "autocreated" class.

That is, add a new feature in the Editor to hide the properties panel for entities with "autocreated" class.

kfarr commented 3 months ago

Properties panel should be disabled for entities with "autocreated" class.

That is, add a new feature in the Editor to hide the properties panel for entities with "autocreated" class.

No we do not want to hide it. We definitely want to show it but to make it disabled (user cannot edit it). Eventually user will have the ability to determine if an item should switch to be a manual object instead of autocreated

Algorush commented 3 months ago

Properties panel should be disabled for entities with "autocreated" class.

That is, add a new feature in the Editor to hide the properties panel for entities with "autocreated" class.

No we do not want to hide it. We definitely want to show it but to make it disabled (user cannot edit it). Eventually user will have the ability to determine if an item should switch to be a manual object instead of autocreated

Does aframe-inspector have an option to disable the ability to edit parameters? If not or if it has, what option is better to implement:

  1. Hide the button to open the right panel
  2. Leave the button and the ability to open the panel. Leave the position, rotation, scale fields for editing. And make the rest uneditable
  3. Or maybe another option?
kfarr commented 3 months ago

@Algorush let's ignore this issue for now, made a separate ticket for it: https://github.com/3DStreet/3dstreet/issues/539

Algorush commented 3 months ago

I'll store lat, long, height in a global STREET.coord ? That is, receive them from GeoModal window and save them in STREET.coord. When user click on the Layer cards mapbox/google3d, get coordinates from there and open map with these coordinates. And also when click on the button "Update with 3D Map" existing maps and STREET.coord value will be updated with new coords. This will also be useful later for saving coordinates in JSON.

kfarr commented 3 months ago

@Algorush I like the idea, but can we just put this in metadata instead of a new thing? Like how we fetch title?

Also what we're talking about could be called global state. Right now it's managed in multiple places so I'm not excited about adding another

kfarr commented 3 months ago

https://github.com/3DStreet/3dstreet/pull/540