Merge branch 'main' into refactor-structure

This commit is contained in:
Max Ammann 2022-10-23 18:42:39 +02:00 committed by GitHub
commit 61232872b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 306 additions and 70 deletions

View File

@ -0,0 +1,17 @@
name: cargo-install
description: Install a dependency from cargo
inputs:
name:
required: true
description: Name of the dependency
runs:
using: "composite"
steps:
- name: Setup default toolchain
shell: bash
run: rustup show # Installs toolchain specified in rust-toolchain.toml
- name: Install ${{ inputs.name }}
shell: bash
run: cargo binstall --no-confirm ${{ inputs.name }}

View File

@ -0,0 +1,11 @@
name: setup-binstall
description: Setup binstall
runs:
using: "composite"
steps:
- name: Install binstall
shell: bash
run: |
# Install with debug profile -> faster compilation
cargo install --debug cargo-binstall

View File

@ -13,14 +13,21 @@ jobs:
name: Build name: Build
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: extractions/setup-just@v1 - name: Setup binstall
uses: ./.github/actions/setup-binstall
- name: Install just
uses: ./.github/actions/cargo-install
with:
name: just
- name: Install toolchain - name: Install toolchain
shell: bash shell: bash
run: just stable-toolchain run: just stable-toolchain
- uses: Swatinem/rust-cache@v1 - uses: Swatinem/rust-cache@v2
- name: Setup mdBook - name: Install mdbook
uses: peaceiris/actions-mdbook@v1 uses: ./.github/actions/cargo-install
with:
name: mdbook
- name: Install Dependencies - name: Install Dependencies
shell: bash shell: bash
run: sudo apt-get install -y libwayland-dev libxkbcommon-dev # Required for winit run: sudo apt-get install -y libwayland-dev libxkbcommon-dev # Required for winit
@ -31,11 +38,11 @@ jobs:
- name: API Documentation - name: API Documentation
shell: bash shell: bash
run: cargo doc -p maplibre --no-deps --lib --document-private-items run: cargo doc -p maplibre --no-deps --lib --document-private-items
- uses: actions/upload-artifact@v2 - uses: actions/upload-artifact@v3
with: with:
name: api-docs name: api-docs
path: target/doc/ path: target/doc/
- uses: actions/upload-artifact@v2 - uses: actions/upload-artifact@v3
with: with:
name: book name: book
path: docs/book/ path: docs/book/
@ -45,14 +52,14 @@ jobs:
name: Deploy name: Deploy
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Download api-docs - name: Download api-docs
uses: actions/download-artifact@v2 uses: actions/download-artifact@v3
with: with:
name: api-docs name: api-docs
path: artifacts/api path: artifacts/api
- name: Download book - name: Download book
uses: actions/download-artifact@v2 uses: actions/download-artifact@v3
with: with:
name: book name: book
path: artifacts/book path: artifacts/book

View File

@ -8,14 +8,19 @@ jobs:
name: Build name: Build
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: extractions/setup-just@v1 - name: Setup binstall
uses: ./.github/actions/setup-binstall
- name: Install just
uses: ./.github/actions/cargo-install
with:
name: just
- name: Install toolchain - name: Install toolchain
shell: bash shell: bash
run: | run: |
just stable-toolchain just stable-toolchain
just stable-targets x86_64-unknown-linux-gnu just stable-targets x86_64-unknown-linux-gnu
- uses: Swatinem/rust-cache@v1 - uses: Swatinem/rust-cache@v2
- name: Install Dependencies - name: Install Dependencies
shell: bash shell: bash
run: sudo apt-get install -y libwayland-dev libxkbcommon-dev # Required for winit run: sudo apt-get install -y libwayland-dev libxkbcommon-dev # Required for winit
@ -28,7 +33,7 @@ jobs:
- name: Test x86_64 linux - name: Test x86_64 linux
shell: bash shell: bash
run: just test maplibre-demo x86_64-unknown-linux-gnu run: just test maplibre-demo x86_64-unknown-linux-gnu
- uses: actions/upload-artifact@v2 - uses: actions/upload-artifact@v3
with: with:
name: maplibre-rs name: maplibre-rs
path: target/x86_64-unknown-linux-gnu/release/maplibre-demo path: target/x86_64-unknown-linux-gnu/release/maplibre-demo

