Skip to main content

· One min read
RED

Improvements

  • Storybook v7 setup

    Developed by: Kyle Waite

Bug Fixes

  • plugin update cause layer corruption

    Fixed by: @Yasser Ka
    Special thanks: @rot 1024

  • auth0 error when refresh token

    • Fix: add useRefreshTokensFallback to Auth0Provider authorizationParams.

    • Rename redirectUri to redirect_uri: the old naming is going to be removed in the future base on auth0 doc.

      Developed by: @Shaun

· One min read
RED
  • clientStorage plugin API to enable plugins store data

    Untitled

    Now plugin developer can use client storage by using API like

    reearth.clientStorage: {
    getAsync: (key: string) => Promise<any>;
    setAsync: (key: string, value: any) => Promise<void>;
    deleteAsync: (key: string) => Promise<void>;
    keysAsync: () => Promise<string[]>;
    }

    Developed by: @Shaun
    Special thanks: @rot 1024

  • Add runTime field to widgets in plugin API to get number of the current plugin executed

    Developed by: @Keiya Sasaki
    Special thanks: @Keiya Sasaki

  • Support new setting properties for align-system

    Now users can change the Padding Gap Spacing Align Center Background Color for each container of align system.

    Untitled

    Designed by: @Red
    Developed by: @Basel Issmail @Maher Alhamoui
    Special thanks: @Kyle Waite @Hidemichi Baba

  • Support change the background color of marker label

    Untitled

    Designed by: @rot 1024
    Developed by: @rot 1024

Internal

  • Dependency upgrades

    Developed by: @Kyle Waite

· 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