Skip to main content

13 posts tagged with "development"

View All Tags

· One min read
RED

New Features

  • Extend plugin API to support get query

    Now plugins are able to get the query parameters in the URL through the API:

    reearth.viewport.query: Record<string, string>

    Developed by: Shaun
    Special thanks: rot 1024

  • Extend plugin API to support cross-extension communication

    communication

    Now Re:Earth supports communication between plugins’ widgets and blocks through the API:

    type PluginExtensionInstance = {
    id: string;
    pluginId: string;
    name: string;
    extensionId: string;
    extensionType: "widget" | "block";
    };

    reearth.plugins.instances: PluginExtensionInstance[]
    reearth.plugins.postMessage(id: string; message: any)
    reearth.on("pluginmessage", (e: { data: any, sender: string }) => {})

    Developed by: Shaun
    Special thanks: Kyle Waite, rot 1024

Improvements

  • Improve unnecessary loading the globe image

    Developed by: Keiya Sasaki

Bug Fixes

  • Navigator widget now supports the 2D scene

    FIxed by: Keiya Sasaki

Internal

  • Dependency upgrades

    Developed by: Kyle Waite

· 2 min read
RED

New Features

  • Reorganize terrain settings / Support Cesium Ion Terrain

    terrain

    The Terrain setup UI has been reorganized to make terrain-related settings have been consolidated into a single location for easier configuration. Also, it is also now possible to load terrains uploaded to Cesium Ion.

    Developed by: rot 1024
    Special thanks: Chauhan Piyush

  • Extend plugin API supports move widget

    position

    Now plugin developers can change the plugin location by API like:

    reearth.widget.moveTo: ({
    zone: "oute" | "inner",
    section: "left" | "center" | "right",
    area: "top" | "middle" | "bottom",
    method?: "insert" | "append", // "append" as default
    }) => void;
    caution

    Widget will get reload after set position. It will be improved in the future.

    Developed by: Shaun
    Special thanks: Kyle Waite, rot 1024

  • Extend plugin API supports close widget

    Enable the plugin to close the main UI widget by using an API like reearth.ui.close: () => void;

    Developed by: Shaun Special thanks: rot 1024

  • Extend plugin API event with modalclose popupclose

    Add events with modalclose and popupclose.

    Developed by: Shaun
    Designed by: rot 1024

  • Extend plugin API supports getting viewport's size

    The plugin can get the size of Re:Earth viewport through this API, and also plugin can also add an event listener on the viewport’s resize event (resize).

    Developed by: Shaun
    Designed by: rot 1024

  • Latitude and longitude can now be obtained from screen coordinates via the plugin API

    reearth.scene.getLocationFromScreen(x: number, y: number, withTerrain?: boolean): LatLngHeight | undefined

    Developed by: Shaun
    Designed by: rot 1024

  • Plugin API can now retrieve whether the current screen is an editor or a public screen

    reearth.scene.inEditor: boolean

    Developed by: Shaun
    Designed by: rot 1024

Bug Fixes

  • Alignment issues in Widget Align System

    FIxed by: Kyle Waite

  • Cannot input camera altitude less than 500 with camera pane

    Developed by: Shaun

· One min read
RED

New Features

  • (For plugin developers) Add plugin API modal & popup

    modal-and-popup

    Now plugin developers can use modal & popup with reearth.modal, reearth.popup ( similar to reearth.ui).

    Developed by: Shaun
    Designed by: rot 1024
    Special thanks: Kyle Waite, rot 1024

  • Add a navigator as a built-in widget

    navigator

    Developed by: Keiya Sasaki
    Designed by: Keiya Sasaki
    Special thanks: Kyle Waite, rot 1024

  • Zoom to Selected Layer

    zoom-to

    Sometimes, it is difficult to find where is the layer we add to the scene. Now with this new feature, Re:Earth can zoom to the layer you selected.

    Developed by: nour Al Ali Designed by: Red
    Special thanks: Kyle Waite, Shaun

  • Add option to allow camera to enter the earth's surface

    underground

    Developed by: Kyle Waite
    Designed by: Kyle Waite

Bug Fixes

  • Fix marker extrude line disappear

    extrude

    Developed by: Shaun

Internal

  • Update Cesium to v1.98.1

    Developed by: Kyle Waite

· 2 min read
RED

