Giter VIP home page Giter VIP logo

cesium-plugins-list's Introduction

This repo contains the list of Cesium plugins used to generate the plugin list on cesiumjs.org. Open a pull request to add yours.

What is a Cesium plugin?

A Cesium plugin is a library that integrates with Cesium to add functionality. Developers build apps using core Cesium and any additional plugins. For example, cesium-leap is a plugin that adds support for navigation with the Leap Motion controller, and cesium-materials-pack is a plugin that adds new materials like brick and wood patterns.

A plugin may extend Cesium by extending Cesium types like imagery providers, terrain providers, geometries, appearances, etc. A plugin may also create new functionality by building on top of Cesium, even something as simple as a new numeric library built using Cesium math types. Some plugins aren't even strictly JavaScript libraries; for example, cesium-starter-app provides a starter app for quick hacking, and cesium-assets is a collection of useful graphics assets such as imagery and stars. The common theme is that plugins add value to Cesium-based apps.

How do I use plugins?

Plugins are listed on cesiumjs.org. Each plugin has documentation for installing and using it. Getting started can be as simple as including a .js file in your html.

How do I list my plugin with the plugins on cesium.js?

Fork this repo, add your plugin to index.html and images to a new subdirectory in images, and open a pull request. We'll review and merge it promptly and your plugin will soon be listed on cesiumjs.org. We'll also help promote your plugin on the cesium forum, blog, and twitter.

We ask that each plugin follow these three simple guidelines:

  • State what version(s) of Cesium it is compatiable with.
  • State what license it uses and the licenses of any third-party code. Cesium uses Apache 2.0, which may be a good choice for your plugin. Although we expect most plugins will be open-source, closed-source plugins are allowed.
  • Include documentation on how to install and use it. For small plugins, this is as simple as a README.md.

To make your plugin awesome, we also suggest:

  • Use github for hosting and name the repo starting with cesium-.
  • Include a hosted demo. With github, this can be done with a gh-pages branch (tutorial).
  • Use the Cesium coding conventions for the plugin's public interfaces so it is consistent with Cesium and other plugins.
  • Keep the plugin up-to-date if new versions of Cesium contain breaking changes. This will ensure the continued popularity of your plugin.
  • Include contact info for getting help with the plugin, perhaps a forum link or email address.
  • Include unit tests.

The cesium-materials-pack plugin is a good example to follow.

What's the difference between a plugin and a core Cesium feature?

A plugin lives outside the main Cesium repo and is developed and licensed separately. Creating a plugin does not require the Cesium Contributor License Agreement (CLA) or strictly following the Cesium coding, testing, and documentation conventions. A plugin may also contain functionality that is not core to Cesium or third-party dependencies that would increase the size of Cesium too much to include by default.

If you have a plugin that would make a good core Cesium feature, let us know on the forum. A core Cesium feature has the benefit of being maintined with Cesium itself and included in the each release.

cesium-plugins-list's People

Contributors

pjcozzi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.