Refactor: Engine#81
Merged
Felix Frank (feliopterix) merged 73 commits intorefactor/major-2.0.0from Apr 29, 2025
Merged
Conversation
…evelopment environment.
46b8aef to
ea84f12
Compare
29f797c to
aa39816
Compare
e02e307 to
ef9f953
Compare
ef9f953 to
7661a39
Compare
Emre İmamoğlu (emreimamoglu)
approved these changes
Apr 29, 2025
bce6c7a
into
refactor/major-2.0.0
6 of 7 checks passed
Felix Frank (feliopterix)
added a commit
that referenced
this pull request
Jul 3, 2025
* refactor: make applyMixins return the correctly typed class constructor. * Change to esnext build. * Refined mixins. * Made ci pipeline run for every pr. * Fixed AR capabilities. * Renamed enums. * Reduced AR Quick Look logic. * Added converter, loader and exporter. * Reorganized exporter types. * Reworked AR Quick Look. * Reworked ARQuickLook futher and adjusted AR accordingly. * Reworked Scene Viewer. * Refined Info types. * Renamed all AR related systems. * Fixed tests to use new Loader. * Reworked AR Quick Look launch. * Reworked Scene Viewer launch. * Added more inline documentation. * Export ARSystem correctly. * Added USDZLoader mock. * Fixed Converter types. * Reworked types. * Added tests for Exporter. * Added tests for Loader. * Reworked loaders. * Refined error handling in ARSystem. * Renamed files. * Reworked error handling. * Removed logs. * Renamed methods. * Prefixed classes with Asset to give more structure. * Reworked AssetConverter methods. * Improved on natural Promise rejection. * Improved Scene Viewer test. * Fixed getIsARCapable method. * Added first version of State. * Added dynamic dependencies to Actions. * Changed property order. * Added first version of ModuleRegistry. * Renamed files. * Fixed tests. * Exclude ARSystem from global export. * Removed unnecessary test. * Renamed file, added test. * Renamed export. * Moved modules to own folder. * Reworked ModuleRegistry. * Improved error handling. * Rearranged code. * Renamed test describes. * Refined build script to catch all module registrations. * Moved files. * Reworked module exports in package.json. * Modified readme template to contain build process and yalc as local development environment. * Updated readme template. * Fixed Math naming. * Created centralized module registrations (in modules/indes.ts). * New build process approach. * Improved ModuleRegistry workflow. * Added relative paths to module registry. * Fixed pipeline. * Exposed dive instance modules. * Updated readme template. * Updated module documentation. * Added module documentation to README. * Automated module documentation. * Fixed pipeline. * Revert "Changed property order." This reverts commit 40c7d13. * Revert "Added dynamic dependencies to Actions." This reverts commit 5a6bbd4. * Revert "Added first version of State." This reverts commit b2006ff. * Fixed pipeline. * Reworked module build process. * Fixed paths. * Fixed export. * Reworked module types. * Reworked documentation generation. * Fixed pipeline. * Moved ci script file. * Renamed Modules to ModuleRegistry. * Removed docs from npm package due to file size. * Fixed build. * Reworked ModuleRegistry to only deliver classes. * Change package.json to export ModuleRegistry only. * Added modules build path. * Added more documentation. * Removed ModuleRegistry to just use Importer on it's own. * Reworked build process to dynamically rewrite imports. * Added automatic instantiation as a method to ModuleImporter. * Updated docs. * Defined engine. * Correctly autostart the renderer. * Reworked QuickView to be async (wait for loading model). * Fixed tests. * Reactivated test. * Moved all scene components to seperate folder. * Moved src code to a more sturctured way. * Added index.ts files for logical groups. * Raised test coverage. * Fixed irrelevant webxr files. * Fixed tests. * Merge pull request #65 from shopware/refactor/module-registry Refactor: Modules * Added build path helper. * Fixed Resize manager. * Fixed view calculation. * Fixed tests. * Reworked Renderer. * Fixed build path. * Changed renderer name. * Refactor: Engine (#81) * Added first version of State. * Added dynamic dependencies to Actions. * Changed property order. * Added first version of ModuleRegistry. * Renamed files. * Fixed tests. * Exclude ARSystem from global export. * Removed unnecessary test. * Renamed file, added test. * Renamed export. * Moved modules to own folder. * Reworked ModuleRegistry. * Improved error handling. * Rearranged code. * Renamed test describes. * Refined build script to catch all module registrations. * Moved files. * Reworked module exports in package.json. * Modified readme template to contain build process and yalc as local development environment. * Updated readme template. * Fixed Math naming. * Created centralized module registrations (in modules/indes.ts). * New build process approach. * Improved ModuleRegistry workflow. * Added relative paths to module registry. * Fixed pipeline. * Exposed dive instance modules. * Updated readme template. * Updated module documentation. * Added module documentation to README. * Automated module documentation. * Fixed pipeline. * Revert "Changed property order." This reverts commit 40c7d13. * Revert "Added dynamic dependencies to Actions." This reverts commit 5a6bbd4. * Revert "Added first version of State." This reverts commit b2006ff. * Fixed pipeline. * Reworked module build process. * Fixed paths. * Fixed export. * Reworked module types. * Reworked documentation generation. * Fixed pipeline. * Moved ci script file. * Renamed Modules to ModuleRegistry. * Removed docs from npm package due to file size. * Fixed build. * Reworked ModuleRegistry to only deliver classes. * Change package.json to export ModuleRegistry only. * Added modules build path. * Added more documentation. * Removed ModuleRegistry to just use Importer on it's own. * Reworked build process to dynamically rewrite imports. * Added automatic instantiation as a method to ModuleImporter. * Updated docs. * Defined engine. * Correctly autostart the renderer. * Reworked QuickView to be async (wait for loading model). * Fixed tests. * Reactivated test. * Moved all scene components to seperate folder. * Moved src code to a more sturctured way. * Added index.ts files for logical groups. * Raised test coverage. * Fixed irrelevant webxr files. * Fixed tests. * Added build path helper. * Fixed Resize manager. * Fixed view calculation. * Fixed tests. * Reworked Renderer. * Fixed build path. * Changed renderer name. * Reworked Renderer. * Changed renderer name to renderPipeline. * Added new Action factory. * Clean implementation of types. * Implemented ComputeEncompassingViewAction. * Rewrote actions to use new Action.define factory. * Added tests to rewrote actions. * Renamed Communication to State. * Added build path helper. * Added Action registry. * Removed lint:actions script because linting resolves in TS now. * Fixed tests. * Fixed merge issues. * Implemented ComputeEncompassingViewAction. * Rewrote actions to use new Action.define factory. * Renamed Communication to State. * Added Animator for convinient animating. * Added OrbitController refactoring (wip). * Fixed tests. * Renamed methods. * Renamed methods, made Toolbox Module. * Added canvas as a setting to QuickView. * Refactor: State (#82) * Added first version of State. * Added dynamic dependencies to Actions. * Changed property order. * Added first version of ModuleRegistry. * Renamed files. * Fixed tests. * Exclude ARSystem from global export. * Removed unnecessary test. * Renamed file, added test. * Renamed export. * Moved modules to own folder. * Reworked ModuleRegistry. * Improved error handling. * Rearranged code. * Renamed test describes. * Refined build script to catch all module registrations. * Moved files. * Reworked module exports in package.json. * Modified readme template to contain build process and yalc as local development environment. * Updated readme template. * Fixed Math naming. * Created centralized module registrations (in modules/indes.ts). * New build process approach. * Improved ModuleRegistry workflow. * Added relative paths to module registry. * Fixed pipeline. * Exposed dive instance modules. * Updated readme template. * Updated module documentation. * Added module documentation to README. * Automated module documentation. * Fixed pipeline. * Revert "Changed property order." This reverts commit 40c7d13. * Revert "Added dynamic dependencies to Actions." This reverts commit 5a6bbd4. * Revert "Added first version of State." This reverts commit b2006ff. * Fixed pipeline. * Reworked module build process. * Fixed paths. * Fixed export. * Reworked module types. * Reworked documentation generation. * Fixed pipeline. * Moved ci script file. * Renamed Modules to ModuleRegistry. * Removed docs from npm package due to file size. * Fixed build. * Reworked ModuleRegistry to only deliver classes. * Change package.json to export ModuleRegistry only. * Added modules build path. * Added more documentation. * Removed ModuleRegistry to just use Importer on it's own. * Reworked build process to dynamically rewrite imports. * Added automatic instantiation as a method to ModuleImporter. * Updated docs. * Defined engine. * Correctly autostart the renderer. * Reworked QuickView to be async (wait for loading model). * Fixed tests. * Reactivated test. * Moved all scene components to seperate folder. * Moved src code to a more sturctured way. * Added index.ts files for logical groups. * Raised test coverage. * Fixed irrelevant webxr files. * Fixed tests. * Added build path helper. * Fixed Resize manager. * Fixed view calculation. * Fixed tests. * Reworked Renderer. * Fixed build path. * Changed renderer name. * Reworked Renderer. * Changed renderer name to renderPipeline. * Added new Action factory. * Clean implementation of types. * Implemented ComputeEncompassingViewAction. * Rewrote actions to use new Action.define factory. * Added tests to rewrote actions. * Renamed Communication to State. * Added build path helper. * Added Action registry. * Removed lint:actions script because linting resolves in TS now. * Fixed tests. * Fixed merge issues. * Implemented ComputeEncompassingViewAction. * Rewrote actions to use new Action.define factory. * Renamed Communication to State. * Added Animator for convinient animating. * Added OrbitController refactoring (wip). * Fixed tests. * Renamed methods. * Renamed methods, made Toolbox Module. * Added canvas as a setting to QuickView. * Modules rework (wip). * Switched from jest to vitest. * Fixed testing setup. * Renamed entry file. * Fixed tests. * Added tsx for .ts execution. * Added DRACO support locally. * Reworked objects data flow. * Fixed tests. * Fixed TS issue. * Update project config to correctly handle draco files. * Reworked Draco Loader implementation. * Fixed import of draco lib. * Added class exports instead of types. * Fixed applyMixin helper. * Fixed instance referencing. * Fixed floor visibility. * Added instance unregistering. * Removed mixin to fix interface issue. * Expose engine and interface types. * Fixed AnimationSystem test mock error. * Fixed import in action. * Improved error handling for AR. * Moved event system out of modules. * Added new module definition method via index.ts files. * Fixed shadow map. * Fixed tests. * Added plugin structure to existing animation system. * Added postinstall to install node_modules for plugins. * Made imports more slim. * Made SystemInfo a decoupled plugin. * Made asset handlers decoupled plugins. * Fixed vitest setup * Added names to plugins. * Made AxisCamera a plugin. * Fixed media creator plugin. * Moved remaining modules to plugin architecture. * Fixed tests * Add docu to vite config. * Removed ModuleRegistry overhead. * Moved required types from state plugin to core. * Rebundled types. * Fixed README for animation system. * Added README for ar. * Improved README for animation. * Added README to assetconverter. * Added README to axiscamera. * Added README to mediacreator. * Added README to orbitcontroller. * Added README to state. * Added README to systeminfo. * Added README to toolbox. * Renamed modules folder to plugins. * Fixed ar plugin structure. * Added README to assetexporter. * Added README to assetloader. * Fixed build step. * Removed old docu. * Cleaned up last imports. * Deleted old types. * Added robust install script. * Prettier fix. * Removed temporarily broken docs generation from ci script. * Fixed remaining mocks. * Renamed build script. * Changed github workflows to cache plugins node_modules as well. * Moved deps to root. * Revert "Changed github workflows to cache plugins node_modules as well." This reverts commit cf8d225. * Refined error class types. * Added user-story template for github. * Introduced new error type. Correctly export error files. * Removed duplicate test file. * Added lockcamera action test. * Exlude barrel exports from coverage report. * Added test for type guards. * Added testing for EventExecutor class. * Renamed and extended the EventExecutor class to EventDispatcher. * Added AssetCache plugin. * Improved async test behaviour. * Improved test coverage on TransformTool. * Added more tests. * Reworked encompassing view calculation. * Renamed pipelines. * Refactored Orientation Display. * Added BoundingBox tests. * Added export.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
1. Why is this change necessary?
To improve on maintainability and accessibility for developers, we want to expose the vital parts of dive to the public. By doing so, a foreign developer can access dive's core parts and use it like a normal three.js application if needed.
2. What does this change do, exactly?
Exposes the newly created engine in the dive instance. Engine class contains Renderer, Scene, Render Pipeline and Camera.
3. Describe each step to reproduce the issue or behaviour.
4. Please link to the relevant issues (if any).
Depends on: #65
5. Checklist