New Features

  • 3D OSM building tiles

    osm

    OSM Buildings is a 3D buildings layer covering the entire world. It's available as a 3D Tileset on Cesium.
    We modified Re:Earth back end in a way that allows the user to add OSM building 3d Tileset as a layer in his project by providing him with an interface to choose which tiles to show on the map.

    Developed by: nour Al Ali
    Designed by: Red
    Special thanks: Kyle Waite, rot 1024

  • Builtin timeline widget

    timeline

    We build a built-in timeline widget in Re:Earth. This widget has a simpler UI and it can also be applied to the align system.

    Developed by: Keiya Sasaki
    Designed by: Red
    Special thanks: Kyle Waite, rot 1024

  • Extend plugin API to capture a screen

    capture

    This feature enables the plugin to get the image of the map as a data.

    Developed by: Shaun
    Designed by: Shaun
    Special thanks: Kyle Waite, rot 1024

  • Add overlay warning to the Earth editor if the browser width is too narrow

    smallwindow

    When the browser comes smaller than 900px wide, it will be quite difficult to use Re:Earth editor page. We recommend using a large browser size for a better experience. So we add an overlay warning to avoid the error happening. Note that this feature does not work on published projects and can continue to be viewed on smartphones.

    Developed by: Kyle Waite
    Designed by: Red

Improves

  • Small update to dashboard UI/UX and add marketplace button

    Developed by: Kyle Waite

Bug Fixes

  • Project creation not creating a scene before earth editor becomes accessible

    Developed by: Kyle Waite

  • Device settings menu icon getting squished

    Developed by: Kyle Waite

Internal

  • Update Cesium to v1.96

    Developed by: rot 1024

· One min read
RED

New Features

  • Add mouse events to plugin API

    Untitled

    This feature extends plugin API events with multiple mouse events: reearth.on("click", e => { console.log(e.x, e.y); }) For details, check the plugin API type definitions.

    Developed by: Shaun
    Designed by: Shaun
    Special thanks: Kyle Waite, rot 1024

Bug Fixes

  • fix: plugin widget's width using iframe's default

    Developed by: Kyle Waite

  • fix: Pointer events issues around widgets

    Fixed not being able to scroll beside smaller widgets when a bigger widget is in the same GridArea. Being able to use widgets (ie. click on buttons) while in WAS editor mode. If you can resize, the overlay disappeared, and then you could use the widget. Now, no pointerEvents happen inside Widgets when in WAS editor mode.

    Developed by: Kyle Waite

Internal

  • Migrate to Vite, upgrade Cypress to v10

    Developed by: rot 1024

· 2 min read
RED

New Features

  • Adding layers by plugin API

    Untitled

    This new feature will enable the plugin to add a new layer to Re:Earth through API. Add new layer can be done by call reearth.layers.add(layer: Layer, parentId?: string)

    Developed by: Shaun
    Designed by: Shaun
    Special thanks: Kyle Waite, rot 1024

  • Support changing selecting indicator

    Now users can change the selecting indicator on the editor page. We also support customizing the indicator by uploading your own image.

    Developed by: nour Al Ali
    Designed by: Red
    Special thanks: rot 1024

Bug Fixes

  • fix: Plugins do not work as expected, update quickjs-emscripten

    Developed by: rot 1024

  • fix: Show full camera values in the camera property field popup

    /assets/images/camera_bug-e881ebe5512e69a283b128faaf43eab1.png

    Developed by: Kyle Waite

  • fix: Plugin dimensions and iframe issues

    Developed by: Kyle Waite

  • fix: Asset modal flushes when camera limiter is enabled

    Developed by: rot 1024

  • fix: Not being able to override an image from the asset modal

    Developed by: Kyle Waite

  • fix: Cesium flashes on camera change

    Developed by: Shaun

  • fix: Dataset page showing errors on page refreshing

    Developed by: nour Al Ali

  • fix: Slight shift when capturing a new position

    Developed by: Shaun

Internal

  • Upgrade to React 18

    Developed by: Kyle Waite
    Special thanks: Shaun, rot 1024

· 3 min read
RED

New Features

  • Add scene property overriding to Re:Earth API

    Untitled

    To extend the abilities and possibilities of plugin development, the scene property is able to be overridden by a plugin (ex. for Cesium, skybox can be triggered, atmospheric conditions can be changed, etc by plugins).

    So we Added an overridePropertymethod to ReEarth API. This allows plugins to target specific scene property fields and modify them ephemerally (temporarily).

    Now do a merge to sceneProperty. If no overriddenSceneProperty will return the project's sceneProperty. If something is overridden, it'll merge into the project's.

    Developed by: Kyle Waite
    Designed by: Kyle Waite
    Special thanks: rot 1024

  • Basic Timeline feature

    Now we can open a Cesium-style timeline in our system! In the future, we will also update the design and usage for this timeline feature.

    Designed by: rot 1024
    Developed by: rot 1024

  • Switch 3D, 2D, and Columbus View (2.5D)

    Now, Re:Earth can support 2D and 2.5D views for Scene! You just need to choose Scene mode in the right pannel and enjoy.

    Designed by: Red, Shaun
    Developed by: Shaun
    Special thanks: Kyle Waite, Hidemichi Baba, rot 1024

danger

