Skip to content
Merged
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
45 changes: 1 addition & 44 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,43 +4,6 @@ on:
workflow_dispatch:

jobs:
build-linux:
name: Linux (Ubuntu GCC)
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
cmake \
ninja-build \
libglfw3-dev \
libgl1-mesa-dev \
xorg-dev \
libxkbcommon-dev \
ccache

- name: Setup ccache
uses: hendrikmuhs/ccache-action@v1.2.20
with:
key: ${{ runner.os }}-build-linux
max-size: 500M

- name: Configure CMake
run: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DES_ENABLE_CCACHE=ON

- name: Build
run: cmake --build build

- name: Test
working-directory: build
run: ctest --output-on-failure

build-emscripten:
name: Web (Emscripten)
runs-on: ubuntu-latest
Expand Down Expand Up @@ -95,7 +58,7 @@ jobs:
run: node build-tools/cli.js build -t all --no-sync --continue-on-error

test:
name: Tests (SDK + Editor)
name: Tests (SDK)
runs-on: ubuntu-latest

steps:
Expand All @@ -120,14 +83,8 @@ jobs:
- name: Build SDK
run: pnpm --filter ./sdk build

- name: Type-check Editor
run: pnpm exec tsc --noEmit -p editor/tsconfig.json

- name: Type-check Examples
run: node build-tools/cli.js check-examples

- name: Run SDK tests
run: pnpm --filter ./sdk exec vitest run

- name: Run Editor tests
run: pnpm --filter ./editor exec vitest run
10 changes: 3 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -231,19 +231,15 @@ if(ES_BUILD_WEB OR ES_BUILD_WXGAME)
src/esengine/platform/web/WebFileSystem.cpp
)
else()
# Web-only repo: the native platform layer (NativePlatform/NativeFileSystem/
# FileDialog) was removed in d9a08d87. Keep only the platform-agnostic
# sources a native tooling/test build still needs.
list(APPEND ESENGINE_SOURCES
src/esengine/platform/native/NativePlatform.cpp
src/esengine/platform/native/NativeFileSystem.cpp
src/esengine/platform/FileDialog.cpp
src/esengine/renderer/stb_image_impl.cpp
src/esengine/resource/LoaderJobQueue.cpp
src/esengine/resource/HotReloadManager.cpp
src/esengine/resource/loaders/ShaderLoader.cpp
)
list(APPEND ESENGINE_HEADERS
src/esengine/platform/native/NativePlatform.hpp
src/esengine/platform/FileDialog.hpp
)
endif()

# =============================================================================
Expand Down
2 changes: 1 addition & 1 deletion examples/audio-demo/src/systems/sfx.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export const sfxTriggerSystem = defineSystem(
trigger.cooldown = Math.max(0, trigger.cooldown - time.delta);

const key = `Digit${triggerIndex + 1}`;
const clicked = events.hasEvent(entity, 'click');
const clicked = events.query('click').some(e => e.target === entity);
if ((input.isKeyPressed(key) || clicked) && trigger.cooldown <= 0) {
const url = SFX_URLS[triggerIndex];
if (url) {
Expand Down
9 changes: 4 additions & 5 deletions examples/ui-controls/src/main.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { addSystemToSchedule, Schedule } from 'esengine';

// The progress bars in this scene are declarative (defined in the .esscene).
// The old per-frame ProgressBar-component animation was removed: the SDK no
// longer exposes a queryable ProgressBar component — progress is now an
// imperative widget (createProgress -> ProgressHandle).
import './components';
import { progressAnimateSystem } from './systems/animate';

addSystemToSchedule(Schedule.Update, progressAnimateSystem);
21 changes: 0 additions & 21 deletions examples/ui-controls/src/systems/animate.ts

This file was deleted.

4 changes: 2 additions & 2 deletions examples/ui-interaction/src/systems/dragFocus.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@ export const dragFocusSystem = defineSystem(
return;
}

const dragStartEntities = new Set(events.query('drag_start').map(e => e.entity));
const dragEndEntities = new Set(events.query('drag_end').map(e => e.entity));
const dragStartEntities = new Set(events.query('drag_start').map(e => e.target));
const dragEndEntities = new Set(events.query('drag_end').map(e => e.target));

for (const e of dragStartEntities) {
droppedEntities.delete(e);
Expand Down
4 changes: 2 additions & 2 deletions src/esengine/renderer/RenderFrameSubmit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,9 @@ void RenderFrame::submitSpineBatch(
}

u32 baseVertex = vOff / sizeof(BatchVertex);
std::vector<u16> offsetIndices(indexCount);
std::vector<u32> offsetIndices(indexCount);
for (i32 i = 0; i < indexCount; ++i) {
offsetIndices[i] = static_cast<u16>(baseVertex + indices[i]);
offsetIndices[i] = static_cast<u32>(baseVertex + indices[i]);
}
u32 iOff = pool_.appendIndices(LayoutId::Batch, offsetIndices.data(), static_cast<u32>(indexCount));

Expand Down
Loading