Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
38dc81d
added ts file format support and mesh scaling
ponchio Jan 21, 2025
9248d1f
fixed CMakeLists.txt
ponchio Jan 21, 2025
7f88480
typo.
ponchio Jan 21, 2025
390eca2
Update Windows.yml (release)
ponchio Feb 3, 2025
7965ac3
Update Windows.yml to v4
ponchio Feb 3, 2025
848f7a6
fixed log2 redefinition for ms
ponchio Feb 3, 2025
989e907
removed spurius text
ponchio Feb 3, 2025
2e022cb
looking for mtllib in .obj
ponchio Feb 6, 2025
baa5751
added colormap for .tsp files properties.
ponchio Feb 13, 2025
b807a68
missing colormap added to cmake
ponchio Feb 13, 2025
1fa3022
new build workflow
alemuntoni Mar 28, 2025
bd60e6f
fix cmake qt
alemuntoni Mar 28, 2025
6866f48
remove old workflows
alemuntoni Mar 28, 2025
dd3ed61
deploy linux
alemuntoni Mar 28, 2025
b0b8f1c
composite action
alemuntoni Mar 28, 2025
1f7c6aa
ccache
alemuntoni Mar 28, 2025
0b2b830
windows zip
alemuntoni Mar 28, 2025
9fb8dfa
create release workflow
alemuntoni Mar 28, 2025
9ade4a1
move archive to upload action, and add sign
alemuntoni Mar 28, 2025
eb8c1ad
cmake minimum versions 3.10
alemuntoni Apr 2, 2025
ca03cc4
Set Nexus version to 2025.05
alemuntoni May 9, 2025
51d8275
ply with texture coords but no textures specified
ponchio Jun 5, 2025
141ba17
CMake: install lib & exports
nim65s Sep 17, 2025
df9bcac
Merge pull request #173 from nim65s/packaging
ponchio Sep 22, 2025
af309c0
Update corto submodule to latest version (v2025.07-2-gc0c80fe)
ponchio Sep 22, 2025
ad0933d
CMake: only export if system dependencies
nim65s Sep 22, 2025
7ac6119
Merge pull request #174 from nim65s/fix-ci
ponchio Sep 22, 2025
84dc005
Update matrix OS to use macos-15-intel instead of macos-13
alemuntoni Nov 7, 2025
2476cd3
Added threejs nexus classes and demo.
ponchio Dec 10, 2025
270aa98
Updated to last threejs version, threejs is now an external dependency.
ponchio Dec 10, 2025
c368b00
updated corto submodule
ponchio Dec 12, 2025
f4f31b0
Added deepzoom nxsedit support.
ponchio Jan 2, 2026
3f5178a
indexedDB works also for textures
ponchio Jan 2, 2026
2bc3739
updated npm package nexus3d to modern standards
ponchio Feb 12, 2026
e416db8
ported to qt6
ponchio Apr 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 86 additions & 0 deletions .github/actions/build_and_deploy/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: 'Build and Deploy'
description: 'Build and Deploy'

runs:
using: "composite"
steps:
- name: Setup MSVC
uses: ilammy/msvc-dev-cmd@v1
- name: Install Qt
uses: jurplel/install-qt-action@v4
if: ${{ matrix.os != 'macos-latest' && matrix.os != 'ubuntu-22.04-arm' }}
with:
cache: true
version: '5.15.2'
- name: Setup Env variables
shell: bash
id: envs
run: |
echo "name=VCINSTALLDIR::C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC" >> $GITHUB_ENV
ARCH=$(uname -m)
echo "arch=$ARCH" >> $GITHUB_OUTPUT
- name: Clone VCG
shell: bash
run: |
cd ..
git clone --single-branch --branch devel https://github.com/cnr-isti-vclab/vcglib
- name: Install dependencies Linux
shell: bash
if: ${{ runner.os == 'Linux' }}
run: |
sudo apt-get install -y mesa-common-dev libglu1-mesa-dev libglew-dev ninja-build
- name: Install dependencies Linux arm
shell: bash
if: ${{ matrix.os == 'ubuntu-22.04-arm' }}
run: |
sudo apt-get install -y qtbase5-dev qt5-qmake
- name: Install dependencies macOS arm
shell: bash
if: ${{ matrix.os == 'macos-latest' }}
run: |
brew install qt@5
echo Qt5_DIR=$(brew --prefix qt@5) >> $GITHUB_ENV
echo $(brew --prefix qt@5)/bin >> $GITHUB_PATH
- name: Ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ matrix.os }}-${{ github.ref }}
- name: Configure and Build
shell: bash
run: |
mkdir build
mkdir install
cd build
cmake -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Release -GNinja -DCMAKE_INSTALL_PREFIX=../install ..
ninja
ninja install
- name: Deploy Linux
shell: bash
if: ${{ runner.os == 'Linux' }}
run: |
cd install
# download linuxdeployqt
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/1-alpha-20250213-2/linuxdeploy-${{ steps.envs.outputs.arch }}.AppImage
chmod +x linuxdeploy-${{ steps.envs.outputs.arch }}.AppImage
wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/1-alpha-20250213-1/linuxdeploy-plugin-qt-${{ steps.envs.outputs.arch }}.AppImage
chmod +x linuxdeploy-plugin-qt-${{ steps.envs.outputs.arch }}.AppImage
# deploy
./linuxdeploy-${{ steps.envs.outputs.arch }}.AppImage --executable=$PWD/bin/nxsbuild --executable=$PWD/bin/nxscompress --executable=$PWD/bin/nxsedit --executable=$PWD/bin/nxsview --appdir=. --plugin qt
rm -r bin
rm linuxdeploy-${{ steps.envs.outputs.arch }}.AppImage linuxdeploy-plugin-qt-${{ steps.envs.outputs.arch }}.AppImage
- name: Deploy MacOS
shell: bash
if: ${{ runner.os == 'macOS' }}
run: |
cd install
macdeployqt nxsview.app -executable=nxsview.app/Contents/MacOS/nxsbuild -executable=nxsview.app/Contents/MacOS/nxscompress -executable=nxsview.app/Contents/MacOS/nxsedit
rm -r bin
rm -r lib
- name: Deploy Windows
shell: bash
if: ${{ runner.os == 'Windows' }}
run: |
cd install/bin
windeployqt nxsview.exe
cd ..
mv bin nexus_portable-${{ steps.envs.outputs.arch }}
48 changes: 48 additions & 0 deletions .github/actions/upload/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: 'Upload'
description: 'Upload'