Some features may not be shared through the three views. For example, camera height and pose will not be available in the 2D view. But most functions work well.

  • Infinite Scroll for project list

    Now on the Dashboard and projects for setting page, the system supports infinite Scroll for project cards. It helps reduce the number of requests from the front end to the back end and improves system performance.

    Designed by: Red, nour Al Ali
    Developed by: nour Al Ali
    Special thanks: Kyle Waite

improves

  • refactor: migrate to react-intl from react-i18next

    We replaced react-intl with react-i18next. And We removed react-intl pkg. Now when developers want to translate the text, please follow this guide

    Developed by: @Keiya Sasaki

Bug Fixes

  • fix: plugin API cameramove event is not emitted in published pages

    Developed by: rot 1024

  • fix: dataset counts are displayed incorrectly in dataset panel

    /assets/images/fix_1-aeea74bac73c21dfd6b25794ee6ffa88.png

    Developed by: Keiya Sasaki

  • fix: iframe not correctly sizing to plugin

    The iframe for plugins was either too big or too small, not adhering to width and height set by the plugin itself. This fixes that and also re-adds the plugin link to the project menu in the center of the header.

    Developed by: Kyle Waite

  • fix: plugin API cameramove event is not emitted in published pages

    Developed by: rot 1024

  • fix: labeling hidden by marker symbol

    /assets/images/fix_2-bece9129901294fd72b01620cd98c269.png

    Developed by: Balaha Nour

  • fix: vertical position style in infobox image block

    /assets/images/fix_3-4c1572a642149a3bdab03a6e14a9ce4b.png

    Developed by: Keiya Sasaki

Internal

  • Upgraded dependencies

    Back-end developed by: Yasser Ka

· One min read
RED

New Features

  • Add opacity field to map tiles

    Untitled

    A slider which allows changing the opacity of the map tiles to see the tile below the top one is now available.

    Developed by: @Kyle Waite

  • Use username first letter as a default avatar

    Re:Earth now uses the first letter of the user’s name as a profile picture.

    Developed by: @nour Al Ali

  • Update placeholder for color field

    Color placeholder now shows the color HEX code with alpha values.

    Developed by: @Shaun

Bug Fixes

  • Workspace banner stretching with many members

    Developed by: @nour Al Ali

  • Dashboard not updating on project creation

    Developed by: @Kyle Waite

  • Dropdown styles in the right panel break when the selected item's name is too long

    Developed by: @Shaun

  • Signup API had unexpected breaking changes

    Developed by: @rot 1024

Internal

  • Upgraded dependencies

    Cesium has been upgraded to v1.93.0

    Developed by: @Basel Issmail, @Yasser Ka

· One min read
Basel Issmail

Bug Fixes

  • Members section and new member button disappear after creating workspace from setting

    Developed by: @Nour Al Ali

  • Redirect after ESC button in any setting page

    Developed by: @Nour Al Ali

  • Downloaded file from plugin editor would only have partial code

    Developed by: @Kyle Waite

  • Add a unique icon to the asset modal and asset settings to indicate unsupported files

    Developed by: @Kyle Waite

  • Widget align system editor breaking components by not wrapping

    Developed by: @Kyle Waite

  • JWT could not be validated correctly

    Developed by: @rot 1024

Internal

  • Upgraded dependencies

    Go has been upgraded to v1.18

    Developed by: @Yasser Ka

· 2 min read
Basel Issmail

New Features

  • Assets infinite scroll, sort, and filter

    Untitled

    Adds the ability to infinite scroll inside the assets modal and project list, so users can now display all assets items.

    Developed by: @Kyle Waite, @Yasser Ka

  • Re:Earth's built-in authentication feature is available!

    This eliminates the need to set up Auth0 and allows anyone to run Re:Earth with zero configuration! This will also allow sign-up and login only at Re:Earth.

    Note: This feature is not intended for use in a production environment. Please use Auth0 or other IDaaS in a production environment.

    Developed by: @Kyle Waite, @Yasser Ka

  • Supports authentication by any OpenID Connect provider

    In addition to Auth0, you can now log in to your Re:Earth account using any OpenID Connect compliant server, e.g. AWS Cognito. To enable this feature, environment variables should be set and prior sign-up is required. For details, see documentation.

    Developed by: @rot 1024

  • Plugin editor (beta)

    Untitled

    An editor is now available that allows you to try out the source code of plug-ins on the fly. Access <Re:Earth domain>/plugin-editor to view it.

    Note: This feature is in beta and experimental.

    Developed by: @Kyle Waite

  • Add a plugin API to resize iframe by plugins

    The plugin API has been extended to resize custom widgets occupied areas.

    • reearth.ui.resize(width: number | string | undefined, height: number | string | undefined, extended?: boolean)

    • reearth.ui.show(html: string, options?: { width?: number | string; height?: number | string; extended?: boolean; })

      Note: developer documentation for the plugin is under development.

      Developed by: @rot 1024