View File

@ -8,16 +8,19 @@ jobs:
name: Build name: Build
runs-on: macos-12 runs-on: macos-12
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: extractions/setup-just@v1 - name: Setup binstall
env: uses: ./.github/actions/setup-binstall
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Install just
uses: ./.github/actions/cargo-install
with:
name: just
- name: Install toolchain - name: Install toolchain
shell: bash shell: bash
run: | run: |
just stable-toolchain just stable-toolchain
just stable-targets x86_64-apple-darwin just stable-targets x86_64-apple-darwin
- uses: Swatinem/rust-cache@v1 - uses: Swatinem/rust-cache@v2
- name: Build - name: Build
shell: bash shell: bash
run: cd apple/xcode && xcodebuild -scheme "example (macOS)" build CODE_SIGNING_ALLOWED=NO MACOSX_DEPLOYMENT_TARGET=10.9 -derivedDataPath build run: cd apple/xcode && xcodebuild -scheme "example (macOS)" build CODE_SIGNING_ALLOWED=NO MACOSX_DEPLOYMENT_TARGET=10.9 -derivedDataPath build

View File

@ -8,14 +8,19 @@ jobs:
name: Build name: Build
runs-on: windows-2022 runs-on: windows-2022
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: extractions/setup-just@v1 - name: Setup binstall
uses: ./.github/actions/setup-binstall
- name: Install just
uses: ./.github/actions/cargo-install
with:
name: just
- name: Install toolchain - name: Install toolchain
shell: bash shell: bash
run: | run: |
just stable-toolchain just stable-toolchain
just stable-targets x86_64-pc-windows-msvc just stable-targets x86_64-pc-windows-msvc
- uses: Swatinem/rust-cache@v1 - uses: Swatinem/rust-cache@v2
- uses: ilammy/msvc-dev-cmd@v1 # Provide access to lib.exe - uses: ilammy/msvc-dev-cmd@v1 # Provide access to lib.exe
- name: Build - name: Build
shell: bash shell: bash

View File

@ -8,14 +8,19 @@ jobs:
name: Build name: Build
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: extractions/setup-just@v1 - name: Setup binstall
uses: ./.github/actions/setup-binstall
- name: Install just
uses: ./.github/actions/cargo-install
with:
name: just
- name: Install nightly toolchain - name: Install nightly toolchain
shell: bash shell: bash
run: | run: |
just nightly-toolchain just nightly-toolchain
just nightly-targets x86_64-linux-android aarch64-linux-android i686-linux-android just nightly-targets x86_64-linux-android aarch64-linux-android i686-linux-android
- uses: Swatinem/rust-cache@v1 - uses: Swatinem/rust-cache@v2
- name: Set NDK Version - name: Set NDK Version
shell: bash shell: bash
run: | run: |

View File

