mascot-vis 3.0.5 → 3.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,38 @@
1
+ name: Publish to npm (OIDC) + GitHub Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+
8
+ permissions:
9
+ contents: write # create GitHub Release
10
+ id-token: write # REQUIRED for npm OIDC / provenance
11
+
12
+ jobs:
13
+ publish:
14
+ runs-on: ubuntu-latest
15
+ environment: npm-publish # protects against accidental publishes
16
+
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - uses: actions/setup-node@v4
21
+ with:
22
+ node-version: 20
23
+ registry-url: https://registry.npmjs.org
24
+
25
+ - run: npm ci
26
+ - run: npm run build
27
+ - run: npm test
28
+
29
+ # Publish with provenance (recommended for OIDC + supply-chain metadata)
30
+ - name: Publish
31
+ run: npm publish --provenance
32
+ # If this is the FIRST publish of a scoped package, you may need:
33
+ # run: npm publish --provenance --access public
34
+
35
+ - name: GitHub Release
36
+ run: gh release create "${GITHUB_REF_NAME}" --generate-notes
37
+ env:
38
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Setup Instructions
4
4
 
5
- 1. Install [NPM](https://www.npmjs.com/get-npm)
5
+ 1. Install [NPM](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
6
6
  2. Install all local packages - From the terminal run `npm install`. You need to run this command whenever there are changes to package dependencies.
7
7
 
8
8
  ## Build and Run Project
@@ -10,8 +10,19 @@
10
10
  1. To build project one time with `npm run build` OR build automatically on save with file watching `npm run watch`. Two modules (same content, different formats) will be built: `mascot-es.js` for node.js applications, and `mascot-umd.js` for in-browser appications.
11
11
  2. To run the in-browser demos, start a server with `npm run start` (you need to have Python 3 installed), and load `localhost:8020` in browser; you can also start the server using Python 2 with the command `python -m SimpleHTTPServer <port>`
12
12
 
13
+ ### Releasing
14
+ 1. Ensure all intended changes are committed to `main`.
15
+
16
+ 2. Run the release script with **either**:
17
+ - an **explicit version** (e.g., `./scripts/release.sh 3.1.0`), or
18
+ - a **SemVer increment keyword** (e.g., `./scripts/release.sh patch/minor/major`).
13
19
 
14
20
  ## Add a Demo to the Gallery
15
21
  1. Add a new .js file with a descriptive name containing the demo code to the `demos` folder. If you require sample code, refer to the other demos available in that folder.
16
22
  2. Any dataset used in your demo should be placed in the corresponding folder in `datasets`.
17
- 3. Add a new entry to `_index.json` in the `demos` folder, your key must have the initial letter capitalized and match the name of your .js file.
23
+ 3. Add a new entry to `_index.json` in the `demos` folder, your key must have the initial letter capitalized and match the name of your .js file.
24
+
25
+ ## Citation
26
+ Zhicheng Liu, Chen Chen, and John Hooker. Manipulable Semantic Components: A Computational Representation of Data Visualization Scenes. IEEE Transactions on Visualization and Computer Graphics, 31(1):732 – 742, 2025. [doi: 10.1109/TVCG.2024.3456296](https://doi.org/10.1109/TVCG.2024.3456296)
27
+
28
+ Zhicheng Liu, Chen Chen, Francisco Morales, and Yishan Zhao. Atlas: Grammar-based Procedural Generation of Data Visualizations. In 2021 IEEE Visualization Conference (VIS), pp. 171–175. IEEE, New Orleans, 2021. [doi: 10.1109/VIS49827.2021.9623315](https://doi.org/10.1109/VIS49827.2021.9623315)