Bug Fixes

  • Unable to type RGBA values in the color field in the property panel

    Developed by: @Kyle Waite

  • Widget layout collapse

    Developed by: @Kyle Waite

  • Cannot select layers that activate the infobox mask

    Developed by: @Basel Issmail

Internal

  • Upgraded dependencies

    Cesium has been upgraded to v1.91.0

    Developed by: @Basel Issmail, @Yasser Ka

· 2 min read
Basel Issmail

New Features

  • Improve infobox style

    Untitled

    Users now have many new options to improve infobox stylings, like the ability to change infobox position, width, height, outline width and color, and the ability to add a background mask.

    Developed by: @Maher Alhamoui
    Designed by: @Red

  • Filter layers by camera viewport

    Untitled

    The plugin API has been extended to get layers that are visible on the screen and to get the viewport boundaries of the visible portion of the map.

    Note: developer documentation for the plugin is under development.

    Developed by: @Basel Issmail

  • Reinstalling plugins with automatic property migration

    3d party plugins now can be updated without uninstalling them and change the structure of existing properties to match the new schema.

    Developed by: @rot 1024

  • Support 3rd party plugin translation

    3d party plugins now support translation using YAML files for localization.

    Developed by: @rot 1024

Bug Fixes

  • The “new member” button on the workspace settings page is disappearing

    Developed by: @Basel Issmail

  • Workspace settings do not refresh

    Workspace settings did not refresh when adding, editing, or removing a member.

    Developed by: @Basel Issmail

  • Plugin blocks cannot be deleted

    Developed by: @Basel Issmail

Internal

  • Upgraded dependencies

    Cesium has been upgraded to v1.90.0

    Developed by: @Basel Issmail

· 2 min read
Basel Issmail

New Features

  • Add "clamp to ground" option to file tool

    Untitled

    Adds the ability to attach the layer to the ground (keeps layer on top of the map even with terrain enabled) using the “clamp to ground” option.

    Developed by: @Hidemichi Baba

  • Infobox padding

    Untitled

    Users are now able to add padding for the infobox, which surrounds infobox’s contents, also users can add padding for text block contents.

    Developed by: @Maher Alhamoui
    Designed by: @Red

  • Support tags in plugin API

    A plugin API has been extended to get layer tags fields from the plugin side, get tags of the scene, get the tags of a layer, find layers by tag ID, and find layers by tag labels.

    Note: developer documentation for the plugin is under development.

    Developed by: @rot 1024

Bug Fixes

  • Support selecting blocks of plugins by clicking.

    Developed by: @rot 1024

  • Cesium Ion access token is not set expectedly.

    Developed by: @rot 1024

  • Cluster issues.

    Bugs that pixel range and minimum cluster size weren’t working as expected, and clusters and layers are not displayed correctly. Also improved cluster performance.

    Developed by: @Basel Issmail @rot 1024

  • The style of infobox block dropdown list is broken.

    Developed by: @Basel Issmail

  • Plugin blocks protrude from the infobox.

    Developed by: @rot 1024

Note

  • From this release, we plan to release a new version of Re:Earth periodically, once a month.

· 2 min read
KaWaite

New Features

  • Enhanced Terrain

    Untitled

    Adds the ability to select the terrain type. Default is cesium, but can choose Cesium World Terrain or ArcGIS Terrain as well. Also adds support for terrain exaggeration.

    Developed by: @rot 1024

  • Clustering Layers

    Untitled

    Group of selection of layers as a cluster that joins them together depending on the camera’s height. You can choose which layers are part of a cluster, add multiple clusters, use a background image for each cluster, and more!

    Developed by: @Basel Issmail Designed by: @Red

  • Camera Limiter

    Untitled

    For projects that don’t span the whole globe, create a camera boundary that keeps the user’s focus where you want it to be and help them not get lost! You can customize the camera’s max height, the location on the globe and choose whether or not to show the helper lines.

    Developed by: @Basel Issmail Designed by: @Red

  • Tagging of layers

    Untitled

    Users are now able to create, delete, attach and detach unique tags to better group related layer data. Currently this is strictly data-based, but in the future a Tag widget will be developed to visualize the tags from within a Re:Earth project.

    Developed by: @Hidemichi Baba
    Designed by: @Red

Bug Fixes

  • Photo overlay and marker images are not displayed expectedly in Android

    Developed by: @rot 1024

Internal

  • Upgraded dependencies

    Cesium has been upgraded to v1.89.0

    Developed by: @Basel Issmail

Next plan

  • Authentication: You can create an account and log in only with Re:Earth without setting up Auth0, which saves you the trouble of setting up the environment.