@ -9,16 +9,25 @@ jobs:
name: Build name: Build
runs-on: macos-12 runs-on: macos-12
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: extractions/setup-just@v1 - name: Setup binstall
env: uses: ./.github/actions/setup-binstall
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Install just
uses: ./.github/actions/cargo-install
with:
name: just
- name: Install toolchain - name: Install toolchain
shell: bash shell: bash
run: | run: |
just stable-toolchain just stable-toolchain
just stable-targets x86_64-apple-darwin aarch64-apple-darwin x86_64-apple-ios aarch64-apple-ios aarch64-apple-ios-sim just stable-targets x86_64-apple-darwin aarch64-apple-darwin x86_64-apple-ios aarch64-apple-ios aarch64-apple-ios-sim
- uses: Swatinem/rust-cache@v1 - uses: Swatinem/rust-cache@v2
- name: Swift Version
shell: bash
run: swift --version
- name: XCode Version
shell: bash
run: xcodebuild -version
- name: Build - name: Build
shell: bash shell: bash
run: just xcodebuild-xcframework run: just xcodebuild-xcframework
@ -38,8 +47,8 @@ jobs:
run: cd apple/xcode && xcodebuild -scheme "example (iOS)" -arch arm64 -sdk iphoneos build CODE_SIGNING_ALLOWED=NO run: cd apple/xcode && xcodebuild -scheme "example (iOS)" -arch arm64 -sdk iphoneos build CODE_SIGNING_ALLOWED=NO
- name: Build Swift Package (arm64) - name: Build Swift Package (arm64)
shell: bash shell: bash
run: cd apple/MapLibreRs && swift build --arch=arm64 run: cd apple/MapLibreRs && swift build -v --arch=arm64 --scratch-path .build-arm64
- name: Build Swift Package (x86_64) - name: Build Swift Package (x86_64)
shell: bash shell: bash
run: cd apple/MapLibreRs && swift build --arch=x86_64 run: cd apple/MapLibreRs && swift build -v --arch=x86_64 --scratch-path .build-x86_64

View File

@ -26,8 +26,13 @@ jobs:
name: Build name: Build
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: extractions/setup-just@v1 - name: Setup binstall
uses: ./.github/actions/setup-binstall
- name: Install just
uses: ./.github/actions/cargo-install
with:
name: just
- name: Install nightly toolchain - name: Install nightly toolchain
shell: bash shell: bash
run: | run: |
@ -39,11 +44,12 @@ jobs:
run: | run: |
just nightly-install-src just nightly-install-src
- name: Install wasm-bindgen - name: Install wasm-bindgen
shell: bash uses: ./.github/actions/cargo-install
run: | # Install wasm-bindgen with test runner
# Install wasm-bindgen with test runner # We want the latest version, as Cargo uses the latest version of wasm-bindgen
cargo install wasm-bindgen-cli # We want the latest version, as Cargo uses the latest version of wasm-bindgen with:
- uses: Swatinem/rust-cache@v1 name: wasm-bindgen-cli
- uses: Swatinem/rust-cache@v2
- name: Build lib - name: Build lib
shell: bash shell: bash
run: just web-lib build --release ${{ inputs.webgl && '--webgl' || '' }} ${{ inputs.multithreaded && '--multithreaded' || '' }} run: just web-lib build --release ${{ inputs.webgl && '--webgl' || '' }} ${{ inputs.multithreaded && '--multithreaded' || '' }}
@ -56,7 +62,7 @@ jobs:
- name: Test - name: Test
shell: bash shell: bash
run: just web-test "web-webgl" run: just web-test "web-webgl"
- uses: actions/upload-artifact@v2 - uses: actions/upload-artifact@v3
with: with:
name: ${{ inputs.name }} name: ${{ inputs.name }}
path: web/demo/dist/ path: web/demo/dist/
@ -67,8 +73,8 @@ jobs:
name: Deploy name: Deploy
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: actions/download-artifact@v2 - uses: actions/download-artifact@v3
with: with:
name: ${{ inputs.name }} name: ${{ inputs.name }}
path: demo path: demo

View File

@ -8,14 +8,19 @@ jobs:
name: Benchmark name: Benchmark
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: extractions/setup-just@v1 - name: Setup binstall
uses: ./.github/actions/setup-binstall
- name: Install just
uses: ./.github/actions/cargo-install
with:
name: just
- name: Install toolchain - name: Install toolchain
shell: bash shell: bash
run: | run: |
just stable-toolchain just stable-toolchain
just stable-targets x86_64-unknown-linux-gnu just stable-targets x86_64-unknown-linux-gnu
- uses: Swatinem/rust-cache@v1 - uses: Swatinem/rust-cache@v2
- name: Install GPU Drivers - name: Install GPU Drivers
uses: ./.github/actions/install-driver uses: ./.github/actions/install-driver
- name: Download test data - name: Download test data

View File

