@equinor/esv-intersection

Intersection component package with testing and automatic documentation.

Usage no npm install needed!

<script type="module">
  import equinorEsvIntersection from 'https://cdn.skypack.dev/@equinor/esv-intersection';
</script>

README

npm version Publish Package Unit tests

ESV Intersection component

A reusable component to create intersection visualizations for wells

Part of the Equinor Subsurface Visualization project

Getting started

Installation

Using npm:

npm install --save @equinor/esv-intersection

Using yarn:

yarn add @equinor/esv-intersection

To run application in your machine :

$ git clone git@github.com:equinor/esv-intersection
$ git submodule update --init --recursive
$ npm run storybook

Usage

import { Controller, GridLayer } from '@equinor/esv-intersection';

const container = document.createElement('div');
const controller = new Controller({container: container});

// the controller initially has zero height
controller.adjustToSize(400, 400);

controller.addLayer(new GridLayer('grid'));

For more examples, check out our stories in our online storybook.

Technical choices

  • Compiler: Typescript
  • Module bundler: Rollup
  • Testing: Jest
  • Documentation: TypeDoc
  • Code compressor: Terser
  • Miscellaneous:
    • Architecture: A container component that holds several layers, specialized for the type of data and visualization they address (analogous to the VidEx-map component https://github.com/equinor/videx-map)
    • Browser support: Target Edge, Chrome, Firefox, Safari
    • Linting and unit tests run automatically on Github Actions

Development methodology

  • The project is maintained by the VidEx team (Software Innovation Stavanger) and the Heap Purple team (Software Innovation Bergen)
  • The maintainers meet once a month to discuss the direction of the project, and possible development activities
  • Development is currently limited to critical bug fixes. New features could be requested by opening a dedicated issue or, even better, by opening a Pull Requests
  • Development relies on a project board hosted on github (https://github.com/equinor/intersection/projects/1)

Support

If you are an equinor employee, the easiest way to get in touch with the maintainers is through the #esv-intersection channel on Slack.

Otherwise, Github issues are the main communication channel with the maintainers. If you have a bug report, a feature request, or need some help using the component, simply create an issue in the repository and one of the maintainers will pick it up. Before creating an issue, please have a look at the following guidelines. Also keep in mind that creating Pull Requests is the preferred way to contribute to the project.

Help needed

Describe your use case in details, make sure to include the version of the component you are using, and relevant software that are part of your pipeline (eg, Chrome/Firefox/Safari, Node, npm, …), including their version as well

Bug reports

Follow the instructions from the Help needed section above, but also include precise instructions about how to reproduce the bug. If any data is required for reproducing the bug, it would be beneficial to have access to it as well.

Feature requests

Give a precise description of your use case. It would be best if you could formulate your request as a user story, using the format As a <subject> I would like to <the feature you need> so that <the task you want to accomplish>

Contribution

See the contribution page

License

The large majority of the files in this repository are released under the MIT license. There are 2 exceptions:

  • the CONTRIBUTION.md file, which uses BSD 2-Clause "Simplified" License, as described at the end of the file itself
  • the content of the esv-intersection-data submodule uses the same license as Equinor's Volve dataset, which is also available in the submodule

Equinor Logo