From fa254a6406a0cc4f4eff693f29d8eb720af68024 Mon Sep 17 00:00:00 2001 From: rabail-aamir Date: Mon, 29 Dec 2025 16:42:34 +1100 Subject: [PATCH 1/3] docs: reorganise documentation folder structure --- .gitignore | 7 ++++++- .../Other => contributing}/folder-structure-overview.md | 0 .../cpp-js-binding-generation-overview.md | 0 .../Processes => guides}/how-splashkit-online-runs-code.md | 0 .../Classes => reference/classes}/execution-environment.md | 0 .../Classes => reference/classes}/idb-stored-project.md | 0 .../Classes => reference/classes}/tree-view.md | 0 .../api-support-tests.md | 0 .../splashkit-online-c-sharp-support-research.md | 0 .../splashkit-online-research-outcome.md | 0 .../splashkit-online-research-plan.md | 0 11 files changed, 6 insertions(+), 1 deletion(-) rename Documentation/{Code Documentation/Other => contributing}/folder-structure-overview.md (100%) rename Documentation/{Code Documentation/Processes => guides}/cpp-js-binding-generation-overview.md (100%) rename Documentation/{Code Documentation/Processes => guides}/how-splashkit-online-runs-code.md (100%) rename Documentation/{Code Documentation/Classes => reference/classes}/execution-environment.md (100%) rename Documentation/{Code Documentation/Classes => reference/classes}/idb-stored-project.md (100%) rename Documentation/{Code Documentation/Classes => reference/classes}/tree-view.md (100%) rename Documentation/{Research and Findings => research}/api-support-tests.md (100%) rename Documentation/{Research and Findings => research}/splashkit-online-c-sharp-support-research.md (100%) rename Documentation/{Research and Findings => research}/splashkit-online-research-outcome.md (100%) rename Documentation/{Research and Findings => research}/splashkit-online-research-plan.md (100%) diff --git a/.gitignore b/.gitignore index c3f7ccf..da98c7a 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,9 @@ out/ splashkit/splashkit_autocomplete.json generated/ __pycache__/ -_framework/ \ No newline at end of file +_framework/ +# macOS +.DS_Store + +# IDE/solution files +*.sln diff --git a/Documentation/Code Documentation/Other/folder-structure-overview.md b/Documentation/contributing/folder-structure-overview.md similarity index 100% rename from Documentation/Code Documentation/Other/folder-structure-overview.md rename to Documentation/contributing/folder-structure-overview.md diff --git a/Documentation/Code Documentation/Processes/cpp-js-binding-generation-overview.md b/Documentation/guides/cpp-js-binding-generation-overview.md similarity index 100% rename from Documentation/Code Documentation/Processes/cpp-js-binding-generation-overview.md rename to Documentation/guides/cpp-js-binding-generation-overview.md diff --git a/Documentation/Code Documentation/Processes/how-splashkit-online-runs-code.md b/Documentation/guides/how-splashkit-online-runs-code.md similarity index 100% rename from Documentation/Code Documentation/Processes/how-splashkit-online-runs-code.md rename to Documentation/guides/how-splashkit-online-runs-code.md diff --git a/Documentation/Code Documentation/Classes/execution-environment.md b/Documentation/reference/classes/execution-environment.md similarity index 100% rename from Documentation/Code Documentation/Classes/execution-environment.md rename to Documentation/reference/classes/execution-environment.md diff --git a/Documentation/Code Documentation/Classes/idb-stored-project.md b/Documentation/reference/classes/idb-stored-project.md similarity index 100% rename from Documentation/Code Documentation/Classes/idb-stored-project.md rename to Documentation/reference/classes/idb-stored-project.md diff --git a/Documentation/Code Documentation/Classes/tree-view.md b/Documentation/reference/classes/tree-view.md similarity index 100% rename from Documentation/Code Documentation/Classes/tree-view.md rename to Documentation/reference/classes/tree-view.md diff --git a/Documentation/Research and Findings/api-support-tests.md b/Documentation/research/api-support-tests.md similarity index 100% rename from Documentation/Research and Findings/api-support-tests.md rename to Documentation/research/api-support-tests.md diff --git a/Documentation/Research and Findings/splashkit-online-c-sharp-support-research.md b/Documentation/research/splashkit-online-c-sharp-support-research.md similarity index 100% rename from Documentation/Research and Findings/splashkit-online-c-sharp-support-research.md rename to Documentation/research/splashkit-online-c-sharp-support-research.md diff --git a/Documentation/Research and Findings/splashkit-online-research-outcome.md b/Documentation/research/splashkit-online-research-outcome.md similarity index 100% rename from Documentation/Research and Findings/splashkit-online-research-outcome.md rename to Documentation/research/splashkit-online-research-outcome.md diff --git a/Documentation/Research and Findings/splashkit-online-research-plan.md b/Documentation/research/splashkit-online-research-plan.md similarity index 100% rename from Documentation/Research and Findings/splashkit-online-research-plan.md rename to Documentation/research/splashkit-online-research-plan.md From 595e1db7cdf6b54e8a1b70651f88cdf5ed9496ff Mon Sep 17 00:00:00 2001 From: rabail-aamir Date: Mon, 29 Dec 2025 16:53:37 +1100 Subject: [PATCH 2/3] docs: fix internal links after restructure --- Documentation/guides/how-splashkit-online-runs-code.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/guides/how-splashkit-online-runs-code.md b/Documentation/guides/how-splashkit-online-runs-code.md index bb61ef8..57b662b 100644 --- a/Documentation/guides/how-splashkit-online-runs-code.md +++ b/Documentation/guides/how-splashkit-online-runs-code.md @@ -85,7 +85,7 @@ _from First, an `ExecutionEnvironment` is created. From the -[Source Code Documentation](/products/splashkit/splashkit-online/code-documentation/classes/execution-environment) +[Source Code Documentation](../reference/classes/execution-environment.md) > ExecutionEnvironment is a class designed to abstract out running the user's code, and also handle > the environment itself (such as resetting variables, preloading files, etc). It contains functions @@ -94,7 +94,7 @@ From the When created, an important thing it does is create an iFrame (sort of a page inside the page), which is where all code execution will take place. This is done for security, see -[here](/products/splashkit/splashkit-online/code-documentation/classes/execution-environment/#why-create-an-iframe) +[here](../reference/classes/execution-environment.md#why-create-an-iframe) for a more detailed explanation. Inside the iFrame, the page `executionEnvironment.html` is loaded, which loads in things like the From 94707f3f0d23218bb2bc2d8bcb20394c5d839365 Mon Sep 17 00:00:00 2001 From: rabail-aamir Date: Tue, 6 Jan 2026 10:44:29 +1100 Subject: [PATCH 3/3] docs:update remaining references --- .../guides/how-splashkit-online-runs-code.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Documentation/guides/how-splashkit-online-runs-code.md b/Documentation/guides/how-splashkit-online-runs-code.md index 57b662b..eba14e8 100644 --- a/Documentation/guides/how-splashkit-online-runs-code.md +++ b/Documentation/guides/how-splashkit-online-runs-code.md @@ -146,7 +146,7 @@ runCodeBlocks(blocks){ ``` _from -[executionEnvironment.js](https://github.com/thoth-tech/SplashkitOnline/blob/main/Browser_IDE/executionEnvironment.js)_ +[executionEnvironment.js](https://github.com/thoth-tech/SplashkitOnline/blob/main/javascript/executionEnviroment/executionEnvironment.js)_ So let's have a look at `runCodeBlock` @@ -164,7 +164,7 @@ runCodeBlock(block, source){ ``` _from -[executionEnvironment.js](https://github.com/thoth-tech/SplashkitOnline/blob/main/Browser_IDE/executionEnvironment.js)_ +[executionEnvironment.js](https://github.com/thoth-tech/SplashkitOnline/blob/main/javascript/executionEnviroment/executionEnvironment.js)_ First thing it does is call the internal function `_syntaxCheckCode(block, source)`, which as the name says, will syntax check the code. The way this syntax checking works is somewhat complicated, @@ -264,7 +264,7 @@ if (m.data.type == "RunCodeBlock") { ``` _from -[executionEnvironment_Internal.js](https://github.com/thoth-tech/SplashkitOnline/blob/ddb06cec6296d6de905ee0a90084a4c1a71c7a58/Browser_IDE/executionEnvironment_Internal.js#L248C10-L248C10)_ +[executionEnvironment_Internal.js](https://github.com/thoth-tech/SplashkitOnline/blob/main/compilers/javascript/executionEnvironmentInternal.js)_ Let's break this down. First, it tries to run `processCodeForExecutionEnvironment`, passing in the user's code and some other parameters. We'll see what that does in a moment, but for now, know that @@ -485,7 +485,7 @@ function processCodeForExecutionEnvironment( ``` _from -[executionEnvironment_CodeProcessor.js](https://github.com/thoth-tech/SplashkitOnline/blob/ddb06cec6296d6de905ee0a90084a4c1a71c7a58/Browser_IDE/executionEnvironment_CodeProcessor.js#L275)_ +[executionEnvironment_CodeProcessor.js](https://github.com/thoth-tech/SplashkitOnline/blob/main/compilers/javascript/executionEnvironmentCodeProcessor.js)_ We can see it takes the user's code, and also some _names_ for the variables that will handle making the code stop/pause/continue - these are the _flags_ mentioned earlier. It also takes the name of a @@ -530,7 +530,7 @@ async function tryEvalSource(block, source) { ``` _from -[executionEnvironment_Internal.js](https://github.com/thoth-tech/SplashkitOnline/blob/ddb06cec6296d6de905ee0a90084a4c1a71c7a58/Browser_IDE/executionEnvironment_Internal.js#L191)_ +[executionEnvironment_Internal.js](https://github.com/thoth-tech/SplashkitOnline/blob/main/compilers/javascript/executionEnvironmentInternal.js)_ As can be seen, the first thing that happens is that we call `createEvalFunctionAndSyntaxCheck`, which does exactly what it says. You'll notice we're syntax checking here as well - this isn't @@ -545,7 +545,7 @@ return Object.getPrototypeOf(async function () {}).constructor( ``` _from -[executionEnvironment_Internal.js](https://github.com/thoth-tech/SplashkitOnline/blob/ddb06cec6296d6de905ee0a90084a4c1a71c7a58/Browser_IDE/executionEnvironment_Internal.js#L179C44-L179C44)_ +[executionEnvironment_Internal.js](https://github.com/thoth-tech/SplashkitOnline/blob/main/compilers/javascript/executionEnvironmentInternal.js)_ Here's where the user's code _finally_ becomes a real function, that will actually be called! Notice it looks a little different to the `new Function("...")` example earlier. This is because, it's @@ -592,7 +592,7 @@ executionEnviroment.runProgram(); ``` _from -[editorMain.js - runProgram()](https://github.com/thoth-tech/SplashkitOnline/blob/ddb06cec6296d6de905ee0a90084a4c1a71c7a58/Browser_IDE/editorMain.js#L194C6-L194C6)_ +[editorMain.js - runProgram()](https://github.com/thoth-tech/SplashkitOnline/blob/main/javascript/UI/editorMain.js)_ We now know what `runAllCodeBlocks` does quite well - it syntax checks the code, sends it to the iFrame, the code gets transformed, stuffed into a function, and then run! So what does @@ -621,7 +621,7 @@ async function runProgram() { ``` _from -[executionEnvironment_Internal.js](https://github.com/thoth-tech/SplashkitOnline/blob/ddb06cec6296d6de905ee0a90084a4c1a71c7a58/Browser_IDE/executionEnvironment_Internal.js#L223)_ +[executionEnvironment_Internal.js](https://github.com/thoth-tech/SplashkitOnline/blob/main/compilers/javascript/executionEnvironmentInternal.js)_ Let's break this down. @@ -703,7 +703,7 @@ async function tryRunFunction_Internal(func) { ``` _from -[executionEnvironment_Internal.js](https://github.com/thoth-tech/SplashkitOnline/blob/ddb06cec6296d6de905ee0a90084a4c1a71c7a58/Browser_IDE/executionEnvironment_Internal.js#L138)_ +[executionEnvironment_Internal.js](https://github.com/thoth-tech/SplashkitOnline/blob/main/compilers/javascript/executionEnvironmentInternal.js)_ We can see it takes the user's function (for instance, the user's `main()`, or the `AsyncFunctions` we made from their code blocks), and tries to run it. It waits for it to finish with `await`, and if @@ -753,7 +753,7 @@ if (file.startsWith(userCodeBlockIdentifier)) lineNumber -= userCodeStartLineOff ``` _from -[executionEnvironment_Internal.js - parseErrorStack](https://github.com/thoth-tech/SplashkitOnline/blob/ddb06cec6296d6de905ee0a90084a4c1a71c7a58/Browser_IDE/executionEnvironment_Internal.js#L123)_ +[executionEnvironment_Internal.js - parseErrorStack](https://github.com/thoth-tech/SplashkitOnline/blob/main/compilers/javascript/executionEnvironmentInternal.js)_ Once we have extracted the line number, we check to see if the file name starts with the `userCodeBlockIdentifier` (remember this from earlier, when we added the `//# sourceURL=` to the