@ -8,12 +8,17 @@ jobs:
name: Check name: Check
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: extractions/setup-just@v1 - name: Setup binstall
uses: ./.github/actions/setup-binstall
- name: Install just
uses: ./.github/actions/cargo-install
with:
name: just
- name: Install toolchain - name: Install toolchain
shell: bash shell: bash
run: just stable-toolchain run: just stable-toolchain
- uses: Swatinem/rust-cache@v1 - uses: Swatinem/rust-cache@v2
- name: Format - name: Format
shell: bash shell: bash
run: just fmt-check run: just fmt-check

View File

@ -8,14 +8,19 @@ jobs:
name: Test name: Test
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- uses: extractions/setup-just@v1 - name: Setup binstall
uses: ./.github/actions/setup-binstall
- name: Install just
uses: ./.github/actions/cargo-install
with:
name: just
- name: Install toolchain - name: Install toolchain
shell: bash shell: bash
run: | run: |
just stable-toolchain just stable-toolchain
just stable-targets x86_64-unknown-linux-gnu just stable-targets x86_64-unknown-linux-gnu
- uses: Swatinem/rust-cache@v1 - uses: Swatinem/rust-cache@v2
- name: Install GPU Drivers - name: Install GPU Drivers
uses: ./.github/actions/install-driver uses: ./.github/actions/install-driver
- name: Test Vulkan - name: Test Vulkan

View File

