Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Augmented reality #278

Closed
wants to merge 44 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
7d7412a
Fix package install
8kdesign Feb 5, 2024
63be093
Transferred libraries
8kdesign Feb 5, 2024
6568385
Fix build issues
8kdesign Feb 5, 2024
5dc4b62
Setup AR toggle and link module state
8kdesign Feb 5, 2024
a583421
Add parsing for objects
8kdesign Feb 6, 2024
97028ee
Fix toggle click
8kdesign Feb 6, 2024
d46461c
Fix issue with add/remove AR object
8kdesign Feb 6, 2024
3cd7249
Added callback for AR updates
8kdesign Feb 6, 2024
6a82ae9
Added row, col and text UI components
8kdesign Feb 12, 2024
20a7144
Added image
8kdesign Feb 12, 2024
e4d74ce
Fix row/column color issue and image size
8kdesign Feb 12, 2024
93bd4ac
Hide AR content when outside
8kdesign Feb 12, 2024
ec19dee
Standardize center
8kdesign Feb 13, 2024
4bb8e4a
Update ARComponent.tsx
8kdesign Feb 13, 2024
6fb84c1
Update UI
8kdesign Feb 13, 2024
ebbb498
Added sphere
8kdesign Feb 13, 2024
f220c2c
Add move
8kdesign Feb 13, 2024
0f98dd6
Fix issue with spring movement
8kdesign Feb 13, 2024
c14c2a1
Fix interface refresh
8kdesign Feb 13, 2024
a203d38
Added click to call function
8kdesign Feb 19, 2024
3ef09c3
Added recallibration
8kdesign Feb 19, 2024
00dc643
Fix UI component bug
8kdesign Feb 19, 2024
09e5b7b
Update .gitattributes
8kdesign Feb 19, 2024
9d11962
Merge branch 'master' into augmented_reality
8kdesign Feb 19, 2024
4139d6f
Moved communication module
8kdesign Feb 19, 2024
23e3982
Add module
8kdesign Feb 19, 2024
ed4e6ef
Added loop for communication library
8kdesign Feb 19, 2024
ea55c2f
Clean code
8kdesign Feb 19, 2024
02575a8
Fix return value
8kdesign Feb 19, 2024
ab3b52b
Added documentation
8kdesign Feb 19, 2024
7b1079e
Fix text
8kdesign Feb 20, 2024
db2eeb7
Update UITextComponent.tsx
8kdesign Feb 20, 2024
0ad7c93
Added tests for communication and fixed logic
8kdesign Feb 20, 2024
464d334
Fix topic
8kdesign Feb 20, 2024
8855a73
Update GlobalStateController.ts
8kdesign Feb 20, 2024
1f0631e
Use single quotes
8kdesign Feb 20, 2024
6b30001
Extra lint cleanup
8kdesign Feb 20, 2024
f85deab
Clean up code
8kdesign Feb 20, 2024
75462de
Added gltf object
8kdesign Feb 24, 2024
47b5f3b
More code cleanup
8kdesign Feb 24, 2024
81886db
Fix property shorthand lint
8kdesign Feb 24, 2024
c697d19
Address warnings for lint
8kdesign Feb 24, 2024
781021f
Fix more lint issues
8kdesign Feb 24, 2024
4e90213
Fix padding
8kdesign Feb 26, 2024
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
8 changes: 8 additions & 0 deletions modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -98,5 +98,13 @@
"tabs": [
"physics_2d"
]
},
"ar": {
"tabs": [
"AugmentedReality"
]
},
"communication": {
"tabs": []
}
}
285 changes: 149 additions & 136 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,136 +1,149 @@
{
"private": true,
"name": "modules",
"version": "1.0.0",
"repository": "https://github.com/source-academy/modules.git",
"license": "Apache-2.0",
"scripts-info": {
"//NOTE": "Run `npm i npm-scripts-info -g` to install once globally, then run `npm-scripts-info` as needed to list these descriptions",
"create": "Interactively initialise a new bundle or tab from their templates",
"devserver": "Start the tab development server",
"devserver:lint": "Lint code related to the dev server",
"devserver:tsc": "Run tsc over dev server code",
"docs": "Build only documentation",
"lint": "Lint bundle and tab code",
"build": "Lint code, then build modules and documentation",
"build:help": "Show help for the build scripts",
"serve": "Start the HTTP server to serve all files in `build/`, with the same directory structure",
"scripts": "Run a script within the scripts directory",
"scripts:build": "Compile build scripts",
"scripts:lint": "Lint build script code",
"prepare": "Enable git hooks",
"test": "Run unit tests",
"test:watch": "Watch files for changes and rerun tests related to changed files",
"dev": "Build bundles and tabs only, then serve. Skips linting / type checking, does not build jsons and HTML docs. For rapid testing during development",
"watch": "Watch files for changes and rebuild on those changes",
"postinstall": "Install all patches to node_modules packages"
},
"type": "module",
"scripts": {
"build": "yarn scripts build",
"build:help": "yarn scripts build --help",
"create": "yarn scripts create",
"dev": "yarn scripts build modules && yarn serve",
"docs": "yarn scripts build docs",
"lint": "yarn scripts lint",
"prepare": "husky install",
"postinstall": "patch-package && yarn scripts:build",
"scripts": "node --max-old-space-size=4096 scripts/bin.js",
"serve": "http-server --cors=* -c-1 -p 8022 ./build",
"test": "yarn scripts test",
"test:all": "yarn test && yarn scripts:test",
"test:watch": "yarn scripts test --watch",
"watch": "yarn scripts watch",
"devserver": "vite",
"devserver:lint": "yarn scripts devserver lint",
"devserver:tsc": "tsc --project devserver/tsconfig.json",
"scripts:all": "node scripts/scripts_manager.js",
"scripts:build": "node scripts/scripts_manager.js build",
"scripts:lint": "node scripts/scripts_manager.js lint",
"scripts:tsc": "tsc --project scripts/src/tsconfig.json",
"scripts:test": "node scripts/scripts_manager.js test"
},
"devDependencies": {
"@types/dom-mediacapture-record": "^1.0.11",
"@types/eslint": "^8.4.10",
"@types/estree": "^1.0.0",
"@types/jest": "^27.4.1",
"@types/lodash": "^4.14.198",
"@types/node": "^20.8.9",
"@types/plotly.js-dist": "npm:@types/plotly.js",
"@types/react": "^18.2.0",
"@types/react-dom": "^18.2.0",
"@typescript-eslint/eslint-plugin": "^6.6.0",
"@typescript-eslint/parser": "^6.6.0",
"@vitejs/plugin-react": "^4.0.4",
"acorn": "^8.8.1",
"acorn-jsx": "^5.3.2",
"astring": "^1.8.4",
"chalk": "^5.0.1",
"commander": "^9.4.0",
"console-table-printer": "^2.11.1",
"cross-env": "^7.0.3",
"esbuild": "^0.18.20",
"eslint": "^8.21.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-typescript": "^17.0.0",
"eslint-import-resolver-typescript": "^2.7.1",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jest": "^26.8.1",
"eslint-plugin-jsx-a11y": "^6.5.1",
"eslint-plugin-react": "^7.29.4",
"eslint-plugin-react-hooks": "^4.4.0",
"eslint-plugin-simple-import-sort": "^8.0.0",
"http-server": "^0.12.3",
"husky": "5",
"jest": "^29.4.1",
"jest-environment-jsdom": "^29.4.1",
"re-resizable": "^6.9.11",
"react-hotkeys": "^2.0.0",
"react-responsive": "^9.0.2",
"sass": "^1.66.1",
"ts-jest": "^29.1.1",
"typedoc": "^0.25.1",
"typescript": "5.0",
"vite": "^4.5.2",
"yarnhook": "^0.5.1"
},
"dependencies": {
"@blueprintjs/core": "^4.20.2",
"@blueprintjs/icons": "^4.4.0",
"@blueprintjs/popover2": "^1.4.3",
"@box2d/core": "^0.10.0",
"@box2d/debug-draw": "^0.10.0",
"@jscad/modeling": "2.9.6",
"@jscad/regl-renderer": "^2.6.1",
"@jscad/stl-serializer": "^2.1.13",
"ace-builds": "^1.25.1",
"classnames": "^2.3.1",
"dayjs": "^1.10.4",
"gl-matrix": "^3.3.0",
"js-slang": "^1.0.20",
"lodash": "^4.17.21",
"patch-package": "^6.5.1",
"phaser": "^3.54.0",
"plotly.js-dist": "^2.17.1",
"postinstall-postinstall": "^2.1.0",
"react": "^18.2.0",
"react-ace": "^10.1.0",
"react-dom": "^18.2.0",
"regl": "^2.1.0",
"save-file": "^2.3.1",
"source-academy-utils": "^1.0.0",
"source-academy-wabt": "^1.0.4",
"tslib": "^2.3.1"
},
"jest": {
"projects": [
"src/jest.config.js",
"scripts/src/jest.config.js"
]
},
"resolutions": {
"@types/react": "^18.2.0",
"esbuild": "^0.18.20"
}
}
{
"private": true,
"name": "modules",
"version": "1.0.0",
"repository": "https://github.com/source-academy/modules.git",
"license": "Apache-2.0",
"scripts-info": {
"//NOTE": "Run `npm i npm-scripts-info -g` to install once globally, then run `npm-scripts-info` as needed to list these descriptions",
"create": "Interactively initialise a new bundle or tab from their templates",
"devserver": "Start the tab development server",
"devserver:lint": "Lint code related to the dev server",
"devserver:tsc": "Run tsc over dev server code",
"docs": "Build only documentation",
"lint": "Lint bundle and tab code",
"build": "Lint code, then build modules and documentation",
"build:help": "Show help for the build scripts",
"serve": "Start the HTTP server to serve all files in `build/`, with the same directory structure",
"scripts": "Run a script within the scripts directory",
"scripts:build": "Compile build scripts",
"scripts:lint": "Lint build script code",
"prepare": "Enable git hooks",
"test": "Run unit tests",
"test:watch": "Watch files for changes and rerun tests related to changed files",
"dev": "Build bundles and tabs only, then serve. Skips linting / type checking, does not build jsons and HTML docs. For rapid testing during development",
"watch": "Watch files for changes and rebuild on those changes",
"postinstall": "Install all patches to node_modules packages"
},
"type": "module",
"scripts": {
"build": "yarn scripts build",
"build:help": "yarn scripts build --help",
"create": "yarn scripts create",
"dev": "yarn scripts build modules && yarn serve",
"docs": "yarn scripts build docs",
"lint": "yarn scripts lint",
"prepare": "husky install",
"postinstall": "patch-package && yarn scripts:build",
"scripts": "node --max-old-space-size=4096 scripts/bin.js",
"serve": "http-server --cors=* -c-1 -p 8022 ./build",
"test": "yarn scripts test",
"test:all": "yarn test && yarn scripts:test",
"test:watch": "yarn scripts test --watch",
"watch": "yarn scripts watch",
"devserver": "vite",
"devserver:lint": "yarn scripts devserver lint",
"devserver:tsc": "tsc --project devserver/tsconfig.json",
"scripts:all": "node scripts/scripts_manager.js",
"scripts:build": "node scripts/scripts_manager.js build",
"scripts:lint": "node scripts/scripts_manager.js lint",
"scripts:tsc": "tsc --project scripts/src/tsconfig.json",
"scripts:test": "node scripts/scripts_manager.js test"
},
"devDependencies": {
"@types/dom-mediacapture-record": "^1.0.11",
"@types/eslint": "^8.4.10",
"@types/estree": "^1.0.0",
"@types/jest": "^27.4.1",
"@types/lodash": "^4.14.198",
"@types/node": "^20.8.9",
"@types/plotly.js-dist": "npm:@types/plotly.js",
"@types/react": "^18.2.0",
"@types/react-dom": "^18.2.0",
"@typescript-eslint/eslint-plugin": "^6.6.0",
"@typescript-eslint/parser": "^6.6.0",
"@vitejs/plugin-react": "^4.0.4",
"acorn": "^8.8.1",
"acorn-jsx": "^5.3.2",
"astring": "^1.8.4",
"chalk": "^5.0.1",
"commander": "^9.4.0",
"console-table-printer": "^2.11.1",
"cross-env": "^7.0.3",
"esbuild": "^0.18.20",
"eslint": "^8.21.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-typescript": "^17.0.0",
"eslint-import-resolver-typescript": "^2.7.1",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jest": "^26.8.1",
"eslint-plugin-jsx-a11y": "^6.5.1",
"eslint-plugin-react": "^7.29.4",
"eslint-plugin-react-hooks": "^4.4.0",
"eslint-plugin-simple-import-sort": "^8.0.0",
"http-server": "^0.12.3",
"husky": "5",
"jest": "^29.4.1",
"jest-environment-jsdom": "^29.4.1",
"re-resizable": "^6.9.11",
"react-hotkeys": "^2.0.0",
"react-responsive": "^9.0.2",
"sass": "^1.66.1",
"ts-jest": "^29.1.1",
"typedoc": "^0.25.1",
"typescript": "5.0",
"vite": "^4.5.2",
"yarnhook": "^0.5.1"
},
"dependencies": {
"@blueprintjs/core": "^4.20.2",
"@blueprintjs/icons": "^4.4.0",
"@blueprintjs/popover2": "^1.4.3",
"@box2d/core": "^0.10.0",
"@box2d/debug-draw": "^0.10.0",
"@jscad/modeling": "2.9.6",
"@jscad/regl-renderer": "^2.6.1",
"@jscad/stl-serializer": "^2.1.13",
"@react-spring/three": "^9.7.3",
"@react-three/drei": "^9.97.0",
"@react-three/fiber": "^8.15.16",
"@react-three/xr": "^5.7.1",
"@types/three": "^0.161.2",
"ace-builds": "^1.25.1",
"classnames": "^2.3.1",
"dayjs": "^1.10.4",
"events": "^3.3.0",
"gl-matrix": "^3.3.0",
"js-slang": "^1.0.20",
"lodash": "^4.17.21",
"mqtt": "^4.3.7",
"os": "^0.1.2",
"patch-package": "^6.5.1",
"phaser": "^3.54.0",
"plotly.js-dist": "^2.17.1",
"postinstall-postinstall": "^2.1.0",
"react": "^18.2.0",
"react-ace": "^10.1.0",
"react-dom": "^18.2.0",
"regl": "^2.1.0",
"save-file": "^2.3.1",
"source-academy-utils": "^1.0.0",
"source-academy-wabt": "^1.0.4",
"spring": "^0.0.0",
"three": "^0.161.0",
"tslib": "^2.3.1",
"uniqid": "^5.4.0",
"url": "^0.11.3"
},
"jest": {
"projects": [
"src/jest.config.js",
"scripts/src/jest.config.js"
]
},
"resolutions": {
"@types/react": "^18.2.0",
"esbuild": "^0.18.20",
"**/gl": "^6.0.2"
}
}
Loading
Loading