Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 3 additions & 0 deletions engine/3rdparty/JoltPhysics/Jolt/Core/JobSystemThreadPool.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
#include <Jolt/Core/Profiler.h>
#include <Jolt/Core/FPException.h>

#include <chrono>
using namespace std::chrono_literals;

JPH_SUPPRESS_WARNINGS_STD_BEGIN
#include <algorithm>
JPH_SUPPRESS_WARNINGS_STD_END
Expand Down
15 changes: 15 additions & 0 deletions engine/3rdparty/tinyobjloader/.github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# These are supported funding model platforms

github: syoyo # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
thanks_dev: # Replace with a single thanks.dev username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Issue report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the issue**
A clear and concise description of what the issue is.

**To Reproduce**
Steps to reproduce the behavior:
1. Compile TinyObjLoader with '...'
2. Load .obj file '...'
3. See error

Please attach minimal and reproducible files(source codes, .obj/.mtl files, etc)

**Expected behavior**
A clear and concise description of what you expected to happen.

**Environment**
- TinyObjLoader version
- OS: [e.g. Linux]
- Compiler [e.g. gcc 7.3]
- Other environment [e.g. Python version if you use python binding]
22 changes: 22 additions & 0 deletions engine/3rdparty/tinyobjloader/.github/workflows/cron.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Close inactive issues
on:
schedule:
- cron: "30 1 * * *"

jobs:
close-issues:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v9
with:
days-before-issue-stale: 14
days-before-issue-close: 14
stale-issue-label: "stale"
stale-issue-message: "This issue is stale because it has been open for 14 days with no activity."
close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale."
days-before-pr-stale: -1
days-before-pr-close: -1
repo-token: ${{ secrets.GITHUB_TOKEN }}
196 changes: 196 additions & 0 deletions engine/3rdparty/tinyobjloader/.github/workflows/python.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
name: Python

on: [push, pull_request]

jobs:
check_format:
name: Check Python code format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "latest"

- name: Set up Python and install dependencies
working-directory: tests/python
run: uv sync --project . --python 3.13

- name: Check code format
working-directory: tests/python
run: uv run --project . black --check ../..

build_wheels_quick:
name: Build wheels for quick testing
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true # Optional, use if you use setuptools_scm

- name: Build wheels
uses: pypa/cibuildwheel@v3.3.1
env:
# These are the only wheels we need for the `test_wheels` job. For
# faster iteration times, we limit the job to only build these wheels.
# Restrict to CPython to avoid building unused PyPy wheels.
CIBW_BUILD: "cp*-manylinux_x86_64"

- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-quick
path: ./wheelhouse/*.whl

test_wheels:
name: Test wheels with Python ${{ matrix.python-version }} and NumPy ${{ matrix.numpy-version }}
needs: [build_wheels_quick]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- python-version: "3.9"
numpy-version: "1.25.2"
- python-version: "3.10"
numpy-version: "1.26.4"
- python-version: "3.11"
numpy-version: "1.26.4"
- python-version: "3.12"
numpy-version: "1.26.4"
- python-version: "3.11"
numpy-version: "2.4.2"
- python-version: "3.12"
numpy-version: "2.4.2"

steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "latest"

- name: Download wheel artifacts
uses: actions/download-artifact@v4
with:
pattern: cibw-wheels-quick
path: dist
merge-multiple: true

- name: Set up Python ${{ matrix.python-version }} and install dependencies
working-directory: tests/python
run: uv sync --project . --python ${{ matrix.python-version }}

- name: Install NumPy ${{ matrix.numpy-version }}
working-directory: tests/python
run: |
uv pip install --project . --only-binary :all: numpy==${{ matrix.numpy-version }}

- name: Install manylinux wheel built for Python ${{ matrix.python-version }}
working-directory: tests/python
run: uv pip install --project . ../../dist/*cp$(echo ${{ matrix.python-version }} | tr -d .)*.whl

- name: Run tests
working-directory: tests/python
run: uv run --project . pytest

build_wheels_main:
name: Build remaining wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true # Optional, use if you use setuptools_scm

- name: Build wheels
uses: pypa/cibuildwheel@v3.3.1
env:
CIBW_ARCHS_MACOS: "x86_64 universal2 arm64"
CIBW_ARCHS_WINDOWS: "AMD64"
# The quick build has already taken care of manylinux.
CIBW_SKIP: "*-manylinux_x86_64"

- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-main-${{ matrix.os }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl

# It looks cibuildwheels did not clean build folder(CMake), and it results to Windows arm64 build failure(trying to reuse x86 build of .obj)
# So supply separated build job for Windows ARM64 build
# TODO: clean build folder using CIBW_BEFORE_ALL?
build_wheels_win_arm64:
name: Build ARM64 wheels on Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true # Optional, use if you use setuptools_scm

- name: Build wheels
uses: pypa/cibuildwheel@v3.3.1
env:
CIBW_ARCHS_WINDOWS: "ARM64"

- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-win-arm64
path: ./wheelhouse/*.whl

make_sdist:
name: Make SDist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Optional, use if you use setuptools_scm
fetch-tags: true # Optional, use if you use setuptools_scm

- name: Build SDist
run: pipx run build --sdist

- uses: actions/upload-artifact@v4
with:
name: cibw-sdist
path: dist/*.tar.gz

upload_all:
needs: [build_wheels_quick, build_wheels_main, build_wheels_win_arm64, make_sdist]
runs-on: ubuntu-latest
environment: release
permissions:
# IMPORTANT: this permission is mandatory for trusted publishing
id-token: write
# upload to PyPI on every tag starting with 'v'
# NOTE: Without github.event_name & githug.ref check, `upload_all` task is still triggered on 'main' branch push.
# (then get 'Branch "main" is not allowed to deploy to release due to environment protection rules.' error)
# So still do event_name and github.ref check.
# TODO: Make it work only using Github `environment` feature.
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
# alternatively, to publish when a GitHub Release is created, use the following rule:
# if: github.event_name == 'push' && github.event.action == 'published'
steps:
- uses: actions/download-artifact@v4
with:
pattern: cibw-*
path: dist
merge-multiple: true

- uses: pypa/gh-action-pypi-publish@release/v1
with:
# Use Trusted Publisher feature:
# https://docs.pypi.org/trusted-publishers/
# so no use of PYPI_API_TOKEN
#password: ${{ secrets.PYPI_API_TOKEN }}
#
# Avoid race condition when using multiple CIs
skip-existing: true
verbose: true
22 changes: 22 additions & 0 deletions engine/3rdparty/tinyobjloader/.github/workflows/unit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Unit Tests

on:
push:
branches:
- '**'
tags:
- 'v*'
pull_request:
branches:
- '**'

jobs:
unit_linux:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run unit tests
run: |
cd tests
make check
9 changes: 9 additions & 0 deletions engine/3rdparty/tinyobjloader/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,12 @@ build/
/python/*.egg-info
/python/.eggs
/python/tiny_obj_loader.h
/tests/tester
/tests/tester.dSYM
/_codeql_build_dir/
/_codeql_detected_source_root
/python/_version.py
/tinyobjloader.egg-info/
**/__pycache__/

/Testing/Temporary/
56 changes: 0 additions & 56 deletions engine/3rdparty/tinyobjloader/.travis.yml

This file was deleted.

9 changes: 9 additions & 0 deletions engine/3rdparty/tinyobjloader/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
cc_library(
name = "tinyobjloader",
hdrs = ["tiny_obj_loader.h"],
copts = select({
"@platforms//os:windows": [],
"//conditions:default": ["-Wno-maybe-uninitialized"],
}),
visibility = ["//visibility:public"],
)
Loading