@ -24,7 +24,7 @@
<div align="center"> <div align="center">
<h3> <h3>
<a href="https://maplibre-rs-demos.pages.dev/webgl"> <a href="https://webgl.demo.maplibre-rs.maplibre.org">
WebGL Demo WebGL Demo
</a> </a>
<span> | </span> <span> | </span>
@ -76,6 +76,12 @@ graphics are achievable using the current stack.
([Older Talk on YouTube](https://www.youtube.com/watch?v=KFk8bOtJzCM)) ([Older Talk on YouTube](https://www.youtube.com/watch?v=KFk8bOtJzCM))
## Demos
- [WebGL](https://webgl.demo.maplibre-rs.maplibre.org)
- [WebGL with multithreading](https://webgl-multithreaded.demo.maplibre-rs.maplibre.org) - Does not work on Safari right now
- [WebGPU](https://webgpu.demo.maplibre-rs.maplibre.org) - Only works with development versions of Firefox and Chrome
## Current Features ## Current Features
* Runs on Linux, Android, iOS, macOS, Firefox and Chrome * Runs on Linux, Android, iOS, macOS, Firefox and Chrome

View File

@ -1,5 +1,5 @@
.DS_Store .DS_Store
/.build /.build*
/Packages /Packages
/*.xcodeproj /*.xcodeproj
xcuserdata/ xcuserdata/

View File

@ -1,4 +1,4 @@
// swift-tools-version:5.5 // swift-tools-version:5.7
// The swift-tools-version declares the minimum version of Swift required to build this package. // The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription import PackageDescription
@ -6,6 +6,9 @@ import PackageDescription
let package = Package( let package = Package(
name: "MapLibreRs", name: "MapLibreRs",
platforms: [
.macOS(.v12),
],
products: [ products: [
// Products define the executables and libraries a package produces, and make them visible to other packages. // Products define the executables and libraries a package produces, and make them visible to other packages.
.library( .library(

View File

@ -267,7 +267,7 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/bash; shellPath = /bin/bash;
shellScript = "arch=\"unknown\"\nvendor=\"apple\"\nos_type=\"unknown\"\nenvironment_type=\"\"\n\nmode=\"\"\n\necho \"ARCH: $ARCHS\"\n\nif [[ $CONFIGURATION == \"Release\" ]]\nthen\n mode=\"--release\"\nfi\n\nif [[ $ARCHS == \"x86_64\" ]]\nthen\n arch=\"x86_64\"\nelif [[ $ARCHS == \"arm64\" ]]\nthen\n arch=\"aarch64\"\nfi\n\nif [[ $SDK_NAME == *\"iphoneos\"* ]]\nthen\n os_type=\"ios\"\nelif [[ $SDK_NAME == *\"macos\"* ]]\nthen\n os_type=\"darwin\"\nelif [[ $SDK_NAME == *\"iphonesimulator\"* ]]\nthen\n os_type=\"ios\"\n if [[ $ARCHS == \"arm64\" ]]\n then\n environment_type=\"sim\"\n fi\nfi\n\n\ntriplet=\"$arch-$vendor-$os_type\"\n\nif [ -n \"$environment_type\" ]\nthen\n triplet=\"$triplet-$environment_type\"\nfi\n\necho \"Mode: $mode\"\necho \"Triplet: $triplet\"\necho \"Shell: $SHELL\"\n\ncmd=\"export HOME=$HOME && . $HOME/.cargo/env && cargo build -p apple $mode --target $triplet --lib\"\n\necho \"Command: $cmd\"\n\nenv -i /bin/bash -c \"$cmd\"\n"; shellScript = "arch=\"unknown\"\nvendor=\"apple\"\nos_type=\"unknown\"\nenvironment_type=\"\"\n\nmode=\"\"\n\necho \"ARCH: $ARCHS\"\n\nif [[ $CONFIGURATION == \"Release\" ]]\nthen\n mode=\"--release\"\nfi\n\nif [[ $ARCHS == \"x86_64\" ]]\nthen\n arch=\"x86_64\"\nelif [[ $ARCHS == \"arm64\" ]]\nthen\n arch=\"aarch64\"\nfi\n\nif [[ $SDK_NAME == *\"iphoneos\"* ]]\nthen\n os_type=\"ios\"\nelif [[ $SDK_NAME == *\"macos\"* ]]\nthen\n os_type=\"darwin\"\nelif [[ $SDK_NAME == *\"iphonesimulator\"* ]]\nthen\n os_type=\"ios\"\n if [[ $ARCHS == \"arm64\" ]]\n then\n environment_type=\"sim\"\n fi\nfi\n\n\ntriplet=\"$arch-$vendor-$os_type\"\n\nif [ -n \"$environment_type\" ]\nthen\n triplet=\"$triplet-$environment_type\"\nfi\n\necho \"Mode: $mode\"\necho \"Triplet: $triplet\"\necho \"Shell: $SHELL\"\n\ncmd=$(cat << END\n export HOME=$HOME\n . $HOME/.cargo/env\n \n if [ -f \"/opt/homebrew/bin/brew\" ];\n then\n echo \"Homebrew support activated\"\n eval \"\\$(/opt/homebrew/bin/brew shellenv)\"\n fi\n \n cargo build -p apple $mode --target $triplet --lib\nEND\n)\n\necho \"Command: $cmd\"\n\nenv -i /bin/bash -c \"$cmd\"\n";
}; };
/* End PBXShellScriptBuildPhase section */ /* End PBXShellScriptBuildPhase section */
@ -374,7 +374,6 @@
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = ""; INFOPLIST_KEY_NSHumanReadableCopyright = "";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 15.4;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -385,8 +384,8 @@
"$(PROJECT_DIR)", "$(PROJECT_DIR)",
); );
"LIBRARY_SEARCH_PATHS[sdk=iphoneos*][arch=arm64]" = "$(PROJECT_DIR)/libs/aarch64-apple-ios/debug"; "LIBRARY_SEARCH_PATHS[sdk=iphoneos*][arch=arm64]" = "$(PROJECT_DIR)/libs/aarch64-apple-ios/debug";
"LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=x86_64]" = "$(PROJECT_DIR)/libs/x86_64-apple-ios/debug";
"LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=arm64]" = "$(PROJECT_DIR)/libs/aarch64-apple-ios-sim/debug"; "LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=arm64]" = "$(PROJECT_DIR)/libs/aarch64-apple-ios-sim/debug";
"LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=x86_64]" = "$(PROJECT_DIR)/libs/x86_64-apple-ios/debug";
"LIBRARY_SEARCH_PATHS[sdk=macosx*][arch=arm64]" = "$(PROJECT_DIR)/libs/aarch64-apple-darwin/debug"; "LIBRARY_SEARCH_PATHS[sdk=macosx*][arch=arm64]" = "$(PROJECT_DIR)/libs/aarch64-apple-darwin/debug";
"LIBRARY_SEARCH_PATHS[sdk=macosx*][arch=x86_64]" = "$(PROJECT_DIR)/libs/x86_64-apple-darwin/debug"; "LIBRARY_SEARCH_PATHS[sdk=macosx*][arch=x86_64]" = "$(PROJECT_DIR)/libs/x86_64-apple-darwin/debug";
MACH_O_TYPE = staticlib; MACH_O_TYPE = staticlib;
@ -404,6 +403,7 @@
SUPPORTS_MACCATALYST = YES; SUPPORTS_MACCATALYST = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_INSTALL_OBJC_HEADER = NO;
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
@ -469,7 +469,6 @@
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = ""; INFOPLIST_KEY_NSHumanReadableCopyright = "";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 15.4;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -480,8 +479,8 @@
"$(PROJECT_DIR)", "$(PROJECT_DIR)",
); );
"LIBRARY_SEARCH_PATHS[sdk=iphoneos*][arch=arm64]" = "$(PROJECT_DIR)/libs/aarch64-apple-ios/release"; "LIBRARY_SEARCH_PATHS[sdk=iphoneos*][arch=arm64]" = "$(PROJECT_DIR)/libs/aarch64-apple-ios/release";
"LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=x86_64]" = "$(PROJECT_DIR)/libs/x86_64-apple-ios/release";
"LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=arm64]" = "$(PROJECT_DIR)/libs/aarch64-apple-ios-sim/release"; "LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=arm64]" = "$(PROJECT_DIR)/libs/aarch64-apple-ios-sim/release";
"LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=x86_64]" = "$(PROJECT_DIR)/libs/x86_64-apple-ios/release";
"LIBRARY_SEARCH_PATHS[sdk=macosx*][arch=arm64]" = "$(PROJECT_DIR)/libs/aarch64-apple-darwin/release"; "LIBRARY_SEARCH_PATHS[sdk=macosx*][arch=arm64]" = "$(PROJECT_DIR)/libs/aarch64-apple-darwin/release";
"LIBRARY_SEARCH_PATHS[sdk=macosx*][arch=x86_64]" = "$(PROJECT_DIR)/libs/x86_64-apple-darwin/release"; "LIBRARY_SEARCH_PATHS[sdk=macosx*][arch=x86_64]" = "$(PROJECT_DIR)/libs/x86_64-apple-darwin/release";
MACH_O_TYPE = staticlib; MACH_O_TYPE = staticlib;
@ -499,6 +498,7 @@
SUPPORTS_MACCATALYST = YES; SUPPORTS_MACCATALYST = YES;
SWIFT_COMPILATION_MODE = wholemodule; SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_INSTALL_OBJC_HEADER = NO;
SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
@ -570,7 +570,6 @@
INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -647,7 +646,6 @@
INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
@ -732,7 +730,6 @@
"$(inherited)", "$(inherited)",
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MACOSX_DEPLOYMENT_TARGET = 10.9;
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
@ -806,7 +803,6 @@
"$(inherited)", "$(inherited)",
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MACOSX_DEPLOYMENT_TARGET = 10.9;
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
@ -863,4 +859,4 @@
/* End XCConfigurationList section */ /* End XCConfigurationList section */
}; };
rootObject = 0B85D5602812902200906D21 /* Project object */; rootObject = 0B85D5602812902200906D21 /* Project object */;
} }