runs:
using: "composite"
steps:
- name: Setup Env variables
shell: bash
id: envs
run: |
ARCH=$(uname -m)
echo "arch=$ARCH" >> $GITHUB_OUTPUT
- name: Archive Linux
shell: bash
if: ${{ runner.os == 'Linux' }}
run: |
cd install
tar -cvzf nexus-linux-${{ steps.envs.outputs.arch }}.tar.gz *
- name: Upload nexus Linux
uses: actions/upload-artifact@v4
if: ${{ runner.os == 'Linux' }}
with:
name: nexus-linux-${{ steps.envs.outputs.arch }}
path: install/nexus-linux-${{ steps.envs.outputs.arch }}.tar.gz
- name: Archive MacOS
shell: bash
if: ${{ runner.os == 'macOS' }}
run: |
cd install
tar -cvzf nxsview-macos-${{ steps.envs.outputs.arch }}.tar.gz *
- name: Upload nxsview MacOS
uses: actions/upload-artifact@v4
if: ${{ runner.os == 'macOS' }}
with:
name: nxsview-macos-${{ steps.envs.outputs.arch }}
path: install/nxsview-macos-${{ steps.envs.outputs.arch }}.tar.gz
- name: Archive Windows
shell: bash
if: ${{ runner.os == 'Windows' }}
run: |
cd install
powershell Compress-Archive -Path nexus_portable-${{ steps.envs.outputs.arch }} -DestinationPath nexus-windows-${{ steps.envs.outputs.arch }}.zip
- name: Uploading Nexus Windows
uses: actions/upload-artifact@v4
if: ${{ runner.os == 'Windows' }}
with:
name: nexus-windows-${{ steps.envs.outputs.arch }}
path: install/nexus-windows-${{ steps.envs.outputs.arch }}.zip
22 changes: 22 additions & 0 deletions .github/workflows/BuildNexus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: BuildNexus

on:
[push, pull_request]

jobs:
build_nexus:
name: Build Nexus
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ['ubuntu-22.04', 'ubuntu-22.04-arm', 'macos-15-intel', 'macos-latest', 'windows-latest']

steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Build and Deploy
uses: ./.github/actions/build_and_deploy
- name: Upload
uses: ./.github/actions/upload
70 changes: 70 additions & 0 deletions .github/workflows/CreateRelease.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: CreateRelease

on:
workflow_dispatch:
inputs:
version:
description: 'New Nexus Version'
required: true
default: 'X.Y'

jobs:
update_version:
name: Update Version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Update NEXUS_VERSION
run: |
echo ${{ github.event.inputs.version }} | tr -d '\n'> NEXUS_VERSION
- name: Commit change
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Set Nexus version to ${{ github.event.inputs.version }}

build_nexus:
name: Build Nexus
needs: update_version
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ['ubuntu-22.04', 'ubuntu-22.04-arm', 'macos-15-intel', 'macos-latest', 'windows-latest']
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Build and Deploy
uses: ./.github/actions/build_and_deploy
- name: Sign and Notarize
uses: cnr-isti-vclab/sign-and-notarize@v1
with:
input-path: 'install/*.app'
macos-certificate: '${{ secrets.MACOS_CERTIFICATE }}'
macos-certificate-id: '${{ secrets.MACOS_CERT_ID }}'
macos-certificate-password: '${{ secrets.MACOS_CERTIFICATE_PSSW }}'
macos-notarization-team: '${{ secrets.MACOS_NOTARIZATION_TEAM_ID }}'
macos-notarization-user: '${{ secrets.MACOS_NOTARIZATION_USER }}'
macos-notarization-password: '${{ secrets.MACOS_NOTARIZATION_PSSW }}'
- name: Upload
uses: ./.github/actions/upload

create_release:
name: Create Release
needs: build_nexus
runs-on: ubuntu-latest
steps:
#download all the artifacts
- name: Download Nexus Artifacts
uses: actions/download-artifact@v4
with:
path: artifacts/

#Create release
- name: Create Release
uses: "ncipollo/release-action@v1"
with:
token: "${{ secrets.GITHUB_TOKEN }}"
tag: v${{ github.event.inputs.version }}
name: 'Nexus v${{ github.event.inputs.version }}'
artifacts: |
artifacts/n*/*
31 changes: 0 additions & 31 deletions .github/workflows/Linux.yml

This file was deleted.

45 changes: 0 additions & 45 deletions .github/workflows/MacOS.yml

This file was deleted.

47 changes: 0 additions & 47 deletions .github/workflows/Windows.yml

This file was deleted.

Loading