Skip to content

Commit

Permalink
Release request commit created with Cranko.
Browse files Browse the repository at this point in the history
+++ cranko-rc-info-v1
[[projects]]
qnames = ["@wwtelescope/engine", "npm"]
bump_spec = "minor bump"

[[projects]]
qnames = ["@wwtelescope/engine-pinia", "npm"]
bump_spec = "minor bump"

+++
  • Loading branch information
cranko committed Sep 14, 2023
2 parents 1613e9b + 35b985d commit fc923a7
Show file tree
Hide file tree
Showing 354 changed files with 58,229 additions and 85,855 deletions.
41 changes: 3 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@ workshops, and a variety of other needs.
1. Check out this repository to a machine with [Node.js] and [Yarn].
1. `git submodule update --init`
1. `yarn install`
1. Either build or obtain the file `engine/wwtlib/bin/wwtlib.js` as described
below.
1. `yarn lint` (uses [ESLint])
1. `yarn build` creates:
1. The core engine package in the `engine/` package.
Expand Down Expand Up @@ -80,8 +78,7 @@ The most important subdirectories are:

[monorepo]: https://en.wikipedia.org/wiki/Monorepo

- `@wwtelescope/engine` in `engine/`, the core engine code transpiled from C# and
wrapped in TypeScript annotations
- `@wwtelescope/engine` in `engine/`, the core engine code with TypeScript annotations
- `@wwtelescope/engine-pinia` in `engine-pinia/`, a higher-level package that turns the
engine into a reusable [Vue]/[Pinia] component
- `@wwtelescope/embed` in `embed/`, a web application that turns WWT into a
Expand All @@ -99,41 +96,9 @@ subdirectory. That module has been superseded by the Pinia version.
[Vuex]: https://vuex.vuejs.org/


## The `engine/wwtlib/bin/wwtlib.js` file
## Building the code

There’s one big wrinkle to the build process: the bulk of the engine code is
actually C# code in the directory `engine/wwtlib/`. It’s forked from
[wwt-windows-client] and is transpiled into JavaScript using an unreleased
version of [ScriptSharp], an unmaintained tool. Fortunately, that build process
results in a single file, `engine/wwtlib/bin/wwtlib.js`, that you can download
from our CI systems if you’re not able to perform a Visual Studio build.

[wwt-windows-client]: https://github.com/WorldWideTelescope/wwt-windows-client
[ScriptSharp]: https://github.com/nikhilk/scriptsharp

To build the engine library starting from C#:

1. You need a Windows machine with Visual Studio 2017. Other versions of Visual
Studio might also work.
1. Open the `engine/WebGLEngine.sln` solution and build the project it contains.
This should create the file `engine/wwtlib/bin/wwtlib.js`.

Otherwise, check out the latest continuous integration build of this repository,
download the `scriptsharp` artifact, and copy the `wwtlib.js` file to the location
given above. (To find the artifact, go to the appropriate build in this project's
[pipeline] on [Azure DevOps]). Under 'Related', select '9 published', and download
artifacts for `scriptsharp`). If you want to change the C# code, you can file a pull
request and access the artifacts associated with your pull request builds.

[Azure DevOps]: https://azure.microsoft.com/en-us/services/devops/?nav=min
[pipeline]: https://dev.azure.com/aasworldwidetelescope/WWT/_build?definitionId=21



## Building the rest of the code

Besides the creation of the file `engine/wwtlib/bin/wwtlib.js`, virtually
everything in this repository is built using standard [Node.js]/[Yarn] tooling.
Code in this repository is built using standard [Node.js]/[Yarn] tooling.
These tools must be installed before you can do anything else. To set up your
checkout, follow the instructions in the [Developers’ Quick Start][dqs] above.

Expand Down
8 changes: 1 addition & 7 deletions ci/azure-job-setup.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2020-2022 the .NET Foundation
# Copyright 2020-2023 the .NET Foundation
# Licensed under the MIT License

