mirror of
https://github.com/yeicor-3d/yet-another-cad-viewer.git
synced 2025-12-19 22:24:17 +01:00
Compare commits
5 Commits
v0.1.0-alp
...
v0.1.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d3fbe254cb | ||
|
|
2475a00622 | ||
|
|
4bd025e7d5 | ||
|
|
94e316472a | ||
|
|
258256912b |
6
.github/workflows/build.yml
vendored
6
.github/workflows/build.yml
vendored
@@ -37,8 +37,8 @@ jobs:
|
||||
with:
|
||||
python-version: "3.11"
|
||||
cache: "poetry"
|
||||
- run: "poetry install"
|
||||
- run: "poetry build"
|
||||
- run: "SKIP_BUILD_FRONTEND=true poetry install"
|
||||
- run: "SKIP_BUILD_FRONTEND=true poetry build"
|
||||
|
||||
build-logo:
|
||||
name: "Build logo"
|
||||
@@ -53,7 +53,7 @@ jobs:
|
||||
with:
|
||||
python-version: "3.11"
|
||||
cache: "poetry"
|
||||
- run: "poetry install"
|
||||
- run: "SKIP_BUILD_FRONTEND=true poetry install"
|
||||
- run: "poetry run python yacv_server/logo.py"
|
||||
- run: "cp assets/fox.glb assets/logo_build/fox.glb"
|
||||
- uses: "actions/upload-artifact@v4"
|
||||
|
||||
18
.github/workflows/deploy.yml
vendored
18
.github/workflows/deploy.yml
vendored
@@ -17,7 +17,7 @@ concurrency:
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
deploy-frontend:
|
||||
runs-on: "ubuntu-latest"
|
||||
environment:
|
||||
name: "github-pages"
|
||||
@@ -35,18 +35,18 @@ jobs:
|
||||
name: "logo"
|
||||
path: "./public"
|
||||
allow_forks: false
|
||||
- uses: "svenstaro/upload-release-action@v2"
|
||||
with:
|
||||
repo_token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
file: "./public/*"
|
||||
asset_name: "frontend"
|
||||
tag: "${{ github.ref }}"
|
||||
overwrite: true
|
||||
file_glob: true
|
||||
- uses: "actions/configure-pages@v4"
|
||||
- uses: "actions/upload-pages-artifact@v3"
|
||||
with:
|
||||
path: 'public'
|
||||
- id: "deployment"
|
||||
uses: "actions/deploy-pages@v4"
|
||||
- run: 'zip -r frontend.zip public'
|
||||
- uses: "svenstaro/upload-release-action@v2"
|
||||
with:
|
||||
repo_token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
file: "frontend.zip"
|
||||
tag: "${{ github.ref }}"
|
||||
overwrite: true
|
||||
|
||||
# TODO: deploy-backend
|
||||
|
||||
7
build.py
7
build.py
@@ -2,6 +2,7 @@ import os
|
||||
import subprocess
|
||||
|
||||
if __name__ == "__main__":
|
||||
# When building the backend, make sure the frontend is built first
|
||||
subprocess.run(['yarn', 'install'], check=True)
|
||||
subprocess.run(['yarn', 'build', '--outDir', 'yacv_server/frontend'], check=True)
|
||||
if os.getenv('SKIP_BUILD_FRONTEND') is None:
|
||||
# When building the backend, make sure the frontend is built first
|
||||
subprocess.run(['yarn', 'install'], check=True)
|
||||
subprocess.run(['yarn', 'build', '--outDir', 'yacv_server/frontend'], check=True)
|
||||
|
||||
@@ -88,7 +88,7 @@ let selectionListener = (event: MouseEvent) => {
|
||||
// Find all hit objects and select the wanted one based on the filter
|
||||
const hits = raycaster.intersectObject(scene, true);
|
||||
let hit = hits.find((hit: Intersection<Object3D>) => {
|
||||
if (!hit.object || !(hit.object as any).isMesh) return false;
|
||||
if (!hit.object) return false;
|
||||
const kind = hit.object.type
|
||||
let isFace = kind === 'Mesh' || kind === 'SkinnedMesh';
|
||||
let isEdge = kind === 'Line' || kind === 'LineSegments';
|
||||
|
||||
@@ -28,6 +28,7 @@ if not os.path.exists(FRONTEND_BASE_PATH):
|
||||
FRONTEND_BASE_PATH = os.path.join(FILE_DIR, '..', 'dist')
|
||||
else:
|
||||
logger.warning('Frontend not found at %s', FRONTEND_BASE_PATH)
|
||||
FRONTEND_BASE_PATH = None
|
||||
|
||||
# Define the API paths (also available at the root path for simplicity)
|
||||
UPDATES_API_PATH = '/api/updates'
|
||||
@@ -84,7 +85,8 @@ class Server:
|
||||
self.app.router.add_get('/', self._entrypoint)
|
||||
# - Static files from the frontend
|
||||
self.app.router.add_get('/{path:(.*/|)}', _index_handler) # Any folder -> index.html
|
||||
self.app.router.add_static('/', path=FRONTEND_BASE_PATH, name='static_frontend')
|
||||
if FRONTEND_BASE_PATH is not None:
|
||||
self.app.router.add_static('/', path=FRONTEND_BASE_PATH, name='static_frontend')
|
||||
# --- CORS ---
|
||||
cors = aiohttp_cors.setup(self.app, defaults={
|
||||
"*": aiohttp_cors.ResourceOptions(
|
||||
|
||||
Reference in New Issue
Block a user