View File

@ -0,0 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1400"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0B85D582281290F800906D21"
BuildableName = "example.app"
BlueprintName = "example (macOS)"
ReferencedContainer = "container:maplibre-rs.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0B85D582281290F800906D21"
BuildableName = "example.app"
BlueprintName = "example (macOS)"
ReferencedContainer = "container:maplibre-rs.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0B85D582281290F800906D21"
BuildableName = "example.app"
BlueprintName = "example (macOS)"
ReferencedContainer = "container:maplibre-rs.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1400"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0B85D56A2812903700906D21"
BuildableName = "maplibre_rs.framework"
BlueprintName = "maplibre-rs"
ReferencedContainer = "container:maplibre-rs.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0B85D56A2812903700906D21"
BuildableName = "maplibre_rs.framework"
BlueprintName = "maplibre-rs"
ReferencedContainer = "container:maplibre-rs.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -4,8 +4,8 @@
set shell := ["bash", "-c"] set shell := ["bash", "-c"]
export NIGHTLY_TOOLCHAIN := "nightly-2022-07-03" export NIGHTLY_TOOLCHAIN := "nightly-2022-10-23"
export STABLE_TOOLCHAIN := "1.62" export STABLE_TOOLCHAIN := "1.64"
export CARGO_TERM_COLOR := "always" export CARGO_TERM_COLOR := "always"
export RUST_BACKTRACE := "1" export RUST_BACKTRACE := "1"