# Setup steps for the build and deployment processes.
Expand Down Expand Up @@ -70,12 +70,6 @@ steps:
inputs:
versionSpec: '16'

- bash: |
set -xeuo pipefail
mkdir -p engine/wwtlib/bin
cp $PIPELINE_WORKSPACE/scriptsharp/wwtlib.js engine/wwtlib/bin/
displayName: Restore ScriptSharp wwtlib.js
- bash: yarn install
displayName: Install Yarn dependencies

Expand Down
7 changes: 2 additions & 5 deletions ci/azure-main-build.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
# Copyright 2020-2022 the .NET Foundation
# Copyright 2020-2023 the .NET Foundation
# Licensed under the MIT License

# Main build stage. The ScriptSharp stage has already run, creating a Cranko
# release commit bundle and the magic wwtlib.js JavaScript file. With those in
# hand, these parts of the build can run on any platform (yay!).
# Main build stage.

parameters:
- name: 'zolaVersion'
Expand Down Expand Up @@ -40,7 +38,6 @@ jobs:
- bash: |
set -xeuo pipefail
mkdir -p $ARTIFACT_STAGING/engine-hosted
cp engine/wwtlib/bin/wwtlib.js $ARTIFACT_STAGING/engine-hosted/wwtlib.js
cp engine/src/index.js $ARTIFACT_STAGING/engine-hosted/wwtsdk.js
cp engine/src/index.min.js $ARTIFACT_STAGING/engine-hosted/wwtsdk.min.js
cp engine/src/index.d.ts $ARTIFACT_STAGING/engine-hosted/wwtsdk.d.ts
Expand Down
6 changes: 3 additions & 3 deletions ci/azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2020 the .NET Foundation
# Copyright 2020-2023 the .NET Foundation
# Licensed under the MIT License

trigger:
Expand All @@ -8,9 +8,9 @@ trigger:
- rc

stages:
- stage: ScriptSharpBuild
- stage: Prep
jobs:
- template: azure-scriptsharp-build.yml
- template: azure-prep.yml

- stage: MainBuild
jobs:
Expand Down
30 changes: 2 additions & 28 deletions ci/azure-scriptsharp-build.yml → ci/azure-prep.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# Copyright 2020-2022 the .NET Foundation
# Copyright 2020-2023 the .NET Foundation
# Licensed under the MIT License

# Create the Cranko release commit and build the engine JavaScript using
# ScriptSharp on Windows.
# Create the Cranko release commit.

jobs:
- job: main
Expand Down Expand Up @@ -55,28 +54,3 @@ jobs:
inputs:
targetPath: '$(Build.ArtifactStagingDirectory)/git-release'
artifactName: git-release

# ScriptSharp build

- task: MSBuild@1
displayName: Build WebGL Engine with ScriptSharp
inputs:
solution: 'engine/WebGlEngine.sln'
msbuildVersion: '16.0'
msbuildArchitecture: 'x64'
clean: true

- task: CopyFiles@2
displayName: Stage ScriptSharp artifacts
inputs:
sourceFolder: '.'
contents: |
engine/wwtlib/bin/wwtlib.js
targetFolder: $(Build.ArtifactStagingDirectory)
cleanTargetFolder: true

