Skip to content
Merged

Dev #27

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
5e8b82f
feat(ecs/compilation): add basic makefile
MartinFillon Mar 11, 2025
aa33dd1
feat: add wasm compilation to package.json
Exeloo Mar 11, 2025
da68dcb
chore: fix idea
Exeloo Mar 11, 2025
b4406f8
feat(ecs/compilation): add wasm object creation
MartinFillon Mar 11, 2025
82a46ca
feat(ecs/wasm): emsdk installation script in Readme.md
Tchips46 Mar 11, 2025
a8cb17f
feat(ecs/wasm): add basic test templated class
MartinFillon Mar 11, 2025
9e557c2
chore(ecs): change idea name
Exeloo Mar 11, 2025
fb2b2eb
build(ecs): add standalone build and html and js build
Exeloo Mar 11, 2025
aab656a
feat(ecs/wasm): emsdk installation script in Readme.md
Tchips46 Mar 11, 2025
2fe00e8
feat(ecs): setup basic sparse array boiler plate code.
MartinFillon Mar 12, 2025
730a313
feat(ecs): add type generation in makefile
MartinFillon Mar 12, 2025
be3de7b
test(ecs/sparseArray): add unit tests for sparse array
MartinFillon Mar 13, 2025
54fd8ef
feat(ecs/sparseArray): add more functions to the sparse array
MartinFillon Mar 13, 2025
aafd3ae
feat(ecs/sparseArray): add more functions to the sparse array
MartinFillon Mar 13, 2025
50bba8a
fix(ecs): change jest workflow
Exeloo Mar 13, 2025
21e320d
fix(ecs): constructor are now binded
MartinFillon Mar 13, 2025
a1e1777
fix(ecs/sparse array): no discard on const methods
Tchips46 Mar 13, 2025
a119f76
fix(ecs/sparseArray): fix missing erase definition
MartinFillon Mar 13, 2025
d2309a1
fix(ecs): fix jest workflow and tests compile
Exeloo Mar 13, 2025
c2a3213
feat: custom header
Tchips46 Mar 13, 2025
39c3e12
chore: add idea to common and core
Exeloo Mar 11, 2025
ff49027
feat: add core and common
Exeloo Mar 14, 2025
79bd0a3
feat: add asset manager default in core
Exeloo Mar 14, 2025
f9f95c3
feat(ecs/registry): base regitry and simple tests:
Tchips46 Mar 14, 2025
3902076
fix(ecs): add type name verification for vars
MartinFillon Mar 14, 2025
88e90c0
feat(ecs/registry): systems handling and testing
Tchips46 Mar 14, 2025
44ca415
feat(asset-manager): add base library
Exeloo Mar 14, 2025
1ec0f09
feat(asset-manager): add asset manager
Exeloo Mar 14, 2025
ac0bf01
feat(asset-manager): add tests
Exeloo Mar 14, 2025
d7b5361
ci: setup tests ci
MartinFillon Mar 17, 2025
8bea2d5
ci: add linting to ci
MartinFillon Mar 17, 2025
c4fcbd8
ci: branch name was on master isntead of main
MartinFillon Mar 17, 2025
cb7fdcc
feat(ecs): modify ts rule to get types
MartinFillon Mar 18, 2025
e6d27d9
feat(graphics-2d): add base library
Exeloo Mar 17, 2025
652dca1
feat(asset-manager): add wgsl handling
Exeloo Mar 17, 2025
2968797
feat(asset-manager): add file return
Exeloo Mar 18, 2025
8354fcb
feat(common): add templates to each get library functions
Exeloo Mar 18, 2025
2373220
chore: add current state of graphics library
Exeloo Mar 18, 2025
1f7a69d
feat(graphics): add base component and circle component
Exeloo Mar 18, 2025
50b663a
feat(ecs/zipper): add indexed zipper and zipper with tests
Tchips46 Mar 19, 2025
8151a7e
feat(ecs): setup wasm to be loaded from path specified in ecs library
MartinFillon Mar 18, 2025
31fff54
feat(ecs): add more methods to be exported by ecs library
MartinFillon Mar 18, 2025
98551ac
fix(ecs): change type handling on lib ecs
Exeloo Mar 19, 2025
65984d8
fix(ecs): fix tests
Exeloo Mar 19, 2025
e716df9
feat(ecs/tsbindings): add the zipper functions to the library
MartinFillon Mar 19, 2025
ed18a64
feat(game): add template
Exeloo Mar 19, 2025
c78ce79
feat(game): add graphics factory
Exeloo Mar 19, 2025
79d2e0f
feat(game): add width and height
Exeloo Mar 19, 2025
a53e37a
fix(common): init lib order
Exeloo Mar 19, 2025
9bdc932
feat(game): create pong example game
bill-h4rper Mar 19, 2025
93e1a07
fix(common): change is running
Exeloo Mar 19, 2025
105115f
feat(template): add scripts to template
Exeloo Mar 19, 2025
5763bc5
feat(example/pong): base velocity system clocked with a framerate lim…
Tchips46 Mar 19, 2025
75ff610
chore: remove bun lock that was breaking unit tests
MartinFillon Mar 19, 2025
b897e06
feat(ecs): add type for components
MartinFillon Mar 19, 2025
1c18e12
feat(systems): add ts type for systems
MartinFillon Mar 20, 2025
170451a
feat(ecs): type getEntityComponent family of functions
MartinFillon Mar 20, 2025
16c3838
feat(ecs/zipper): merge zipper in types
Tchips46 Mar 20, 2025
27d1457
fix(graphics): fix display
Exeloo Mar 20, 2025
35609d8
fix(graphics): fix tests
Exeloo Mar 20, 2025
da745a5
fix(graphics): game loop
Exeloo Mar 20, 2025
e2b30f1
feat(graphics): add rectangle
Exeloo Mar 20, 2025
53ef625
feat(input): add input library
Exeloo Mar 20, 2025
526bfe1
feat(core): add tickrate and fix runner
Exeloo Mar 20, 2025
7e83e48
feat(game): create pong bounce system
bill-h4rper Mar 20, 2025
dd4003e
feat(game): create pong players with background
bill-h4rper Mar 20, 2025
541432a
feat(game): add inputs in pong
bill-h4rper Mar 21, 2025
d60c97b
fix(game): delete bun.lock
bill-h4rper Mar 21, 2025
0a87b42
fix(pong): delete custom framerate
bill-h4rper Mar 21, 2025
e9a8c7d
feat(graphics): add dynamic size handle of canvas
Exeloo Mar 20, 2025
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: 45 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Tests

