@loveluthien/carta-frontend 6.0.0-dev

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.
Files changed (148) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +34 -0
  2. package/.github/pull_request_template.md +23 -0
  3. package/.github/workflows/continuous_integration.yml +139 -0
  4. package/.github/workflows/deploy.yml +30 -0
  5. package/.husky/pre-commit +16 -0
  6. package/.husky/pre-push +42 -0
  7. package/.prettierignore +1 -0
  8. package/.prettierrc.json +18 -0
  9. package/CHANGELOG.md +363 -0
  10. package/COPYING.md +636 -0
  11. package/README.md +112 -0
  12. package/babel.config.json +10 -0
  13. package/build/ast_wrapper.wasm +0 -0
  14. package/build/carta_computation.wasm +0 -0
  15. package/build/carta_icon_128px.png +0 -0
  16. package/build/carta_logo.png +0 -0
  17. package/build/gsl_wrapper.wasm +0 -0
  18. package/build/index.html +147 -0
  19. package/build/manifest.json +15 -0
  20. package/build/robots.txt +3 -0
  21. package/build/static/css/546.aa44a897.css +1 -0
  22. package/build/static/css/async/359.4d8f6ff7.css +1 -0
  23. package/build/static/css/async/403.ea9edfac.css +1 -0
  24. package/build/static/css/async/462.8bde08e0.css +1 -0
  25. package/build/static/css/index.c1f77b92.css +1 -0
  26. package/build/static/font/blueprint-icons-16.5fb1af27.woff2 +0 -0
  27. package/build/static/font/blueprint-icons-16.79f603d1.woff +0 -0
  28. package/build/static/font/blueprint-icons-16.83d51978.eot +0 -0
  29. package/build/static/font/blueprint-icons-16.af0c342f.ttf +0 -0
  30. package/build/static/font/blueprint-icons-20.83fddc09.ttf +0 -0
  31. package/build/static/font/blueprint-icons-20.9a51bc58.woff +0 -0
  32. package/build/static/font/blueprint-icons-20.d61315fe.eot +0 -0
  33. package/build/static/font/blueprint-icons-20.ebf16e9a.woff2 +0 -0
  34. package/build/static/image/allmaps.03f2ba92.png +0 -0
  35. package/build/static/image/gamma.6fca425b.png +0 -0
  36. package/build/static/image/linear.c7941b64.png +0 -0
  37. package/build/static/image/log.7fce6aee.png +0 -0
  38. package/build/static/image/power.5dac9727.png +0 -0
  39. package/build/static/image/sqrt.0ec2b3f1.png +0 -0
  40. package/build/static/image/squared.798b23aa.png +0 -0
  41. package/build/static/js/546.b5841ade.js +489 -0
  42. package/build/static/js/546.b5841ade.js.LICENSE.txt +925 -0
  43. package/build/static/js/async/359.97257512.js +1 -0
  44. package/build/static/js/async/403.b00f768c.js +1 -0
  45. package/build/static/js/async/462.92c07a07.js +1 -0
  46. package/build/static/js/async/905.70044ee8.js +1 -0
  47. package/build/static/js/async/907.dc17f1d2.js +1 -0
  48. package/build/static/js/async/blueprint-icons-16px-paths.e17db832.js +1 -0
  49. package/build/static/js/async/blueprint-icons-20px-paths.6ad43f5f.js +1 -0
  50. package/build/static/js/async/blueprint-icons-all-paths-loader.61cc0f7b.js +1 -0
  51. package/build/static/js/async/blueprint-icons-all-paths.0c699441.js +1 -0
  52. package/build/static/js/async/blueprint-icons-split-paths-by-size-loader.5cff79f5.js +1 -0
  53. package/build/static/js/index.8fc34b4d.js +1344 -0
  54. package/build/static/js/index.9a30d560.worker.js +1 -0
  55. package/build/static/js/zfp_wrapper.wasm +0 -0
  56. package/build/static/svg/blueprint-icons-16.130888ef.svg +2097 -0
  57. package/build/static/svg/blueprint-icons-20.c8456d56.svg +2097 -0
  58. package/build/zfp_wrapper.wasm +0 -0
  59. package/declarations.d.ts +18 -0
  60. package/docs_website/.prettierignore +1 -0
  61. package/docs_website/api/api.md +13 -0
  62. package/docs_website/babel.config.js +3 -0
  63. package/docs_website/docs/assets/enable-code-snippets.png +0 -0
  64. package/docs_website/docs/code-snippet-tutorial/_category_.json +8 -0
  65. package/docs_website/docs/code-snippet-tutorial/basics.md +97 -0
  66. package/docs_website/docs/code-snippet-tutorial/image-blending.mdx +57 -0
  67. package/docs_website/docs/code-snippet-tutorial/image-fitting.mdx +44 -0
  68. package/docs_website/docs/code-snippet-tutorial/image-properties.mdx +84 -0
  69. package/docs_website/docs/code-snippet-tutorial/moment-images.mdx +31 -0
  70. package/docs_website/docs/code-snippet-tutorial/pv-images.mdx +28 -0
  71. package/docs_website/docs/code-snippet-tutorial/quick-start.mdx +82 -0
  72. package/docs_website/docs/code-snippet-tutorial/regions.mdx +49 -0
  73. package/docs_website/docs/contributing/_category_.json +7 -0
  74. package/docs_website/docs/contributing/developer-tips.md +61 -0
  75. package/docs_website/docs/contributing/documentation-guidelines.md +87 -0
  76. package/docs_website/docs/contributing/github-workflow.md +146 -0
  77. package/docs_website/docs/contributing/release-guidelines.md +73 -0
  78. package/docs_website/docs/contributing/unit-test-guidelines.md +79 -0
  79. package/docs_website/docs/documents.mdx +15 -0
  80. package/docs_website/docusaurus.config.js +167 -0
  81. package/docs_website/package-lock.json +16769 -0
  82. package/docs_website/package.json +121 -0
  83. package/docs_website/patches/@docusaurus+core+3.9.2.patch +20 -0
  84. package/docs_website/sidebars.js +33 -0
  85. package/docs_website/static/.nojekyll +0 -0
  86. package/docs_website/static/img/carta_icon_128px.png +0 -0
  87. package/docs_website/versioned_docs/version-4.1.0/api-packages.json +1 -0
  88. package/docs_website/versioned_docs/version-4.1.0/api-typedoc.json +214112 -0
  89. package/docs_website/versioned_docs/version-4.1.0/assets/enable-code-snippets.png +0 -0
  90. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/_category_.json +8 -0
  91. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/basics.md +97 -0
  92. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/image-fitting.mdx +42 -0
  93. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/image-properties.mdx +86 -0
  94. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/moment-images.mdx +31 -0
  95. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/pv-images.mdx +28 -0
  96. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/quick-start.mdx +82 -0
  97. package/docs_website/versioned_docs/version-4.1.0/code-snippet-tutorial/regions.mdx +49 -0
  98. package/docs_website/versioned_docs/version-4.1.0/contributing/_category_.json +7 -0
  99. package/docs_website/versioned_docs/version-4.1.0/contributing/developer-tips.md +36 -0
  100. package/docs_website/versioned_docs/version-4.1.0/contributing/documentation-guidelines.md +87 -0
  101. package/docs_website/versioned_docs/version-4.1.0/contributing/github-workflow.md +141 -0
  102. package/docs_website/versioned_docs/version-4.1.0/contributing/release-guidelines.md +73 -0
  103. package/docs_website/versioned_docs/version-4.1.0/contributing/unit-test-guidelines.md +79 -0
  104. package/docs_website/versioned_docs/version-4.1.0/documents.mdx +15 -0
  105. package/docs_website/versioned_docs/version-5.0.0/api-packages.json +1 -0
  106. package/docs_website/versioned_docs/version-5.0.0/api-typedoc.json +315266 -0
  107. package/docs_website/versioned_docs/version-5.0.0/assets/enable-code-snippets.png +0 -0
  108. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/_category_.json +8 -0
  109. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/basics.md +97 -0
  110. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/image-blending.mdx +57 -0
  111. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/image-fitting.mdx +44 -0
  112. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/image-properties.mdx +86 -0
  113. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/moment-images.mdx +31 -0
  114. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/pv-images.mdx +28 -0
  115. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/quick-start.mdx +82 -0
  116. package/docs_website/versioned_docs/version-5.0.0/code-snippet-tutorial/regions.mdx +49 -0
  117. package/docs_website/versioned_docs/version-5.0.0/contributing/_category_.json +7 -0
  118. package/docs_website/versioned_docs/version-5.0.0/contributing/developer-tips.md +36 -0
  119. package/docs_website/versioned_docs/version-5.0.0/contributing/documentation-guidelines.md +87 -0
  120. package/docs_website/versioned_docs/version-5.0.0/contributing/github-workflow.md +141 -0
  121. package/docs_website/versioned_docs/version-5.0.0/contributing/release-guidelines.md +73 -0
  122. package/docs_website/versioned_docs/version-5.0.0/contributing/unit-test-guidelines.md +79 -0
  123. package/docs_website/versioned_docs/version-5.0.0/documents.mdx +15 -0
  124. package/docs_website/versioned_sidebars/version-4.1.0-sidebars.json +8 -0
  125. package/docs_website/versioned_sidebars/version-5.0.0-sidebars.json +8 -0
  126. package/docs_website/versions.json +4 -0
  127. package/eslint.config.mjs +86 -0
  128. package/jest.config.js +101 -0
  129. package/package.json +186 -0
  130. package/patches/golden-layout+1.5.9.patch +24 -0
  131. package/patches/react-split-pane+0.1.92.patch +20 -0
  132. package/rsbuild.config.ts +75 -0
  133. package/schemas/.github/workflows/AddToCartaVisProject.yml +23 -0
  134. package/schemas/.prettierrc.json +18 -0
  135. package/schemas/CMakeLists.txt +15 -0
  136. package/schemas/README.md +1 -0
  137. package/schemas/_config.yml +7 -0
  138. package/schemas/controller_config_schema_1.json +343 -0
  139. package/schemas/controller_config_schema_2.json +685 -0
  140. package/schemas/layout_schema_2.json +440 -0
  141. package/schemas/preference_backend_schema_1.json +81 -0
  142. package/schemas/preference_backend_schema_2.json +118 -0
  143. package/schemas/preference_schema_1.json +410 -0
  144. package/schemas/preferences_schema_2.json +421 -0
  145. package/schemas/schemacompiler.c +200 -0
  146. package/schemas/snippet_schema_1.json +45 -0
  147. package/schemas/workspace_schema_1.json +573 -0
  148. package/scripts/make_colormaps.py +161 -0
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Describe the bug**
11
+ A clear and concise description of what the bug is.
12
+
13
+ **To Reproduce**
14
+ Steps to reproduce the behavior:
15
+ 1. Go to '...'
16
+ 2. Click on '....'
17
+ 3. Scroll down to '....'
18
+ 4. See error
19
+
20
+ **Expected behavior**
21
+ A clear and concise description of what you expected to happen.
22
+
23
+ **Screenshots or videos**
24
+ If applicable, add screenshots/videos to help explain your problem.
25
+
26
+ **Platform info (please complete the following information):**
27
+ - OS [e.g. macOS Monterey]:
28
+ - Browser [e.g. chrome, safari, electron app]:
29
+ - Browser version [e.g. 22]:
30
+ - Backend branch [e.g. dev, v3b2 release]:
31
+ - Frontend branch [e.g. dev, v3b2 release]:
32
+
33
+ **Additional context**
34
+ Add any other context about the problem here.
@@ -0,0 +1,23 @@
1
+ **Description**
2
+
3
+ linked issues and companion PRs (if there are), what is implemented or fixed, how to test it, …
4
+
5
+ **Checklist**
6
+
7
+ For linked issues (if there are):
8
+ - [ ] assignee and label added
9
+ - [ ] GitHub Project estimate added
10
+
11
+ For the pull request:
12
+ - [ ] reviewers and assignee added
13
+ - [ ] GitHub Project estimate added
14
+ - [ ] changelog updated / no changelog update needed
15
+ - [ ] unit test added (for functions with no dependenies)
16
+ - [ ] API documentation added (for public variables and methods in stores)
17
+
18
+ For dependencies:
19
+ - [ ] e2e test passing / corresponding fix added / new e2e test created
20
+ - [ ] protobuf version bumped / no protobuf version bumped needed
21
+ - [ ] protobuf updated to the latest dev commit / no protobuf update needed
22
+ - [ ] corresponding ICD test fix added (`BackendService` changed) / no ICD test fix needed (`BackendService` unchanged)
23
+ - [ ] user manual prepared (for large new features)
@@ -0,0 +1,139 @@
1
+ name: CI
2
+ on: [push]
3
+ jobs:
4
+
5
+ format-check:
6
+ runs-on: ubuntu-latest
7
+ steps:
8
+ - uses: actions/checkout@v6
9
+ - uses: actions/setup-node@v4
10
+ with:
11
+ node-version: 20
12
+ cache: 'npm'
13
+ - run: npm install
14
+ - run: npm run checkformat
15
+
16
+ doc-format-check:
17
+ runs-on: ubuntu-latest
18
+ defaults:
19
+ run:
20
+ working-directory: ./docs_website
21
+ steps:
22
+ - uses: actions/checkout@v6
23
+ - uses: actions/setup-node@v4
24
+ with:
25
+ node-version: 20
26
+ cache: npm
27
+ - run: npm ci
28
+ - run: npm run checkformat
29
+
30
+ test-doc:
31
+ name: Test deployment of the documentation website
32
+ runs-on: ubuntu-latest
33
+ defaults:
34
+ run:
35
+ working-directory: ./docs_website
36
+ needs: doc-format-check
37
+ steps:
38
+ - uses: actions/checkout@v6
39
+ - uses: actions/setup-node@v4
40
+ with:
41
+ node-version: 20
42
+ cache: npm
43
+
44
+ - name: Install dependencies
45
+ run: npm ci
46
+ - name: Test build website
47
+ run: npm run build
48
+
49
+ node-v22:
50
+ runs-on: [self-hosted, Linux, X64, Docker]
51
+ needs: format-check
52
+ container:
53
+ image: carta/frontend-builder
54
+ options: --security-opt seccomp=unconfined
55
+ steps:
56
+ - name: Checkout
57
+ uses: actions/checkout@v6
58
+ with:
59
+ submodules: recursive
60
+
61
+ - name: Fix ownership
62
+ run: |
63
+ chown -R $(id -u):$(id -g) $PWD
64
+
65
+ - name: Build libs
66
+ shell: bash
67
+ run: |
68
+ source /emsdk/emsdk_env.sh
69
+ ./wasm_libs/build_libs.sh
70
+
71
+ - name: npm install with node 22
72
+ shell: bash
73
+ run: |
74
+ n 22
75
+ n exec 22 node -v
76
+ n exec 22 npm install
77
+
78
+ - name: Production build with node 22
79
+ shell: bash
80
+ run: |
81
+ source /emsdk/emsdk_env.sh
82
+ n exec 22 npm run build
83
+
84
+ - name: Run unit tests
85
+ shell: bash
86
+ run: n exec 22 npm test
87
+
88
+ node-v20:
89
+ runs-on: [self-hosted, Linux, X64, Docker]
90
+ needs: format-check
91
+ container:
92
+ image: carta/frontend-builder
93
+ options: --security-opt seccomp=unconfined
94
+ steps:
95
+ - name: Checkout
96
+ uses: actions/checkout@v6
97
+ with:
98
+ submodules: recursive
99
+
100
+ - name: Fix ownership
101
+ run: |
102
+ chown -R $(id -u):$(id -g) $PWD
103
+
104
+ - name: Build libs
105
+ shell: bash
106
+ run: |
107
+ source /emsdk/emsdk_env.sh
108
+ ./wasm_libs/build_libs.sh
109
+
110
+ - name: npm install with node 20
111
+ shell: bash
112
+ run: |
113
+ n 20
114
+ n exec 20 node -v
115
+ n exec 20 npm install
116
+
117
+ - name: Production build with node 20
118
+ shell: bash
119
+ run: |
120
+ source /emsdk/emsdk_env.sh
121
+ n exec 20 npm run build
122
+
123
+ - name: Run unit tests
124
+ shell: bash
125
+ run: n exec 20 npm test
126
+
127
+ Notify:
128
+ name: Send notifications
129
+ runs-on: ubuntu-latest
130
+ needs: [format-check, node-v20, node-v22]
131
+ if: always()
132
+ steps:
133
+ - name: Notify Slack
134
+ uses: baijunyao/action-slack-notify@v3.1.0
135
+ if: ${{ github.event_name == 'push' }}
136
+ with:
137
+ slack_channel_id: actions-build-status
138
+ slack_bot_token: ${{ secrets.SLACK_BOT_TOKEN }}
139
+ github_context: ${{ toJson(github) }}
@@ -0,0 +1,30 @@
1
+ name: Deploy to GitHub Pages
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - dev
7
+
8
+ jobs:
9
+ deploy:
10
+ name: Deploy to GitHub Pages
11
+ runs-on: ubuntu-latest
12
+ defaults:
13
+ run:
14
+ working-directory: ./docs_website
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - uses: actions/setup-node@v4
18
+ with:
19
+ node-version: 20
20
+ cache: npm
21
+
22
+ - name: Install dependencies
23
+ run: npm install
24
+ - name: Build website
25
+ run: npm run build
26
+ - name: Deploy to GitHub Pages
27
+ uses: peaceiris/actions-gh-pages@v4
28
+ with:
29
+ github_token: ${{ secrets.GITHUB_TOKEN }}
30
+ publish_dir: ./docs_website/build
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env sh
2
+
3
+ set -e
4
+
5
+ docs_prettier="docs_website/node_modules/.bin/prettier"
6
+
7
+ if git diff --cached --name-only --diff-filter=ACMR | grep -q '^docs_website/'; then
8
+ if [ ! -e "$docs_prettier" ]; then
9
+ echo "[pre-commit] docs_website changes detected but docs dependencies are missing."
10
+ echo "[pre-commit] Run: npm --prefix docs_website install"
11
+ exit 1
12
+ fi
13
+ fi
14
+
15
+ echo "[pre-commit] Running lint-staged..."
16
+ npx lint-staged
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env sh
2
+
3
+ set -e
4
+
5
+ zero_hash="0000000000000000000000000000000000000000"
6
+ docs_changed=0
7
+ docs_prettier="docs_website/node_modules/.bin/prettier"
8
+
9
+ echo "[pre-push] Running root checks..."
10
+ npm run check-eslint
11
+ npm run checkformat
12
+
13
+ while read -r local_ref local_sha remote_ref remote_sha; do
14
+ [ -z "$local_sha" ] && continue
15
+ [ "$local_sha" = "$zero_hash" ] && continue
16
+
17
+ if [ "$remote_sha" = "$zero_hash" ]; then
18
+ commits="$(git rev-list "$local_sha" --not --remotes)"
19
+ else
20
+ commits="$(git rev-list "$remote_sha..$local_sha")"
21
+ fi
22
+
23
+ [ -z "$commits" ] && continue
24
+
25
+ if echo "$commits" | xargs git diff-tree --no-commit-id --name-only -r | grep -q '^docs_website/'; then
26
+ docs_changed=1
27
+ break
28
+ fi
29
+ done
30
+
31
+ if [ "$docs_changed" -eq 1 ]; then
32
+ if [ ! -e "$docs_prettier" ]; then
33
+ echo "[pre-push] docs_website changes detected but docs dependencies are missing."
34
+ echo "[pre-push] Run: npm --prefix docs_website install"
35
+ exit 1
36
+ fi
37
+
38
+ echo "[pre-push] docs_website changes detected. Running docs checkformat..."
39
+ npm --prefix docs_website run checkformat
40
+ else
41
+ echo "[pre-push] No docs_website changes detected. Skipping docs checkformat."
42
+ fi
@@ -0,0 +1 @@
1
+ src/static/gitInfo.ts
@@ -0,0 +1,18 @@
1
+ {
2
+ "arrowParens": "avoid",
3
+ "bracketSpacing": false,
4
+ "embeddedLanguageFormatting": "auto",
5
+ "htmlWhitespaceSensitivity": "css",
6
+ "insertPragma": false,
7
+ "bracketSameLine": false,
8
+ "jsxSingleQuote": false,
9
+ "proseWrap": "preserve",
10
+ "quoteProps": "as-needed",
11
+ "requirePragma": false,
12
+ "semi": true,
13
+ "singleQuote": false,
14
+ "trailingComma": "none",
15
+ "useTabs": false,
16
+ "printWidth": 240,
17
+ "tabWidth": 4
18
+ }