- task: PublishPipelineArtifact@0
displayName: Publish ScriptSharp artifacts
inputs:
artifactName: scriptsharp
targetPath: $(Build.ArtifactStagingDirectory)/engine/wwtlib/bin
18 changes: 17 additions & 1 deletion docs/engine/engine-pinia-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,23 @@ createApp(App, {

Note that for now, **you can only include one WWT component in each app**,
because the WWT engine library maintains global state. To work around this, use
iframes.
iframes.

Alternatively, it is possible to mount separate *full instances* of
the application to the same web page by passing in a unique `id` when creating
the Vue app using the `customId` prop.

```ts
...

createApp(App, {
wwtNamespace: "mywwt",
customId: "myCustomId"
})
.use(wwtPinia)
.component('WorldWideTelescope', WWTComponent)
.mount("#app");
```

Finally, if you’re using [Webpack], you may run into a pitfall because this
library must explicitly depend on the Vue package to obtain its TypeScript
Expand Down
51 changes: 6 additions & 45 deletions embed-common/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,8 @@
# rc: micro bump
# See elsewhere for changelog

- Add a `type: module` field to the `package.json` file (#264, @pkgw). This more
accurately reflects the files that we're distributing.
This project’s release notes are curated from the Git history of its main
branch. You can find them by looking at [the version of this file on the
`release` branch][branch] or the [GitHub release history][gh-releases].


# @wwtelescope/embed-common 0.3.3 (2022-11-30)

- No code changes.
- Update the `package.json` file to align with new Yarn-based build system (#217, @Carifio24, @pkgw).


# @wwtelescope/embed-common 0.3.2 (2022-04-01)

- Fix a URL typo in the package.json file (@Carifio24).


# @wwtelescope/embed-common 0.3.1 (2021-06-03)

- No code changes, just syncing up Cranko with changes in the repository.


# @wwtelescope/embed-common 0.3.0 (2021-01-27)

This release contains a **breaking change** relating to a rework of how
"settings" are expressed in TypeScript. The previous system was pretty limited
and limiting; the new system is much more functional.

- Move enumLookup out of here into engine-types
- Track API changes in how settings are expressed
- Upgrade TypeDoc and TypeScript
- Correct temporary GitHub URLs in the package.json files


# @wwtelescope/embed-common 0.2.1 (2020-09-23)

- No code changes; issuing a new release for the Cranko switchover.


# [0.2.0](https://github.com/pkgw/wwt-webgl-engine/compare/@wwtelescope/[email protected]...@wwtelescope/[email protected]) (2020-06-12)

- Export a tourUrl setting


# [0.1.0](https://github.com/pkgw/wwt-webgl-engine/compare/@wwtelescope/[email protected]...@wwtelescope/[email protected]) (2020-05-23)

**Note:** Version bump only for package @wwtelescope/embed-common
[branch]: https://github.com/WorldWideTelescope/wwt-webgl-engine/blob/release/embed-common/CHANGELOG.md
[gh-releases]: https://github.com/WorldWideTelescope/wwt-webgl-engine/releases
144 changes: 6 additions & 138 deletions engine-helpers/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,140 +1,8 @@
# rc: micro bump
# See elsewhere for changelog

- Add a `type: module` field to the `package.json` file (#264, @pkgw). This more
accurately reflects the files that we're distributing.
This project’s release notes are curated from the Git history of its main
branch. You can find them by looking at [the version of this file on the
`release` branch][branch] or the [GitHub release history][gh-releases].


# @wwtelescope/engine-helpers 0.15.0 (2023-06-08)

- Have the `addImagesetToRepository` method return an imageset (#256, @pkgw).


# @wwtelescope/engine-helpers 0.14.0 (2023-03-31)

- Expose the "addImageSetToRepository" function through the engine stack (#241, @pkgw)
- Remove unnecessary `name` parameter in the frame export code (#240, @Carifio24)


# @wwtelescope/engine-helpers 0.13.0 (2023-03-29)

- Expose the new, expanded frame-capture functionality which can capture a
sequence of frames (#239, @Carifio24).


# @wwtelescope/engine-helpers 0.12.0 (2023-03-20)

- Expose the engine's new frame capture functionality (#235, @Carifio24).


# @wwtelescope/engine-helpers 0.11.1 (2023-02-27)

- No code changes; just making Cranko happy.


# @wwtelescope/engine-helpers 0.11.0 (2023-02-15)

- Expose the "freestanding mode" that was added to the engine (#230, @pkgw).


# @wwtelescope/engine-helpers 0.10.0 (2023-02-13)

- Expose some new engine settings that make make it possible to customize the
colors used for various coordinate grid overlays and the heigh of the
constellation names (#226, @Carifio24).


# @wwtelescope/engine-helpers 0.9.0 (2023-01-19)

- Expose new engine APIs for getting the amount of time that basic "goto"
movements will take to execute (#222, @Carifio24)


# @wwtelescope/engine-helpers 0.8.3 (2022-11-30)

- No code changes.
- Cleanups and improvements to the build and packaging infrastructure (#217,
@Carifio24, @pkgw). The source repository is now based on Yarn.


# @wwtelescope/engine-helpers 0.8.2 (2022-04-01)

- Fix a URL typo in the package.json file (@Carifio24).


# @wwtelescope/engine-helpers 0.8.1 (2021-11-17)

- Fix bad copy/paste-o that made the `polylineannotation` module pretty useless
(#155, @Carifio24).


# @wwtelescope/engine-helpers 0.8.0 (2021-09-20)

- Provide a homogeneous set of settings interfaces, building on the new
interfaces provided by some of the lower-level packages (@pkgw, #131, #134).
There is a new suite of functions for extracting, copying, and storing
settings, which make it easier to bridge WWT settings into systems external to
WWT itself, such as Vue and Vuex.
- Properly type `StretchFitsLayerOptions.stretch` as a `ScaleTypes`. This
is technically a breaking change although the TypeScript compiler doesn't
always seem to mind if you still initialize the field with a number.


# @wwtelescope/engine-helpers 0.7.0 (2021-07-23)

- Add various wrappers for catalog HiPS functionality: an async-ified wrapper
for getCatalogHipsDataInView, an API to pull settings out of a spreadsheet
layer, and a new async addCatalogHipsByName implementation (#126, @pkgw)


# @wwtelescope/engine-helpers 0.6.0 (2021-06-03)

- Add helpers relating to some of the new APIs in the 7.11 series of the engine.
These include roll controls, optional recursive loading of WTML collections,
showing warnings if WebGL 2.0 isn't available, URL-based loading of imageset
layers, controlling "goto" functionality when loading imageset layers, and
catalog HiPS APIs.


# @wwtelescope/engine-helpers 0.5.0 (2021-01-27)

This release contains a **breaking change** relating to a rework of how
"settings" are expressed in TypeScript. The previous system was pretty limited
and limiting; the new system is much more functional.

- Many new APIs and types related to our improved system for handling settings.
- Expose the layer manager as one of the core state objects
- Add wrappers for layer mutations
- Implement FITS layer colormap control
- Implement FITS layer stretch control
- Upgrade TypeDoc and TypeScript
- Correct temporary GitHub URLs in the package.json files


# @wwtelescope/engine-helpers 0.4.0 (2020-12-30)

- A variety of new APIs to support better tour playback (#73, @pkgw)
- `seekToTourTimecode()`
- `getEffectiveTourTimecode()`
- `getIsTourPlaying()`
- `loadTour()`
- a simple hook for detecting when a tour finishes playing


# @wwtelescope/engine-helpers 0.3.1 (2020-09-23)

- No code changes; issuing a new release for the Cranko switchover.


# [0.3.0](https://github.com/pkgw/wwt-webgl-engine/compare/@wwtelescope/[email protected]...@wwtelescope/[email protected]) (2020-06-12)

- Export helpers relating to tour playback


# [0.2.0](https://github.com/pkgw/wwt-webgl-engine/compare/@wwtelescope/[email protected]...@wwtelescope/[email protected]) (2020-06-09)

- Expose setForegroundOpacity


# [0.1.0](https://github.com/pkgw/wwt-webgl-engine/compare/@wwtelescope/[email protected]...@wwtelescope/[email protected]) (2020-05-23)

**Note:** Version bump only for package @wwtelescope/engine-helpers
[branch]: https://github.com/WorldWideTelescope/wwt-webgl-engine/blob/release/engine-helpers/CHANGELOG.md
[gh-releases]: https://github.com/WorldWideTelescope/wwt-webgl-engine/releases
Loading

0 comments on commit fc923a7

Please sign in to comment.