View File

@ -12,7 +12,7 @@ readme = "../README.md"
sqlite = ["rusqlite"] sqlite = ["rusqlite"]
[dependencies] [dependencies]
naga = { git = "https://github.com/gfx-rs/naga", branch = "master", features = ["wgsl-in"] } naga = { version = "*", features = ["wgsl-in"] }
walkdir = "2.3.2" walkdir = "2.3.2"
log = "0.4.17" log = "0.4.17"
rusqlite = { version = "0.27.0", optional = true } rusqlite = { version = "0.27.0", optional = true }

View File

@ -52,7 +52,7 @@ geozero = { version = "0.9.5", default-features = false, features = ["with-mvt",
tile-grid = "0.3.0" tile-grid = "0.3.0"
# Rendering # Rendering
wgpu = { git = "https://github.com/gfx-rs/wgpu", rev = "94ce763" } wgpu = "0.14.0"
lyon = { version = "1.0.0", features = [] } lyon = { version = "1.0.0", features = [] }
raw-window-handle = "0.5.0" raw-window-handle = "0.5.0"

View File

@ -3,6 +3,8 @@
use std::{mem::size_of, sync::Arc}; use std::{mem::size_of, sync::Arc};
use wgpu::CompositeAlphaMode;
use crate::{ use crate::{
render::{eventually::HasChanged, resource::texture::TextureView, settings::RendererSettings}, render::{eventually::HasChanged, resource::texture::TextureView, settings::RendererSettings},
window::{HeadedMapWindow, MapWindow, WindowSize}, window::{HeadedMapWindow, MapWindow, WindowSize},
@ -132,6 +134,7 @@ impl Surface {
{ {
let size = window.size(); let size = window.size();
let surface_config = wgpu::SurfaceConfiguration { let surface_config = wgpu::SurfaceConfiguration {
alpha_mode: CompositeAlphaMode::Auto,
usage: wgpu::TextureUsages::RENDER_ATTACHMENT, usage: wgpu::TextureUsages::RENDER_ATTACHMENT,
format: settings.texture_format, format: settings.texture_format,
width: size.width(), width: size.width(),

View File

@ -1,2 +1,2 @@
[toolchain] [toolchain]
channel = "1.62" channel = "1.64"

View File

@ -27,7 +27,7 @@ rand = { version = "0.7", features = ["wasm-bindgen"] }
console_error_panic_hook = "0.1.7" console_error_panic_hook = "0.1.7"
# Exact version requirement can be removed as soon as https://github.com/gfx-rs/wgpu/pull/2954 is merged # Exact version requirement can be removed as soon as https://github.com/gfx-rs/wgpu/pull/2954 is merged
web-sys = { version = "=0.3.58", features = [ web-sys = { version = "0.3.58", features = [
"Window", "Window",
"Worker", "WorkerGlobalScope", "DedicatedWorkerGlobalScope", "MessageEvent", "Worker", "WorkerGlobalScope", "DedicatedWorkerGlobalScope", "MessageEvent",
"Request", "RequestInit", "RequestMode", "Response", "Headers", "Request", "RequestInit", "RequestMode", "Response", "Headers",