on:
pull_request:
branches:
- main
- dev
workflow_dispatch:

env:
EM_CACHE_FOLDER: "emsdk-cache"

jobs:
tests:
runs-on: ubuntu-latest
steps:
- name: "Checkout"
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: "Setup pnpm"
uses: pnpm/action-setup@v4
with:
run_install: false

- name: "Setup node"
uses: actions/setup-node@v2
with:
node-version: "23.6.0"
cache: "pnpm"

- name: "Install dependencies"
run: pnpm install

- name: "Install emscipten"
uses: "mymindstorm/setup-emsdk@v14"
with:
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}

- name: "Run tests"
run: pnpm test:unit

- name: "Run linter"
run: pnpm clean && pnpm lint
5 changes: 3 additions & 2 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
bun lint-staged
bun nx run-many --target=lint
pnpm lint-staged
pnpm fix
pnpm lint
6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/jsLinters/eslint.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/prettier.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions example/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/debug/
225 changes: 225 additions & 0 deletions example/pong/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
### VisualStudioCode template
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets

# Local History for Visual Studio Code
.history/

# Built Visual Studio Code Extensions
*.vsix

### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# AWS User-specific
.idea/**/aws.xml

# Generated files
.idea/**/contentModel.xml

# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml

# Gradle
.idea/**/gradle.xml
.idea/**/libraries

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr

# CMake
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# SonarLint plugin
.idea/sonarlint/

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser

### Node template
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp
.cache

# Docusaurus cache and generated files
.docusaurus

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

8 changes: 8 additions & 0 deletions example/pong/.idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading