{"id":18890409,"url":"https://github.com/workingdog/cesiumscala","last_synced_at":"2025-06-19T22:35:54.024Z","repository":{"id":57724086,"uuid":"56213400","full_name":"workingDog/CesiumScala","owner":"workingDog","description":"Scala.js interface to Cesium.js","archived":false,"fork":false,"pushed_at":"2017-05-18T23:56:52.000Z","size":2130,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-31T06:13:11.837Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/workingDog.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-04-14T06:38:13.000Z","updated_at":"2024-11-30T04:19:22.000Z","dependencies_parsed_at":"2022-09-02T06:54:23.485Z","dependency_job_id":null,"html_url":"https://github.com/workingDog/CesiumScala","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workingDog%2FCesiumScala","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workingDog%2FCesiumScala/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workingDog%2FCesiumScala/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workingDog%2FCesiumScala/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/workingDog","download_url":"https://codeload.github.com/workingDog/CesiumScala/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239861721,"owners_count":19709275,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T07:55:27.779Z","updated_at":"2025-02-20T15:27:21.353Z","avatar_url":"https://github.com/workingDog.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scala.js interface to Cesium.js\n\n[Cesium](http://cesiumjs.org/) is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin. \nIt uses WebGL for hardware-accelerated graphics, and is cross-platform, cross-browser, \nand tuned for dynamic-data visualization. \n\nThis library, **cesiumscala**, is a Scala.js façade to Cesium.js for client side development.\nCesium client applications can now be written in [Scala](http://www.scala-lang.org/) and compiled into javascript\nusing [Scala.js](https://www.scala-js.org/).\n\nThere are also the Scala libraries; [ScalaCZML](https://github.com/workingDog/scalaczml) and [ScalaKml](https://github.com/workingDog/scalakml) for server side development. \n\n## Usage\n\nTo use the last release (compatible with Cesium 1.30) add the following dependency to your build.sbt:\n\n    libraryDependencies += \"com.github.workingDog\" %%% \"cesiumscala\" % \"1.6\"\n\nTo run the basic [CesiumApp](https://github.com/workingDog/CesiumScala/blob/master/src/main/scala/CesiumApp.scala)\nyou can install and run Cesium.js locally. Refer to [Cesium tutorial](https://cesiumjs.org/tutorials/cesium-up-and-running/) for how to\ninstall and launch Cesium.\n\nTypical steps to run **CesiumApp**:\n\n  - Download and install Cesium.\n  - Compile and generate **cesiumscala**, using \"sbt fullOptJS\". This will generate \"cesiumscala-opt.js\" in the \"./target/scala-2.11\" directory.\n  - Put \"CesiumScala.html\" and \"cesiumscala-opt.js\" files in the \"Cesium/Apps\" directory and\n  - launch Cesium (e.g. \"node server.js\").\n  - Then point your browser to http://localhost:8080/Apps/CesiumScala.html\n\nA 3D world globe with an aircraft and various shapes should be displayed in your browser. If the globe is not showing, you may need\nto get a [Bing Map key](https://www.bingmapsportal.com/) and put it in the CesiumScala.html.\n\nThis library makes extensive use of [jsext](https://github.com/jducoeur/jsext) JSOptionBuilder for\ndefining \"options\" objects. Here these objects are named \"class-name + Options\". For example:\n\n    class ModelGraphics(options: ModelGraphicsOptions)\n\nSee the example **CesiumApp** and [Using the JSOptionBuilder](https://github.com/jducoeur/jsext#using-the-jsoptionbuilder) documentation\nto learn how to define these \"options\" objects using **jsext**.\n\n## Compiling, packaging and publishing\n\nTo compile and generate a javascript file from the source code:\n\n    sbt fullOptJS \n\nThe javascript file (cesiumscala-opt.js) will be in the \"./target/scala-2.11\" directory.\n\nTo publish **cesiumscala** to your local (Ivy) repository, simply type:\n\n    sbt publishLocal\n\nThen put this in your build.sbt\n\n libraryDependencies += \"com.github.workingDog\" %%% \"cesiumscala\" % \"1.7-SNAPSHOT\"\n\n## Dependencies code inclusions\n\nThe code from [jsext](https://github.com/jducoeur/jsext) relating to JSOptionBuilder is used in **cesiumscala** and\nis included here (verbatim) rather than as an external dependency.\n\n**cesiumscala** also depends on [scala-js-dom](https://github.com/scala-js/scala-js-dom), see also build.sbt.\n\n## References\n\n1) [Scala.js](https://www.scala-js.org/)\n\n2) [Cesium](https://cesiumjs.org/)\n\n3) [scala-js-ts-importer](https://github.com/sjrd/scala-js-ts-importer)\n\n4) [JSDoc](http://usejsdoc.org/)\n\n## Documentations\n\nScaladoc documentations can be generated by typing:\n\n    sbt doc\n\nRefer to [Cesium API reference](https://cesiumjs.org/refdoc.html) for the original Cesium documentation.\n\n## License\n\n**cesiumscala** is licensed under the terms of the [Apache v2.0 license](http://www.apache.org/licenses/LICENSE-2.0).\n\n## Status\n\nusable, ongoing work\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkingdog%2Fcesiumscala","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fworkingdog%2Fcesiumscala","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkingdog%2Fcesiumscala/lists"}