Skip to content

Commit

Permalink
Hotfix/postinstall (#92)
Browse files Browse the repository at this point in the history
* Building, unit testing, some base files

Changes:

- Setup base project files under `./src`
- Setup Rollup bundling to Javascript as ES and CommonJS file formats
- Using unit testing from Typescript files instead of the Javascript files; maybe look at this later
- gitignore and npmignore files setup

Issues:

- No unit tests yet
- No engine running yet
- Very touchy for the type of module loading I'm using; need to look into different module loading

Comments:
- Need to look into CommonJS vs ES vs AMD module loading
- For my project, should I look into building this just as a web app, or look into building this to an Electron application as well?
- I have a lot of devDependencies, is there a way to start cutting these down?

* Documentation building and compiling issues

Changes:

Added in documentation building with the 'npm run docs' command. Going to continue adding scripts to build the project, as I will eventually need to add in additional build steps for running the engine. Also updated the Rollup bundler to use Babel to compile from the projects target modules ESNext to CommonJS modules for consumption. This threw errors when running Mocha tests. I now have an environment variable being set by the 'unittest' script for the user.

Issues:

* None found at this time.

Comments:

None at this time.

* Compiling, unit testing and Rollup fixes

Changes:

Updated Rollup to bundle files from ESNext to Javascript. Working on unit testing the engine to test running of the engine. Going to have to redesign and configure however. 

Issues:

* Still working on getting unit testing working
* Redesign of the engine needs to occur

Comments:

The engine needs to be redesigned. I'm debating between a static calling of the class or a variable to hold onto the object to check. Either way, also need to get the engine and each component to work separately for testing as well.

* Added new engine files and unit testing

Changes:

Updated unit tests for the engine. Added DObject, GameObject, Component, and FlagComponent classes with test cases. Currently debugging and working on but would like to set a save point to continue working later. Working on GameObjects currently so that I test getting developer game files when deploying the engine to a new project. This will also be tested for when the developer compiles all the typescript files and deploys. This should be compiled through the engine when running.

Issues:

Unit test cases currently failing, working on solutions and implementations.

Comments:

Still working on the base engine to get it running and off the ground. Will As soon as some more base classes are in then I will work on bundling the package and running on Electron or Angular as a test.

* GameWindow and Documents

Changes:

Added the GameWindow class. Should this have the direct link to the canvas or should the Render system 🤔? (I will ponder this). That said, this will be the container to the window (so maybe it should have all the udpate calls and such, but the renderer should touch it as well). Also added some documentation building to the `docs` folder now.

Issues:

The GameWindow class is going to take some working on to get right. Going to have to do some testing with how it will work with the render system.

Comments:

Add some prepublish scripts to build and deploy the documents. Maybe I can get a hook to a website for this? I don't know quite yet. Also going to have to get Travis-CI working sooner than later. Maybe those will be my tasks for tomorrow

* Initial Readme

Changes:

Added an initial version of the readme. I've looked at other project's readmes, and this is one of the best templates I've found. Going to bulid off of it for my project. More to come and be added, but would like an initial file.

Issues:

See previous commit 7cc6c9a524eb1434c1d40fdaa55e55f2ec3b1c42.

Comments:

None

* Travis-CI script

Changes:

Added an initial Travis-CI script to run unit tests

Issues:

None

Comments:

None

* Specifying branches for Travis-CI and uploading documentation

Changes:

Fixed Travis file to run master and develop branches only. Also added documentation pushing and building to Github Pages from the docs folder.

Issues:

None

Comments:

None

* Set theme jekyll-theme-merlot

* Updated travis.yml

* Added Travis-CI button

None

* :confused: Had to update mocha

* Updated package.json and tslint



Changes:

[This should be an overall summary of changes to the project at least done in point-form. More detailed prose format is of course allowed. The point of the description is to provide detail of changes and why.]

Issues:

[Please provide a point-form description of issues. Then please submit a formal issue on the GitHub project. Issue guidelines are doucmented in the project Wiki.]

Comments:

[Other general comments you wish to add]

* I finally get it :fire:

Changes:

The developer will need to use my engine within their project - being browser, Electron or Angular based (working on just browser/electron first). 

Issues:

- When trying to test Electron.BrowserWindow within Mocha test, running into an error where the BrowserWindow constructor is undefined. For now I have the test not running at all.

Comments:

Developers first setup their own project THEN use my application within it (install or download it). Going to have to do some major revisions, but I think the best thing to do is make a diagram explaining this in a system architecture diagram. Going to have to do some thinking over the next week on how to do this, but also just need to sit down and work when I get back on it.

* Contributing file added

Changes:

Added the CONTRIBUTING.md file to the project tree in ready to submit the first projects pull request.

Issues:

none

Comments:

none

* Building files ready (#6)

* Building, unit testing, some base files

Changes:

- Setup base project files under `./src`
- Setup Rollup bundling to Javascript as ES and CommonJS file formats
- Using unit testing from Typescript files instead of the Javascript files; maybe look at this later
- gitignore and npmignore files setup

Issues:

- No unit tests yet
- No engine running yet
- Very touchy for the type of module loading I'm using; need to look into different module loading

Comments:
- Need to look into CommonJS vs ES vs AMD module loading
- For my project, should I look into building this just as a web app, or look into building this to an Electron application as well?
- I have a lot of devDependencies, is there a way to start cutting these down?

* Documentation building and compiling issues

Changes:

Added in documentation building with the 'npm run docs' command. Going to continue adding scripts to build the project, as I will eventually need to add in additional build steps for running the engine. Also updated the Rollup bundler to use Babel to compile from the projects target modules ESNext to CommonJS modules for consumption. This threw errors when running Mocha tests. I now have an environment variable being set by the 'unittest' script for the user.

Issues:

* None found at this time.

Comments:

None at this time.

* Compiling, unit testing and Rollup fixes

Changes:

Updated Rollup to bundle files from ESNext to Javascript. Working on unit testing the engine to test running of the engine. Going to have to redesign and configure however. 

Issues:

* Still working on getting unit testing working
* Redesign of the engine needs to occur

Comments:

The engine needs to be redesigned. I'm debating between a static calling of the class or a variable to hold onto the object to check. Either way, also need to get the engine and each component to work separately for testing as well.

* Added new engine files and unit testing

Changes:

Updated unit tests for the engine. Added DObject, GameObject, Component, and FlagComponent classes with test cases. Currently debugging and working on but would like to set a save point to continue working later. Working on GameObjects currently so that I test getting developer game files when deploying the engine to a new project. This will also be tested for when the developer compiles all the typescript files and deploys. This should be compiled through the engine when running.

Issues:

Unit test cases currently failing, working on solutions and implementations.

Comments:

Still working on the base engine to get it running and off the ground. Will As soon as some more base classes are in then I will work on bundling the package and running on Electron or Angular as a test.

* GameWindow and Documents

Changes:

Added the GameWindow class. Should this have the direct link to the canvas or should the Render system 🤔? (I will ponder this). That said, this will be the container to the window (so maybe it should have all the udpate calls and such, but the renderer should touch it as well). Also added some documentation building to the `docs` folder now.

Issues:

The GameWindow class is going to take some working on to get right. Going to have to do some testing with how it will work with the render system.

Comments:

Add some prepublish scripts to build and deploy the documents. Maybe I can get a hook to a website for this? I don't know quite yet. Also going to have to get Travis-CI working sooner than later. Maybe those will be my tasks for tomorrow

* Initial Readme

Changes:

Added an initial version of the readme. I've looked at other project's readmes, and this is one of the best templates I've found. Going to bulid off of it for my project. More to come and be added, but would like an initial file.

Issues:

See previous commit 7cc6c9a524eb1434c1d40fdaa55e55f2ec3b1c42.

Comments:

None

* Travis-CI script

Changes:

Added an initial Travis-CI script to run unit tests

Issues:

None

Comments:

None

* Specifying branches for Travis-CI and uploading documentation

Changes:

Fixed Travis file to run master and develop branches only. Also added documentation pushing and building to Github Pages from the docs folder.

Issues:

None

Comments:

None

* Set theme jekyll-theme-merlot

* Updated travis.yml

* Added Travis-CI button

None

* :confused: Had to update mocha

* Updated package.json and tslint



Changes:

[This should be an overall summary of changes to the project at least done in point-form. More detailed prose format is of course allowed. The point of the description is to provide detail of changes and why.]

Issues:

[Please provide a point-form description of issues. Then please submit a formal issue on the GitHub project. Issue guidelines are doucmented in the project Wiki.]

Comments:

[Other general comments you wish to add]

* I finally get it :fire:

Changes:

The developer will need to use my engine within their project - being browser, Electron or Angular based (working on just browser/electron first). 

Issues:

- When trying to test Electron.BrowserWindow within Mocha test, running into an error where the BrowserWindow constructor is undefined. For now I have the test not running at all.

Comments:

Developers first setup their own project THEN use my application within it (install or download it). Going to have to do some major revisions, but I think the best thing to do is make a diagram explaining this in a system architecture diagram. Going to have to do some thinking over the next week on how to do this, but also just need to sit down and work when I get back on it.

* Contributing file added

Changes:

Added the CONTRIBUTING.md file to the project tree in ready to submit the first projects pull request.

Issues:

none

Comments:

none

* Delete LICENSE

* Create LICENSE

* Update README.md

* Update README.md

* Update README.md

* More templates and to-fill stuff

Conventions

* Electron Apps Working (#8)

Changes:

Tested and used the engine in an electron application. There was a major issue with the babel configuration and not properly transpiling the code to commonjs. The app now runs while creating a new Entity child called Player in the electron application and prints the ID to the console (this was in a test project and is not setup or shown here). This is good as it means the engine can be installed and used as is which is great. Now I need to work on the engine to see if it can get which platform it's being used on.

Issues:

* Working on electron but not Angular2 or direct HTML5 canvas

Comments:

None.

* Fixing the documents (#12)

* Fixed document building

Changes:

Fixed the documentation building and displaying. Will be merging this into master as well.

Issues:

Fixing issue #7 & addressing issue #10

Comments:

None.

* Updated npm version

Changes:

[This should be an overall summary of changes to the project at least done in point-form. More detailed prose format is of course allowed. The point of the description is to provide detail of changes and why.]

Issues:

[Please provide a point-form description of issues. Then please submit a formal issue on the GitHub project. Issue guidelines are doucmented in the project Wiki.]

Comments:

[Other general comments you wish to add]

* Merge master into develop

Changes:

[This should be an overall summary of changes to the project at least done in point-form. More detailed prose format is of course allowed. The point of the description is to provide detail of changes and why.]

Issues:

[Please provide a point-form description of issues. Then please submit a formal issue on the GitHub project. Issue guidelines are doucmented in the project Wiki.]

Comments:

[Other general comments you wish to add]

* :beer: Updated readme and package.json. Having some issues with merging and pull requests. Fixed up now

* Github, core and tests

Changes:

Added a .github/ folder for all templates as I did not know that Github had this feature originally. Fixed up some tests, and added a new component. There needs to be some work done, but I have some ideas on how to approach next.

Issues:

None at this time.

Comments:

I will be travelling the next 3 weeks and will not be updating my code. Currently my proposal needs to be submitted again and that will happen after I am back from my trip. This commit is to make sure that all my work the past 2 weeks (not that I touched it much after the first day) is saved.

* Engine Running

Changes:

The Engine is now running. I have put in prompts to ensure that it can run in CLI. It runs out of sync as there is only the one system at the moment, but works.

Issues:

None.

Comments:

None.

* Updated TSLint to run with TravisCI

Changes:

Travis CI now checks for TSLint to come back with no errors.

Issues:

Addresses issue #9 in the project.

Comments:

None.

* :relaxed: Finally got a message system that works. I have installed a local npm file called tsuml that works by creating a UML of my project from a command line. Run tsuml --glob ./src/**/*.ts to create it

* :beer: Message system working. Need to run more tests before fully complete. Need to look at reconfiguring the engine to make sure the system is using the message system and run more tests.

* :zzz: Updated message system tests

* :panda_face: Message class tests complete. Will work on implementing the system tomorrow

* Many fixes to the system and tests.

* Changed the DOjbect structrue and updated tests to reflect changes
* Updated the Entity structure and changed the test file to reflect the changes.
* Removed gamewindow test (not at that stage of the project)
* Removed message test; merged into messsagessytem test
* Removed system interface
* Updated issue template (addressing issue #22)

Current issues
* #21
* #17

Still working on this commit. Will upload when complete.

* :skull: Fixed some tests

* :sweat_smile: Working on npm audit issues with the project

* :skull:

* :confused: Don't know where I want to setup my client for the engine. This will need to be pondered. I also am having an issue on how to setup the game loop. Should it be a web worker, or run on the main UI thread as it should be dependent on it for timing. Will be thinking this over for a bit. Tests currently fail. Consider looking at the game loop. Should I be utilizing my message system more?

* :sleepy: Removed unecessary node modules

* :beer: Working on a lot of changes. The engine will have to be redesigned for connecting with the GameWindow, scenes and Electron, Browser

* :-1: Not working, changing to Windows

* :-1: Still not working. Going to try a new implementation

* :moneybag: -m Currently npm test is not running. Made issue #24

* :tired_face: Still not working, but here is my up to date file

* :fire: Adding changes since last commit

* :sweat_smile: Fixed tests compilation with help from @loganfsmyth on the Babel slack

* :+1: Added Istanbul test coverage to the suite

* :-1: Falsifying 2 tests to check if Travis-CI is working

* :beer: Changed tests back to what they should be

* :panda_face: Testing DOM with Puppeteer

* :panda_face:

* :zzz: Document is undefined still. Cant get it working and Im sleepy. Bed time!

* Puppeteer working, Divine global and Document aren't

Changes:

Puppeteer has been added to the Unit Tests to check UI and in browser variables of the engine. So far Divine is "undefined" but that is what I'm working to fix. New tests can be run with `npm test` and `npm run-script unit-test` as Istanbul now gives a coverage mapping as well.
Mostly build tools were added in this commit. There is lot's of debugging to come.

Issues:

* "Divine" must be a global variable in the browser scope
* GameWindow is still not being populated as "document" is undefined.

Comments:

[Other general comments you wish to add]

* Puppeteer, Rollup and Modules

Changes:

Puppetter has been added to the project for Chrome testing. This will allow me to check and see if the "users'" application is running in the browser. However, as much as I would like to continue this right now, I am not having the best time with it. Therefore, I am moving on to another part of the project, the renderer. 
Rollup was previously spitting out the wrong formatted files, that has been fixed to UMD and ES modules (named accordingly).

Issues:

* Puppetter not working. After this commit, the tests will be turned off until I return to them.

Comments:

This has been a long time working at this, and needs to be put aside until I can find some help in the matter. This will be saved on a separate branch labelled "feature/puppeteer"

* :runner: Fixed unit test commands

* Game loop complete for console and browser

Changes:

Note: browser should work for electron as well.
The engine now runs in browser! This will now allow me to see real time loading and rendering. This is a great step but should have been done weeks ago. Will continue working on this later. Next step is rendering.

Issues:

n/a

Comments:

The greatest power is often simple patience. Joseph E Cossman

* chore(package.json): Adding commitizen to the project for semantic-release

* chore:

* ci: Commitizen and Semver

* fixed broken link in README.md that didn't point to CONTRIBUTING.md

* fixed 2nd broken link in README.md that didn't point to CONTRIBUTING.md

* Major message system rework. (#42) Merging from message_system

This is a big merge of the message_system. From here I believe things should get easier, but time will tell...
---
* :beer: Removed commitizen. Version control comes built into npm

* :+1: Finishing scripts and will work on the feature scene now. Going to stick to standards from here on out

* 0.1.0

* 0.2.0

* Major working feature (keep to 50 characters)

Changes:

* Added file: RELEASE_TEMPLATE.md
* Updated the coverage for nyc (Istanbul)
* Minor changes to NPM commands

Issues:

n/a

Comments:

Minor changes

* Base Engine startup

Changes:

[This should be an overall summary of changes to the project at least done in point-form. More detailed prose format is of course allowed. The point of the description is to provide detail of changes and why.]

Issues:

[Please provide a point-form description of issues. Then please submit a formal issue on the GitHub project. Issue guidelines are doucmented in the project Wiki.]

Comments:

Began writing subsystem class test files. Work on this later.

* aMajor working feature (keep to 50 characters)

Changes:

[This should be an overall summary of changes to the project at least done in point-form. More detailed prose format is of course allowed. The point of the description is to provide detail of changes and why.]

Issues:

[Please provide a point-form description of issues. Then please submit a formal issue on the GitHub project. Issue guidelines are doucmented in the project Wiki.]

Comments:

[Other general comments you wish to add]

* DObject extending MessageReceiver

Changes:

[This should be an overall summary of changes to the project at least done in point-form. More detailed prose format is of course allowed. The point of the description is to provide detail of changes and why.]

Issues:

[Please provide a point-form description of issues. Then please submit a formal issue on the GitHub project. Issue guidelines are doucmented in the project Wiki.]

Comments:

Tests failing at the moment

* DObjects extending MessageReciever interface

Changes:

DObject extending from MessageReciever
GameWindow circular dependency fixed
Continuing base engine creation.

Issues:

[Please provide a point-form description of issues. Then please submit a formal issue on the GitHub project. Issue guidelines are doucmented in the project Wiki.]

Comments:

[Other general comments you wish to add]

* SceneManager, Scene and Engine

Changes:

Engine now has a SceneManager and loads in the Scene for the Engine. The Engine loads the basic scene for now, but it is HARDSET in Engine.ts (in the start method). SceneManager runs in tests, and also tests the Engine's startup of the scene. Scene tests still need to be written.
Helper functions have been written to read/write JSON data in files. This needs to be tested to see if the engine is pulling the files locally. This also needs to be tested to be running in a developers environment (Electron, HTML, etc). Helper functions to write the Scenes to JSON files should be tested. The idea is that the the scene will be written and read on start/stop of the Engines running to aid with compilation. Helper functions currently have no tests. These need to be added in when possible.
Scene file basic JSON file needs to be written. How are scenes going to be read/written?

Issues:

* Tests currently fail
    * File reading/writing has been hanging tests

Comments:

* Add todo items in files to the GitHub Project
* Add issues that are currently in the system to the Issues section
* TravisCI .yml file has been updated

* :zzz: Fixing vulnerabilities

* :zzz: Going to bed. I can't work on this tonight. Mabye I'll have some cake :cake: too

* Typescript Watch Working

Changes:

This will rebuild the library as a Rollup file each save. This will keep tests constant and concurrent. This will make testing in multiple environments much, much easier. Also a major feature of the engine implemented. This has been a long time coming and just has been slacked on.
Updated includes. Removed all default exports. Default exports are not
correct to use; see issue #28
[comment](https://github.com/srepollock/divine-engine/issues/28#issuecomment-429218927)

Issues:

Test still aren't running...
Issue #16
Issue #28
Issue #11

Comments:

Major feature complete.

* Pinpointing fs issue in Rollup and plugins

Changes:

* Helper function error logging
* Error log codes
* Rollup config order

Issues:

Creating issue #37 at this moment. Commiting now for reference.

* :beer: Saving for a reference point. Going to try and implement a Rollup config change

* Using prototypes for DObject messaging functions.

Changes:

As the title describes. Going to be using the engine to define
prototype functions and hopefully remove the circular dependency issue.
Testing is needed for DObject to test these functions.

Issues:

This is a continuation of issue #37

* :sleepy: File loading isn't happening tonight. Going to call it and go to bed "early"

* :beer: Test's running again. Better prints for logging - COLORS! Continuing researching loading from file

* WebGL, MessageSystem and Assets

Changes:

Message system has had a major overhaul; lot's of errors failing because of this reason. WebGL is beginning to be added in as I need to start getting work done on this. I'm loading this in with three.js and my package size has skyrocketed. Such as it needs to be however. Asset loading is next to begin testing. I need to see if I can get an asset loading for scene files.

Issues:

Current project issues:
* Asset loading needs to happen fast.
* Message tests need to be fixed up again...
Current relevant  GitHub issues:
* #28
* #11

Comments:

Time crunch is real.

* Message system overhaul

Changes:

I have done a complete message system overhaul. As there was a lot of
circular dependency issues with the original system, I believe this may
be a soltuion. It still relies on an event based system, but it now also
has a priority cue order as well. To be included is a low, and urgent
cue, but this is to be implemented later - shouldn't be too bad as a
later task I have bigger fish to fry.
There is also an asset loader from the previous commit that will need to
be tested. This is the next priority item.
After asset loading testing is complete, triage is going to need to be
done on the rest of the project. Begin breaking down tasks and attacking
them head on.

Issues:

GitHub issues changed with this commit:
* #28: This commit will close issue #28 as the message system tests are
all working. The current failing tests are from the Engine itself.
* #11: An older issue that is more top level. I will reference this when
working on the physics engines' queue however, for now it can be closed.

Other issues:
* Currently the tests fail, going to have to continue debugging this
tomorrow.

* 0.3.0

* fixed broken link in README.md that didn't point to CONTRIBUTING.md

* fixed 2nd broken link in README.md that didn't point to CONTRIBUTING.md

* :zzz: All Unit Test's are passing. Going to bed as this is enough work for the day. Look at merging this in as version 0.3.1 because there has been major changes to previous systems.

* 0.3.1

* :zzz: Updated document generator. Note, the generator is not ouputting errorsystem.ts

* :moneybag: -m Should not have removed types

* If Engine.instance is undefined in Engine.shutdown(), throw a warning not an error. Calling shutdown on an undefined system should be silently handled

* :tired_face: Added Entity.getChild test. Adding to pull rquest

* :beer: Updated travis.yml

* Addressing issue #44

* Addressing issue #44

* Addressing issue #44

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .gitignore

* Testing .gitignore adding coverage (#45)

* Testing .gitignore adding coverage

* Update .gitignore

* Exporting coverage report as lcov instead of json

* Update .travis.yml (#46)

* :fire: Adding Codecov for code coverage reporting (#48)

I need to run `nyc` to generate the report

* :panda_face: Updated README and GitHub template files (#49)

* Added code of conduct and link in CONTRIBUTING.md (#43)

* Update and rename code-of-conduct.md to CODE_OF_CONDUCT.md

* 0.3.2

* Build system, Message System, Entity Component System (#50)

* :relaxed: Finally got a message system that works. I have installed a local npm file called tsuml that works by creating a UML of my project from a command line. Run tsuml --glob ./src/**/*.ts to create it

* :beer: Message system working. Need to run more tests before fully complete. Need to look at reconfiguring the engine to make sure the system is using the message system and run more tests.

* :zzz: Updated message system tests

* :panda_face: Message class tests complete. Will work on implementing the system tomorrow

* Many fixes to the system and tests.

* Changed the DOjbect structrue and updated tests to reflect changes
* Updated the Entity structure and changed the test file to reflect the changes.
* Removed gamewindow test (not at that stage of the project)
* Removed message test; merged into messsagessytem test
* Removed system interface
* Updated issue template (addressing issue #22)

Current issues
* #21
* #17

Still working on this commit. Will upload when complete.

* :skull: Fixed some tests

* :sweat_smile: Working on npm audit issues with the project

* :skull:

* :confused: Don't know where I want to setup my client for the engine. This will need to be pondered. I also am having an issue on how to setup the game loop. Should it be a web worker, or run on the main UI thread as it should be dependent on it for timing. Will be thinking this over for a bit. Tests currently fail. Consider looking at the game loop. Should I be utilizing my message system more?

* :sleepy: Removed unecessary node modules

* :beer: Working on a lot of changes. The engine will have to be redesigned for connecting with the GameWindow, scenes and Electron, Browser

* :-1: Not working, changing to Windows

* :-1: Still not working. Going to try a new implementation

* :moneybag: -m Currently npm test is not running. Made issue #24

* :tired_face: Still not working, but here is my up to date file

* :fire: Adding changes since last commit

* :sweat_smile: Fixed tests compilation with help from @loganfsmyth on the Babel slack

* :+1: Added Istanbul test coverage to the suite

* :-1: Falsifying 2 tests to check if Travis-CI is working

* :beer: Changed tests back to what they should be

* :panda_face: Testing DOM with Puppeteer

* :panda_face:

* :zzz: Document is undefined still. Cant get it working and Im sleepy. Bed time!

* Puppeteer working, Divine global and Document aren't

Changes:

Puppeteer has been added to the Unit Tests to check UI and in browser variables of the engine. So far Divine is "undefined" but that is what I'm working to fix. New tests can be run with `npm test` and `npm run-script unit-test` as Istanbul now gives a coverage mapping as well.
Mostly build tools were added in this commit. There is lot's of debugging to come.

Issues:

* "Divine" must be a global variable in the browser scope
* GameWindow is still not being populated as "document" is undefined.

Comments:

[Other general comments you wish to add]

* Puppeteer, Rollup and Modules

Changes:

Puppetter has been added to the project for Chrome testing. This will allow me to check and see if the "users'" application is running in the browser. However, as much as I would like to continue this right now, I am not having the best time with it. Therefore, I am moving on to another part of the project, the renderer. 
Rollup was previously spitting out the wrong formatted files, that has been fixed to UMD and ES modules (named accordingly).

Issues:

* Puppetter not working. After this commit, the tests will be turned off until I return to them.

Comments:

This has been a long time working at this, and needs to be put aside until I can find some help in the matter. This will be saved on a separate branch labelled "feature/puppeteer"

* :runner: Fixed unit test commands

* Game loop complete for console and browser

Changes:

Note: browser should work for electron as well.
The engine now runs in browser! This will now allow me to see real time loading and rendering. This is a great step but should have been done weeks ago. Will continue working on this later. Next step is rendering.

Issues:

n/a

Comments:

The greatest power is often simple patience. Joseph E Cossman

* chore(package.json): Adding commitizen to the project for semantic-release

* chore:

* ci: Commitizen and Semver

* Major message system rework. (#42) Merging from message_system

This is a big merge of the message_system. From here I believe things should get easier, but time will tell...
---
* :beer: Removed commitizen. Version control comes built into npm

* :+1: Finishing scripts and will work on the feature scene now. Going to stick to standards from here on out

* 0.1.0

* 0.2.0

* Major working feature (keep to 50 characters)

Changes:

* Added file: RELEASE_TEMPLATE.md
* Updated the coverage for nyc (Istanbul)
* Minor changes to NPM commands

Issues:

n/a

Comments:

Minor changes

* Base Engine startup

Changes:

[This should be an overall summary of changes to the project at least done in point-form. More detailed prose format is of course allowed. The point of the description is to provide detail of changes and why.]

Issues:

[Please provide a point-form description of issues. Then please submit a formal issue on the GitHub project. Issue guidelines are doucmented in the project Wiki.]

Comments:

Began writing subsystem class test files. Work on this later.

* aMajor working feature (keep to 50 characters)

Changes:

[This should be an overall summary of changes to the project at least done in point-form. More detailed prose format is of course allowed. The point of the description is to provide detail of changes and why.]

Issues:

[Please provide a point-form description of issues. Then please submit a formal issue on the GitHub project. Issue guidelines are doucmented in the project Wiki.]

Comments:

[Other general comments you wish to add]

* DObject extending MessageReceiver

Changes:

[This should be an overall summary of changes to the project at least done in point-form. More detailed prose format is of course allowed. The point of the description is to provide detail of changes and why.]

Issues:

[Please provide a point-form description of issues. Then please submit a formal issue on the GitHub project. Issue guidelines are doucmented in the project Wiki.]

Comments:

Tests failing at the moment

* DObjects extending MessageReciever interface

Changes:

DObject extending from MessageReciever
GameWindow circular dependency fixed
Continuing base engine creation.

Issues:

[Please provide a point-form description of issues. Then please submit a formal issue on the GitHub project. Issue guidelines are doucmented in the project Wiki.]

Comments:

[Other general comments you wish to add]

* SceneManager, Scene and Engine

Changes:

Engine now has a SceneManager and loads in the Scene for the Engine. The Engine loads the basic scene for now, but it is HARDSET in Engine.ts (in the start method). SceneManager runs in tests, and also tests the Engine's startup of the scene. Scene tests still need to be written.
Helper functions have been written to read/write JSON data in files. This needs to be tested to see if the engine is pulling the files locally. This also needs to be tested to be running in a developers environment (Electron, HTML, etc). Helper functions to write the Scenes to JSON files should be tested. The idea is that the the scene will be written and read on start/stop of the Engines running to aid with compilation. Helper functions currently have no tests. These need to be added in when possible.
Scene file basic JSON file needs to be written. How are scenes going to be read/written?

Issues:

* Tests currently fail
    * File reading/writing has been hanging tests

Comments:

* Add todo items in files to the GitHub Project
* Add issues that are currently in the system to the Issues section
* TravisCI .yml file has been updated

* :zzz: Fixing vulnerabilities

* :zzz: Going to bed. I can't work on this tonight. Mabye I'll have some cake :cake: too

* Typescript Watch Working

Changes:

This will rebuild the library as a Rollup file each save. This will keep tests constant and concurrent. This will make testing in multiple environments much, much easier. Also a major feature of the engine implemented. This has been a long time coming and just has been slacked on.
Updated includes. Removed all default exports. Default exports are not
correct to use; see issue #28
[comment](https://github.com/srepollock/divine-engine/issues/28#issuecomment-429218927)

Issues:

Test still aren't running...
Issue #16
Issue #28
Issue #11

Comments:

Major feature complete.

* Pinpointing fs issue in Rollup and plugins

Changes:

* Helper function error logging
* Error log codes
* Rollup config order

Issues:

Creating issue #37 at this moment. Commiting now for reference.

* :beer: Saving for a reference point. Going to try and implement a Rollup config change

* Using prototypes for DObject messaging functions.

Changes:

As the title describes. Going to be using the engine to define
prototype functions and hopefully remove the circular dependency issue.
Testing is needed for DObject to test these functions.

Issues:

This is a continuation of issue #37

* :sleepy: File loading isn't happening tonight. Going to call it and go to bed "early"

* :beer: Test's running again. Better prints for logging - COLORS! Continuing researching loading from file

* WebGL, MessageSystem and Assets

Changes:

Message system has had a major overhaul; lot's of errors failing because of this reason. WebGL is beginning to be added in as I need to start getting work done on this. I'm loading this in with three.js and my package size has skyrocketed. Such as it needs to be however. Asset loading is next to begin testing. I need to see if I can get an asset loading for scene files.

Issues:

Current project issues:
* Asset loading needs to happen fast.
* Message tests need to be fixed up again...
Current relevant  GitHub issues:
* #28
* #11

Comments:

Time crunch is real.

* Message system overhaul

Changes:

I have done a complete message system overhaul. As there was a lot of
circular dependency issues with the original system, I believe this may
be a soltuion. It still relies on an event based system, but it now also
has a priority cue order as well. To be included is a low, and urgent
cue, but this is to be implemented later - shouldn't be too bad as a
later task I have bigger fish to fry.
There is also an asset loader from the previous commit that will need to
be tested. This is the next priority item.
After asset loading testing is complete, triage is going to need to be
done on the rest of the project. Begin breaking down tasks and attacking
them head on.

Issues:

GitHub issues changed with this commit:
* #28: This commit will close issue #28 as the message system tests are
all working. The current failing tests are from the Engine itself.
* #11: An older issue that is more top level. I will reference this when
working on the physics engines' queue however, for now it can be closed.

Other issues:
* Currently the tests fail, going to have to continue debugging this
tomorrow.

* 0.3.0

* fixed broken link in README.md that didn't point to CONTRIBUTING.md

* fixed 2nd broken link in README.md that didn't point to CONTRIBUTING.md

* :zzz: All Unit Test's are passing. Going to bed as this is enough work for the day. Look at merging this in as version 0.3.1 because there has been major changes to previous systems.

* 0.3.1

* :zzz: Updated document generator. Note, the generator is not ouputting errorsystem.ts

* :moneybag: -m Should not have removed types

* If Engine.instance is undefined in Engine.shutdown(), throw a warning not an error. Calling shutdown on an undefined system should be silently handled

* :tired_face: Added Entity.getChild test. Adding to pull rquest

* :beer: Updated travis.yml

* Addressing issue #44

* Addressing issue #44

* Addressing issue #44

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .gitignore

* Testing .gitignore adding coverage (#45)

* Testing .gitignore adding coverage

* Update .gitignore

* Exporting coverage report as lcov instead of json

* Update .travis.yml (#46)

* :fire: Adding Codecov for code coverage reporting (#48)

I need to run `nyc` to generate the report

* :panda_face: Updated README and GitHub template files (#49)

* Update README.md

* Update README.md

* Update README.md

* Beginning AssetManager tests

Changes:

* AssetManager using JSONFileLoader

Issues:

* Asset manager test failing. Cannot find the file from console (have not tried in browser yet, will tomorrow morning in a test project.

Comments:

I need to get this done by end of tomorrow, or else just move on to the render engine regardless.

* Adding additional tests for coverage

Added test to check if the instance is undefined that the system throws a critical error.

* Remove allListeners() function

This is a duplicate of allListenerCount()

* NodeJS assets loading for tests, next Browser

Changes:

Assets are now loading! I can now load assets by name as long as they are given as relative paths in NodeJS. Next I need to ensure XMLHttpRequests are getting the proper files.

AssetsManager calls shall only ever be from the IOSystem. Use the message system to request files from any other system or entity even (who knows). Engine should have a recollection of all types of DObjects being created(?). Scene will have a list of all entities in the system so far. MessageSystem will have all messages in the system as well as handlers.

Issues:

#11, #18

Comments:

[Conditional importing in ES6 as of stage 3](https://stackoverflow.com/questions/36367532/how-can-i-conditionally-import-an-es6-module)

* :smile: Trying to get things working on browser. So far it's not going well. The container is not being defined and sent to the engine

* :smile: Organizing some files

* :sleepy: Updating to make sure the new tests are covering properly

* :sleepy: OK going to bed now

* Adding clarification on how AssetManager

 should be called

* Optimizing getAsset if statement and returns

* Asset loading with user defined objects

This is dangerous and needs to be thoroughly tested (which I'm working on now). I believe this will allow me to build scenes from cache though...

* Added some AssetManager test cases

Added some test cases to AssetManager that should cover some more of the code than before. Will have to pull and run a coverage check on my laptop over lunch.

* Linting fixes

* :relieve: GitHub written tests are working.

* Updated getting parent

* Entity module constructor

Updated the entity constructor to use an object mapping to allow modular creation.

* Update entity.ts

* Updated Entity constructor

Added parent to the constructor

* Updated Entity.spec.ts to use new constructor

* Entity parent and component tests.

This file should be updated. I don't need 100 different test suites...

* :zzz: Trying fix mentioned in #51

* :confused: Adding back coverage files

* Loading files again, Entity constructor change

Changes:

Loading scenes from files. Going to start using threejs scenes. I believe codecoverage is fixed, but I don't have time to test or pursue the issue so I'm going to close and may reopen issue #52 later. Too tired from too much debugging, I will try this again tomorrow. Oh also, now tracking my time on [Waka time](https://wakatime.com/about), so there's that.

Issues:

Closing issue #52 as it's a minor goal of the engine

Comments:

I really need to get threejs working...

* 0.3.3

* Abstract System class

Changes:

*Major:*
Changing the System interface to an abstract class. Working on updating the other systems to this structure. Currently debating if systems should have their own cue or not. This will fall back to design of the engine. I need to sit and design from the current UML diagram of my system. Will work on this more tomorrow.

*Minor:*
Updated docs script. Now generates all the docs. The key was that I was using src/**/*.ts when I thought it would recursive open functions, but it does not. src/* fixes this.

Issues:

Comments:

This weekend was a blur and so will this month. Power through and do what I can. Sprint sprint sprint.

* :confused: For some reason when calling the cleanup on the engine, the sceneManager is undefined. Why?

* :beer: Working?

* System, Render System, Physics System,

Changes:

System is now an abstract class (should have been in the first place)
    and will have all Systems as children. It just standardizes a few
    functions for the systems to use. Read the notes in the class for
    more information.

Render system is now using Three.js. This is going to cause some issues,
       and I'm going to branch here and give something a try before I
       continue. I need this commit as a stop point for now.

Physics system is a placeholder for the moment, but it "works".

All of these classes - and a vast majority more - of the engine needs to
be documented and tested to hit 100% and 70% (respectivly) for codecoverage and general
documentation.

Issues:

These will just need to get done, but I'm branching to try something
first.

Comments:

Here we go...

* feat(engine): Began creating the engine main loop

The main loop is currently failing in node due to the requestAnimationFrame not being part of the
core API (only in browser). Will look to extend a node loop process to run this otherwise. Currently
not using the message system either as it will require integration tests. Logging system was also
implemented, as I believe I left it out before. Will pickup tomorrow.

BREAKING CHANGE: Currently the unit tests do not run as the requestAnimationFrame does not exist in
Node

* build(rollup): Fixed Rollup build

Rollup is now compiling and running. The trick is that `tsc` is called first to compile ESNext to
CommonJS, then Rollup builds the minified, bundled version into CommonJS, UMD and ES modules.

* feat(Engine): Main loop

Implemented a majority of the main loop. Some debug testing is not passing currently so I will need
to update that tomorrow to get running. The unit tests are coming in handy as it appears it's not
running, but also I think I have to much in the tests at this time as well. All play testing at the
same time I suppose.

* feat: Logging system and message system as submodules

Updated the logger and the message system as their own separate projects. They will be handled there
as they are completed projects, and should be managed accordingly. Working to continue the project's
main goal of completing an engine.

* Major working feature (keep to 50 characters)

EDIT THIS LATER

Changes:

[This should be an overall summary of changes to the project at least done in point-form. More detailed prose format is of course allowed. The point of the description is to provide detail of changes and why.]

Issues:

[Please provide a point-form description of issues. Then please submit a formal issue on the GitHub project. Issue guidelines are doucmented in the project Wiki.]

Comments:

[Other general comments you wish to add]

* build: Updated the build back to the old system

New features a plenty. Why break what isn't broken? Going to head back to this build and focus just
on getting an Electron build running. This is my goal for the moment.

BREAKING CHANGE: - Tests currently aren't building

* refactor(messagesystem): Working on integrating the new message system into the project.

This has taken some time, and still working on the changes. Will continue as time progresses.

BREAKING CHANGE: Unit tests are currently not running

* feat: Bugs

Bugs bugs and lots more bugs. I've got a lot of cleanup to do and sorting to figure out. Going to
work on Babylon integration over the weekend. SocketIO to come.

BREAKING CHANGE: Tests do not run

* feat: RenderSystem BabylonJS integration

Working BabylonJS into the system now and working to get it going with the scene manager. Working to
have this done soon, then we can begin message integration and building. Hopefully...

BREAKING CHANGE: Tests do not build currently

* fix(rollup): Fixed up Rollup pipeline

BREAKING CHANGE: Cannot read from src/core

* fix(build): Fixes failing build

Building to Electron is now functional. Engine is running in manual tests. Working on setting a
basic scene now. This is not a bump or a fix, but simply a step in the right direction. Continuing
now.

* refactor(messagesystem): Submodule fix for the messagesystem

* build: Major changes to the project

Working on changing to strictly use TypeScripts compiler and running es2015 modules. Changing
testing to jest instead of mocha/chai as it has builtin TypeScript compiling. Working to simplify
the process as opposed to using 10 different tools

BREAKING CHANGE: Removing references of Babel, using tsc, changing from Mocha/Chai to Jest

* test(jest): Tests have mostly been refactored to jest.

Continuing to work on tests and revamp them as they will need to be updated more. Things seem to be
working smoothly at the moment (minus the failing tests), but this is just part of red/green testing
and will be implemented shortly.

* fix: This is not a fix. There are too many bugs to count. Working on changes now.

* refactor(src/test): Refactored Engine code and Tests

We are now using Jest for our tests as it uses builtin Babel to comiple and run the code. Also, we
are targeting es2015 strictly, and will be using this as our base while writing ESNext code.
Confusing, but we are following ESNext -> es2015 -> bundled code for usage. Tests are failing as
there is still more to be written, but this took 2 days to refactor and run through, so it's an
ongoing process.

BREAKING CHANGE: Tests fail, but red/green testing is good

* test(scenemanager): Scene manager update

Updated the current scene manager class to change scene loading. Added in new options for the class
to load the scene, add the scenes to the list and remove them.

* feat(scenemanager): Added saving methods

Setup the SceneManager and the DScene to have the saving methods as part of the class. The
implmentation will be done in the IOSystem and passed as a message through the MessageSystem (to be
tested later on). Did some minor fixes in the Engine, EngineArguments and a testing project in
Electron to get the game working better. Still have some errors with the window size, but this can
be fixed later on. Running into issues with the ThreeJS scene rendering, giving the warning:
Rendercount or primcount is 0. This looks to be an issue with the objects being added late to the
scene, or having an issue finding the scene. More debugging to come.

* chore(rendersystem): Fixing up the render system

Working to change render system tests and render system in general. Going to remove ThreeJS (as I
can't get it working) and get my own WebGL context working. Going off of what I've learned in class
about WebGL. This will be better for my thought process and what I understand. Going to also change
up the tests to use Puppeteer or JSDom as it errors running Jest in the Node instance. This is going
to be some heavier work, so I wanted to get a checkpoint saved and continue with my work.

* feat(rendersystem): Personal implementation of WebGL and Rendering

Changing to own implementation of WebGL. Camera, general rendering (just a simple box) and Matrix's
have begun to be implemented

* feat(matrix3/4): Created an inner Matrix3 / Matrix4 class

Created and tested Matrix3 and Matrix4 classes for usage in the engine. This will be used for WebGL
matrix convertions as gl-matrix could not be packaged and used correctly. Took extra time, but the
classes and their functions are all working correctly and can be used properly with WebGL now. Going
to continue creating a basic scene to render to the canvas now.

* fix(fragment shader): Issues loading the shaders have been fixed

Loading the shaders was a dumb error. Had the fragment shader loading as a vertex shader (bad
copy/pasta). Continuing to build the basic scene now. Going to have to do a lot of finniking to get
this working on time.

* refactor(rendersystem): Not rendering

Worked to get the renderer working, and still nothing is happening. I think this may be more trouble
than it's worth, especially with the time frame that I have. I'm going to call it here to get
ThreeJS working again. It's should remove most of the complexity in this aspect.

* feat(rendersystem): ThreeJS is implemented and working

This really didn't take that long, and I'm a little upset at myself for not doing this sooner and
more efficiently. This is not using the scene in my testing project, but just a set scene in the
render system that will have to be removed.

* feat(rendersystem): Updated to use ThreeJS scene objects

Should be rendering entities now, but things are going wonky on getting the scenes in my testing
project. Going to troubleshoot this in the AM. Not much left before I can really start striding into
place with my project. This seems to be going smoothly for the most part.

* docs(readme): Updated README to better reflect the projects current status

Reviewed and revised the README document to update it with current information of the project. This
was mostly completed to write and update my final report for the project. This will be cherrypicked
and applied to the master branch.

* feat: Rendering and Sprites

Worked on getting the sprite system implemented, but it began taking up too much time. Going to push
this off for now and continue working on getting movement and physics implemented first. Going to
take a bit of time, but I've got some ideas on the back burner for now. Also working on the report
along side work to get things done on time.

* feat(rendersystem): Updating textures and tests

Worked on getting textures implemented into the engine. Cannot successfully get them loading in my
test electron project from the assets folder. Continuting to work on this over time. Working on
fixing the tests to get the working properly. There are a lot failing and out of date that need to
be udpated, so these are being addressed now. Continuing to work on them as the night progresses.

* chore: Working on tests and textures

Still working on tests and textures, not making much headway but still plugging along. Got
sidetracked by GitHub actions on a side project. They'll be implemented here eventually

* test(tests): Updated the system tests to reflect the changes for the message system

Tests have been updated with thresholds in the package.json file. Tests and the engine itself have
been updated to reflect the changes in the message system. These are now passing the basic unit
tests and should be good to go in the test project. Working on textures and the IOSystem next.

* feat(iosystem): Working on getting file loading from the IOSystem

The IOSystem will use fs to get files from the system. This is going to be tricky to get working as
the system uses the message system for loading files and textures. Currently working on getting the
scenes loading from the file, but this may take more time to setup than anticipated. Once setup
through the message system, json file saves and textures will be loaded from the filesystem in
cached memory. Working on getting this setup now

BREAKING CHANGE: The tests now hang or fail. Working on resolving this as it's waiting for the
message system in other files that is not running and doesn't exist currently

* chore(eslint): Changed the project to ESLint

Changed over to ESLint as that is the official supported linter for TypeScript. TSLint has been
deprecated and therefore removed

* feat: Updated engines streams, worked on implementing them into the engine's message system

* feat: Major engine update

Engine has been configured and setup for basic usage. This is a trimmed down version of the initial
design, but functional and continues to work.

* refactor(errorcode): Updated errors to use the logging system

* fix: Updated collision, sprite origins and zones

Fixed a rotation bug. Fixed the collisions to render in place around the object instead of the top
corner. Working on implementing zone changing now

* fix(aimovements): Updated the aimovementbehaviour

I will need to go over components vs behaviours to narrow my focus. There is redundancy in both, and
some can extend others. Going to update this after working on some diagrams

* feat(behaviours): GUI Behaviours have been added into the engine

This will allow developers to create gui options. Some work is hardcoded for now to be specifically
relatedd to the zone file, but things are working for the most part

* fix(engine): Updated the game loop

Now getting constant changes and not using an fps count to determine the frame loop. This can be
updated and reviewed later

* feat: Zones, Collisions, Messages, Alpha version

Welcome to the end game. This is the Alpha version of the Divine Engine. This is the version used in
the playable demo Alpha release of (Save the
Princess)[https://github.com/srepollock/save-the-princess]. For any issues, please send them under
issues in the GitHub project.

* chore: 🤖 Added loggingsystem commits

* fix: 🐛 postinstall creates the library

* feat: 🎸 Updating postinstall and testings

* chore(release): 0.4.0

* fix: 🐛 Fixing releases

* fix: 🐛 Removing dist for bundle

* feat: 🎸 Change deploy to running on Linux
  • Loading branch information
srepollock committed Sep 10, 2019
1 parent 010405b commit 1793e28
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,16 @@ jobs:
GH_PAT: ${{secrets.GITHUB_TOKEN}}

release_gh:
runs-on: macos-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/setup-node@v1
with:
node-version: 12
- run: |
brew install wine
sudo dpkg --add-architecture i386 && apt-get update
sudo apt-get update && sudo apt-get install wine32
sudo apt install wine64
- run: |
npm install
npm run build
Expand Down

0 comments on commit 1793e28

Please sign in to comment.