summaryrefslogtreecommitdiff
path: root/scripts/apidocs
diff options
context:
space:
mode:
authoromniscient <17525998+omnisci3nce@users.noreply.github.com>2024-10-05 12:48:05 +1000
committeromniscient <17525998+omnisci3nce@users.noreply.github.com>2024-10-05 12:48:05 +1000
commitdfb6adbcbcc7d50b770b6d5ea82efdd8f8c32e25 (patch)
treea470b91a90716d7ea46fde53ed395449c24583a2 /scripts/apidocs
parent54354e32c6498cc7f8839ab4deb1208d37216cc5 (diff)
delete documentation workflow
Diffstat (limited to 'scripts/apidocs')
-rw-r--r--scripts/apidocs/coldark_prism.css317
-rw-r--r--scripts/apidocs/doc_styles.css76
-rw-r--r--scripts/apidocs/gen_apidocs.py119
-rw-r--r--scripts/apidocs/index.html304
-rw-r--r--scripts/apidocs/modules.md18
-rw-r--r--scripts/apidocs/prism.css3
-rw-r--r--scripts/apidocs/prism.js6
-rw-r--r--scripts/apidocs/template.html91
8 files changed, 0 insertions, 934 deletions
diff --git a/scripts/apidocs/coldark_prism.css b/scripts/apidocs/coldark_prism.css
deleted file mode 100644
index 39dd470..0000000
--- a/scripts/apidocs/coldark_prism.css
+++ /dev/null
@@ -1,317 +0,0 @@
-/**
- * Coldark Theme for Prism.js
- * Theme variation: Dark
- * Tested with HTML, CSS, JS, JSON, PHP, YAML, Bash script
- * @author Armand Philippot <contact@armandphilippot.com>
- * @homepage https://github.com/ArmandPhilippot/coldark-prism
- * @license MIT
- */
-code[class*="language-"],
-pre[class*="language-"] {
- color: #e3eaf2;
- background: none;
- font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
- text-align: left;
- white-space: pre;
- word-spacing: normal;
- word-break: normal;
- word-wrap: normal;
- line-height: 1.5;
- -moz-tab-size: 4;
- -o-tab-size: 4;
- tab-size: 4;
- -webkit-hyphens: none;
- -moz-hyphens: none;
- -ms-hyphens: none;
- hyphens: none;
-}
-
-pre[class*="language-"]::-moz-selection,
-pre[class*="language-"] ::-moz-selection,
-code[class*="language-"]::-moz-selection,
-code[class*="language-"] ::-moz-selection {
- background: #3c526d;
-}
-
-pre[class*="language-"]::selection,
-pre[class*="language-"] ::selection,
-code[class*="language-"]::selection,
-code[class*="language-"] ::selection {
- background: #3c526d;
-}
-
-/* Code blocks */
-pre[class*="language-"] {
- padding: 1em;
- margin: 0.5em 0;
- overflow: auto;
-}
-
-:not(pre) > code[class*="language-"],
-pre[class*="language-"] {
- background: #111b27;
-}
-
-/* Inline code */
-:not(pre) > code[class*="language-"] {
- padding: 0.1em 0.3em;
- border-radius: 0.3em;
- white-space: normal;
-}
-
-.token.comment,
-.token.prolog,
-.token.doctype,
-.token.cdata {
- color: #8da1b9;
-}
-
-.token.punctuation {
- color: #e3eaf2;
-}
-
-.token.delimiter.important,
-.token.selector .parent,
-.token.tag,
-.token.tag .token.punctuation {
- color: #66cccc;
-}
-
-.token.attr-name,
-.token.boolean,
-.token.boolean.important,
-.token.number,
-.token.constant,
-.token.selector .token.attribute {
- color: #e6d37a;
-}
-
-.token.class-name,
-.token.key,
-.token.parameter,
-.token.property,
-.token.property-access,
-.token.variable {
- color: #6cb8e6;
-}
-
-.token.attr-value,
-.token.inserted,
-.token.color,
-.token.selector .token.value,
-.token.string,
-.token.string .token.url-link {
- color: #91d076;
-}
-
-.token.builtin,
-.token.keyword-array,
-.token.package,
-.token.regex {
- color: #f4adf4;
-}
-
-.token.function,
-.token.selector .token.class,
-.token.selector .token.id {
- color: #c699e3;
-}
-
-.token.atrule .token.rule,
-.token.combinator,
-.token.keyword,
-.token.operator,
-.token.pseudo-class,
-.token.pseudo-element,
-.token.selector,
-.token.unit {
- color: #e9ae7e;
-}
-
-.token.deleted,
-.token.important {
- color: #cd6660;
-}
-
-.token.keyword-this,
-.token.this {
- color: #6cb8e6;
-}
-
-.token.important,
-.token.keyword-this,
-.token.this,
-.token.bold {
- font-weight: bold;
-}
-
-.token.delimiter.important {
- font-weight: inherit;
-}
-
-.token.italic {
- font-style: italic;
-}
-
-.token.entity {
- cursor: help;
-}
-
-.language-markdown .token.title,
-.language-markdown .token.title .token.punctuation {
- color: #6cb8e6;
- font-weight: bold;
-}
-
-.language-markdown .token.blockquote.punctuation {
- color: #f4adf4;
-}
-
-.language-markdown .token.code {
- color: #66cccc;
-}
-
-.language-markdown .token.hr.punctuation {
- color: #6cb8e6;
-}
-
-.language-markdown .token.url .token.content {
- color: #91d076;
-}
-
-.language-markdown .token.url-link {
- color: #e6d37a;
-}
-
-.language-markdown .token.list.punctuation {
- color: #f4adf4;
-}
-
-.language-markdown .token.table-header {
- color: #e3eaf2;
-}
-
-.language-json .token.operator {
- color: #e3eaf2;
-}
-
-.language-scss .token.variable {
- color: #66cccc;
-}
-
-/* overrides color-values for the Show Invisibles plugin
- * https://prismjs.com/plugins/show-invisibles/
- */
-.token.token.tab:not(:empty):before,
-.token.token.cr:before,
-.token.token.lf:before,
-.token.token.space:before {
- color: #8da1b9;
-}
-
-/* overrides color-values for the Toolbar plugin
- * https://prismjs.com/plugins/toolbar/
- */
-div.code-toolbar > .toolbar.toolbar > .toolbar-item > a,
-div.code-toolbar > .toolbar.toolbar > .toolbar-item > button {
- color: #111b27;
- background: #6cb8e6;
-}
-
-div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover,
-div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus,
-div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover,
-div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus {
- color: #111b27;
- background: #6cb8e6da;
- text-decoration: none;
-}
-
-div.code-toolbar > .toolbar.toolbar > .toolbar-item > span,
-div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover,
-div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus {
- color: #111b27;
- background: #8da1b9;
-}
-
-/* overrides color-values for the Line Highlight plugin
- * http://prismjs.com/plugins/line-highlight/
- */
-.line-highlight.line-highlight {
- background: #3c526d5f;
- background: linear-gradient(to right, #3c526d5f 70%, #3c526d55);
-}
-
-.line-highlight.line-highlight:before,
-.line-highlight.line-highlight[data-end]:after {
- background-color: #8da1b9;
- color: #111b27;
- box-shadow: 0 1px #3c526d;
-}
-
-pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before {
- background-color: #8da1b918;
-}
-
-/* overrides color-values for the Line Numbers plugin
- * http://prismjs.com/plugins/line-numbers/
- */
-.line-numbers.line-numbers .line-numbers-rows {
- border-right: 1px solid #0b121b;
- background: #0b121b7a;
-}
-
-.line-numbers .line-numbers-rows > span:before {
- color: #8da1b9da;
-}
-
-/* overrides color-values for the Match Braces plugin
- * https://prismjs.com/plugins/match-braces/
- */
-.rainbow-braces .token.token.punctuation.brace-level-1,
-.rainbow-braces .token.token.punctuation.brace-level-5,
-.rainbow-braces .token.token.punctuation.brace-level-9 {
- color: #e6d37a;
-}
-
-.rainbow-braces .token.token.punctuation.brace-level-2,
-.rainbow-braces .token.token.punctuation.brace-level-6,
-.rainbow-braces .token.token.punctuation.brace-level-10 {
- color: #f4adf4;
-}
-
-.rainbow-braces .token.token.punctuation.brace-level-3,
-.rainbow-braces .token.token.punctuation.brace-level-7,
-.rainbow-braces .token.token.punctuation.brace-level-11 {
- color: #6cb8e6;
-}
-
-.rainbow-braces .token.token.punctuation.brace-level-4,
-.rainbow-braces .token.token.punctuation.brace-level-8,
-.rainbow-braces .token.token.punctuation.brace-level-12 {
- color: #c699e3;
-}
-
-/* overrides color-values for the Diff Highlight plugin
- * https://prismjs.com/plugins/diff-highlight/
- */
-pre.diff-highlight > code .token.token.deleted:not(.prefix),
-pre > code.diff-highlight .token.token.deleted:not(.prefix) {
- background-color: #cd66601f;
-}
-
-pre.diff-highlight > code .token.token.inserted:not(.prefix),
-pre > code.diff-highlight .token.token.inserted:not(.prefix) {
- background-color: #91d0761f;
-}
-
-/* overrides color-values for the Command Line plugin
- * https://prismjs.com/plugins/command-line/
- */
-.command-line .command-line-prompt {
- border-right: 1px solid #0b121b;
-}
-
-.command-line .command-line-prompt > span:before {
- color: #8da1b9da;
-}
diff --git a/scripts/apidocs/doc_styles.css b/scripts/apidocs/doc_styles.css
deleted file mode 100644
index ee0851b..0000000
--- a/scripts/apidocs/doc_styles.css
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- Josh's Custom CSS Reset
- https://www.joshwcomeau.com/css/custom-css-reset/
-*/
-*, *::before, *::after {
- box-sizing: border-box;
-}
-* {
- margin: 0;
-}
-body {
- line-height: 1.5;
- -webkit-font-smoothing: antialiased;
-}
-img, picture, video, canvas, svg {
- display: block;
- max-width: 100%;
-}
-input, button, textarea, select {
- font: inherit;
-}
-p, h1, h2, h3, h4, h5, h6 {
- overflow-wrap: break-word;
-}
-#root, #__next {
- isolation: isolate;
-}
-
-/* Styles */
-
-html {
- -webkit-text-size-adjust: 100%;
- -moz-tab-size: 4;
- -o-tab-size: 4;
- tab-size: 4;
- font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
- font-feature-settings: normal;
- font-variation-settings: normal;
-}
-
-pre {
- margin: 0;
- padding: 0;
-}
-code {
- margin: 0;
- padding: 6px 0 !important
-}
-
-:root {
- /* TODO: create basic greyscale colours */
-}
-
-main {
- padding: 12px;
-}
-
-h1 {
- font-size: 18px;
- margin-bottom: 20px;
- /* font-weight: 700; */
-}
-
-h3 {
- font-size: 16px;
- font-weight: 700;
- text-transform: uppercase;
-}
-
-.category-list {
- padding: 10px 20px;
- list-style-type: none;
-}
-
-.signature {
-}
diff --git a/scripts/apidocs/gen_apidocs.py b/scripts/apidocs/gen_apidocs.py
deleted file mode 100644
index d01e441..0000000
--- a/scripts/apidocs/gen_apidocs.py
+++ /dev/null
@@ -1,119 +0,0 @@
-# Generates a static webpage for the public C-API of `celeritas-core`
-#
-# TODO:
-# - remove prefixes like 'static' and 'inline'
-# - parse docstrings from source
-
-import re
-import os
-from pathlib import Path
-
-# --- HTML Fragments
-page_start = """
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <link rel="stylesheet" href="doc_styles.css">
- <!-- <link rel="stylesheet" href="prism.css"> -->
- <!-- <script src="prism.js"></script> -->
-
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css">
- <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
- <!-- and it's easy to individually load additional languages -->
- <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/go.min.js"></script>
- <script>hljs.highlightAll();</script>
-
- <title>Celeritas core API</title>
-</head>
-<body>
-<main>
-"""
-
-page_header = """
-<header>
- <h1>CELERITAS CORE API DOCS</h1>
-</header>
-"""
-
-page_footer = """
-<footer>
-</footer>
-"""
-
-page_end = """
-</main>
-</body>
-</html>
-"""
-
-def emit_function_sig(signature: str) -> str:
- return f"""
- <li class="signature">
- <pre><code class="language-c">{signature}</code></pre>
- </li>
- """
-
-categories = {
- "Core": "src/core",
- "Render": "src/new_render",
- "Maths": "src/maths",
- "RAL": "src/ral",
- "Systems": "src/systems",
-}
-
-def find_pub_functions_in_folder(folder_path):
- functions = []
- for filename in os.listdir(folder_path):
- filepath = os.path.join(folder_path, filename)
- if os.path.isfile(filepath):
- file_funcs = find_pub_functions_in_file(filepath)
- functions.extend(file_funcs)
-
- return functions
-
-def find_pub_functions_in_file(file_path):
- pattern = r'PUB\s+(\w+\s+)*(\w+)\s+(\w+)\s*\((.*?)\)'
-
- with open(file_path, 'r') as file:
- content = file.read()
-
- matches = re.finditer(pattern, content, re.MULTILINE)
-
- # Collect all the functions into an array
- functions = []
- for match in matches:
- signature = match.group(0)
- if signature.startswith("PUB "):
- signature = signature[4:]
- if signature.startswith("c_static_inline "):
- signature = signature[16:]
-
- print(signature)
- functions.append(signature)
-
- return functions
-
-def generate_html():
- html_filepath = "index.html"
-
- script_dir = Path(__file__).resolve().parent
- grandparent_dir = script_dir.parents[1]
-
- with open(html_filepath, 'w') as export_file:
- export_file.write(page_start)
- export_file.write(page_header)
- # TODO: make the actual content
- for category in categories.keys():
- folder = os.path.join(grandparent_dir, categories[category])
- category_funcs = find_pub_functions_in_folder(folder)
- export_file.write(f"<h3>{category}</h3>")
- export_file.write("<ul class=\"category-list\">")
- for func in category_funcs:
- export_file.write(emit_function_sig(func))
- export_file.write("</ul>")
- export_file.write(page_end)
-
-if __name__ == "__main__":
- generate_html()
diff --git a/scripts/apidocs/index.html b/scripts/apidocs/index.html
deleted file mode 100644
index a72dbf3..0000000
--- a/scripts/apidocs/index.html
+++ /dev/null
@@ -1,304 +0,0 @@
-
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <link rel="stylesheet" href="doc_styles.css">
- <!-- <link rel="stylesheet" href="prism.css"> -->
- <!-- <script src="prism.js"></script> -->
-
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css">
- <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
- <!-- and it's easy to individually load additional languages -->
- <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/go.min.js"></script>
- <script>hljs.highlightAll();</script>
-
- <title>Celeritas core API</title>
-</head>
-<body>
-<main>
-
-<header>
- <h1>CELERITAS CORE API DOCS</h1>
-</header>
-<h3>Core</h3><ul class="category-list">
- <li class="signature">
- <pre><code class="language-c">Camera Camera_Create(Vec3 pos, Vec3 front, Vec3 up, f32 fov)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">Mat4 Camera_View2D(Camera* c)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void FlyCamera_Update(Camera* camera)</code></pre>
- </li>
- </ul><h3>Render</h3><ul class="category-list">
- <li class="signature">
- <pre><code class="language-c">Skybox Skybox_Create(const char** face_paths, int n)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Skybox_Draw(Skybox* skybox, Camera camera)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void SetCamera(Camera camera)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void SetMainLight(DirectionalLight light)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void PBR_Init(PBR_Storage* storage)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">Material PBRMaterialDefault()</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">ShaderDataLayout PBRMaterial_GetLayout(void* data)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Shadow_Init(Shadow_Storage* storage, u32 shadowmap_width, u32 shadowmap_height)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Shadow_Run(RenderEnt* entities, size_t entity_count)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Shadow_DrawDebugQuad()</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">TextureHandle Shadow_GetShadowMapTexture(Shadow_Storage* storage)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Immdraw_Init(Immdraw_Storage* storage)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Immdraw_Shutdown(Immdraw_Storage* storage)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Immdraw_Plane(Transform tf, Vec4 colour, bool wireframe)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Immdraw_Cuboid(Transform tf, Vec4 colour, bool wireframe)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Immdraw_Sphere(Transform tf, f32 size, Vec4 colour, bool wireframe)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Immdraw_TransformGizmo(Transform tf, f32 size)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void EncodeDrawModel(Handle model, Mat4 transform)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void EncodeDrawMesh(Mesh* mesh, Material* material, Mat4 affine)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Renderer_Shutdown(Renderer* renderer)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">size_t Renderer_GetMemReqs()</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Render_FrameBegin(Renderer* renderer)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Render_FrameEnd(Renderer* renderer)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Render_RenderEntities(RenderEnt* entities, size_t entity_count)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">TextureData TextureDataLoad(const char* path, bool invert_y)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void TextureUpload(TextureHandle handle, size_t n_bytes, const void* data)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">TextureHandle TextureLoadFromFile(const char* path)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">ModelHandle ModelLoad(const char* debug_name, const char* filepath)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">Mesh Mesh_Create(Geometry* geometry, bool free_on_upload)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Mesh_Delete(Mesh* mesh)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void DrawMesh(Mesh* mesh, Material* material, Mat4 model)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void Render_DrawTerrain()</code></pre>
- </li>
- </ul><h3>Maths</h3><ul class="category-list">
- <li class="signature">
- <pre><code class="language-c">Vec3 vec3_normalise(Vec3 a)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">Vec3 vec3_create(f32 x, f32 y, f32 z)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">Vec3 vec3_add(Vec3 a, Vec3 b)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">Vec3 vec3_sub(Vec3 a, Vec3 b)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">Vec3 vec3_mult(Vec3 a, f32 s)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">Vec3 vec3_div(Vec3 a, f32 s)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">f32 vec3_len_squared(Vec3 a)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">f32 vec3_len(Vec3 a)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">Vec3 vec3_negate(Vec3 a)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">Vec3 vec3_normalise(Vec3 a)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">f32 vec3_dot(Vec3 a, Vec3 b)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">Vec3 vec3_cross(Vec3 a, Vec3 b)</code></pre>
- </li>
- </ul><h3>RAL</h3><ul class="category-list">
- <li class="signature">
- <pre><code class="language-c">void GPU_Renderpass_Destroy(GPU_Renderpass* pass)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GraphicsPipeline_Destroy(GPU_Pipeline* pipeline)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">GPU_CmdEncoder GPU_CmdEncoder_Create()</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_CmdEncoder_Destroy(GPU_CmdEncoder* encoder)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_CmdEncoder_Begin(GPU_CmdEncoder* encoder)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_CmdEncoder_Finish(GPU_CmdEncoder* encoder)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_CmdEncoder_BeginRender(GPU_CmdEncoder* encoder, GPU_Renderpass* renderpass)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_CmdEncoder_EndRender(GPU_CmdEncoder* encoder)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_QueueSubmit(GPU_CmdBuffer* cmd_buffer)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_BufferDestroy(BufferHandle handle)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_BufferUpload(BufferHandle buffer, size_t n_bytes, const void* data)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">TextureHandle GPU_TextureCreate(TextureDesc desc, bool create_view, const void* data)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_TextureDestroy(TextureHandle handle)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_TextureUpload(TextureHandle handle, size_t n_bytes, const void* data)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_EncodeBindPipeline(GPU_CmdEncoder* encoder, GPU_Pipeline* pipeline)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_EncodeBindShaderData(GPU_CmdEncoder* encoder, u32 group, ShaderData data)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_EncodeSetVertexBuffer(GPU_CmdEncoder* encoder, BufferHandle buf)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_EncodeSetIndexBuffer(GPU_CmdEncoder* encoder, BufferHandle buf)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_EncodeDraw(GPU_CmdEncoder* encoder, u64 count)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_EncodeDrawIndexed(GPU_CmdEncoder* encoder, u64 index_count)</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">bool GPU_Backend_BeginFrame()</code></pre>
- </li>
-
- <li class="signature">
- <pre><code class="language-c">void GPU_Backend_EndFrame()</code></pre>
- </li>
- </ul>
-</main>
-</body>
-</html>
diff --git a/scripts/apidocs/modules.md b/scripts/apidocs/modules.md
deleted file mode 100644
index 7298844..0000000
--- a/scripts/apidocs/modules.md
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-- core lifecycle
-- memory
- - arena
- - pool
-- containers
- - darray
- - hashtbl
- - ring_queue
-- maths
-- physics
-- platform
- - file
- - path
- - mutex
- - thread
-- threadpool \ No newline at end of file
diff --git a/scripts/apidocs/prism.css b/scripts/apidocs/prism.css
deleted file mode 100644
index 333e985..0000000
--- a/scripts/apidocs/prism.css
+++ /dev/null
@@ -1,3 +0,0 @@
-/* PrismJS 1.29.0
-https://prismjs.com/download.html#themes=prism&languages=markup+css+clike */
-code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}
diff --git a/scripts/apidocs/prism.js b/scripts/apidocs/prism.js
deleted file mode 100644
index d0b4c05..0000000
--- a/scripts/apidocs/prism.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/* PrismJS 1.29.0
-https://prismjs.com/download.html#themes=prism&languages=markup+css+clike */
-var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){var n=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,r={},a={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof i?new i(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(n,t){var r,i;switch(t=t||{},a.util.type(n)){case"Object":if(i=a.util.objId(n),t[i])return t[i];for(var l in r={},t[i]=r,n)n.hasOwnProperty(l)&&(r[l]=e(n[l],t));return r;case"Array":return i=a.util.objId(n),t[i]?t[i]:(r=[],t[i]=r,n.forEach((function(n,a){r[a]=e(n,t)})),r);default:return n}},getLanguage:function(e){for(;e;){var t=n.exec(e.className);if(t)return t[1].toLowerCase();e=e.parentElement}return"none"},setLanguage:function(e,t){e.className=e.className.replace(RegExp(n,"gi"),""),e.classList.add("language-"+t)},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(r){var e=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(r.stack)||[])[1];if(e){var n=document.getElementsByTagName("script");for(var t in n)if(n[t].src==e)return n[t]}return null}},isActive:function(e,n,t){for(var r="no-"+n;e;){var a=e.classList;if(a.contains(n))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!t}},languages:{plain:r,plaintext:r,text:r,txt:r,extend:function(e,n){var t=a.util.clone(a.languages[e]);for(var r in n)t[r]=n[r];return t},insertBefore:function(e,n,t,r){var i=(r=r||a.languages)[e],l={};for(var o in i)if(i.hasOwnProperty(o)){if(o==n)for(var s in t)t.hasOwnProperty(s)&&(l[s]=t[s]);t.hasOwnProperty(o)||(l[o]=i[o])}var u=r[e];return r[e]=l,a.languages.DFS(a.languages,(function(n,t){t===u&&n!=e&&(this[n]=l)})),l},DFS:function e(n,t,r,i){i=i||{};var l=a.util.objId;for(var o in n)if(n.hasOwnProperty(o)){t.call(n,o,n[o],r||o);var s=n[o],u=a.util.type(s);"Object"!==u||i[l(s)]?"Array"!==u||i[l(s)]||(i[l(s)]=!0,e(s,t,o,i)):(i[l(s)]=!0,e(s,t,null,i))}}},plugins:{},highlightAll:function(e,n){a.highlightAllUnder(document,e,n)},highlightAllUnder:function(e,n,t){var r={callback:t,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),a.hooks.run("before-all-elements-highlight",r);for(var i,l=0;i=r.elements[l++];)a.highlightElement(i,!0===n,r.callback)},highlightElement:function(n,t,r){var i=a.util.getLanguage(n),l=a.languages[i];a.util.setLanguage(n,i);var o=n.parentElement;o&&"pre"===o.nodeName.toLowerCase()&&a.util.setLanguage(o,i);var s={element:n,language:i,grammar:l,code:n.textContent};function u(e){s.highlightedCode=e,a.hooks.run("before-insert",s),s.element.innerHTML=s.highlightedCode,a.hooks.run("after-highlight",s),a.hooks.run("complete",s),r&&r.call(s.element)}if(a.hooks.run("before-sanity-check",s),(o=s.element.parentElement)&&"pre"===o.nodeName.toLowerCase()&&!o.hasAttribute("tabindex")&&o.setAttribute("tabindex","0"),!s.code)return a.hooks.run("complete",s),void(r&&r.call(s.element));if(a.hooks.run("before-highlight",s),s.grammar)if(t&&e.Worker){var c=new Worker(a.filename);c.onmessage=function(e){u(e.data)},c.postMessage(JSON.stringify({language:s.language,code:s.code,immediateClose:!0}))}else u(a.highlight(s.code,s.grammar,s.language));else u(a.util.encode(s.code))},highlight:function(e,n,t){var r={code:e,grammar:n,language:t};if(a.hooks.run("before-tokenize",r),!r.grammar)throw new Error('The language "'+r.language+'" has no grammar.');return r.tokens=a.tokenize(r.code,r.grammar),a.hooks.run("after-tokenize",r),i.stringify(a.util.encode(r.tokens),r.language)},tokenize:function(e,n){var t=n.rest;if(t){for(var r in t)n[r]=t[r];delete n.rest}var a=new s;return u(a,a.head,e),o(e,a,n,a.head,0),function(e){for(var n=[],t=e.head.next;t!==e.tail;)n.push(t.value),t=t.next;return n}(a)},hooks:{all:{},add:function(e,n){var t=a.hooks.all;t[e]=t[e]||[],t[e].push(n)},run:function(e,n){var t=a.hooks.all[e];if(t&&t.length)for(var r,i=0;r=t[i++];)r(n)}},Token:i};function i(e,n,t,r){this.type=e,this.content=n,this.alias=t,this.length=0|(r||"").length}function l(e,n,t,r){e.lastIndex=n;var a=e.exec(t);if(a&&r&&a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function o(e,n,t,r,s,g){for(var f in t)if(t.hasOwnProperty(f)&&t[f]){var h=t[f];h=Array.isArray(h)?h:[h];for(var d=0;d<h.length;++d){if(g&&g.cause==f+","+d)return;var v=h[d],p=v.inside,m=!!v.lookbehind,y=!!v.greedy,k=v.alias;if(y&&!v.pattern.global){var x=v.pattern.toString().match(/[imsuy]*$/)[0];v.pattern=RegExp(v.pattern.source,x+"g")}for(var b=v.pattern||v,w=r.next,A=s;w!==n.tail&&!(g&&A>=g.reach);A+=w.value.length,w=w.next){var E=w.value;if(n.length>e.length)return;if(!(E instanceof i)){var P,L=1;if(y){if(!(P=l(b,A,e,m))||P.index>=e.length)break;var S=P.index,O=P.index+P[0].length,j=A;for(j+=w.value.length;S>=j;)j+=(w=w.next).value.length;if(A=j-=w.value.length,w.value instanceof i)continue;for(var C=w;C!==n.tail&&(j<O||"string"==typeof C.value);C=C.next)L++,j+=C.value.length;L--,E=e.slice(A,j),P.index-=A}else if(!(P=l(b,0,E,m)))continue;S=P.index;var N=P[0],_=E.slice(0,S),M=E.slice(S+N.length),W=A+E.length;g&&W>g.reach&&(g.reach=W);var z=w.prev;if(_&&(z=u(n,z,_),A+=_.length),c(n,z,L),w=u(n,z,new i(f,p?a.tokenize(N,p):N,k,N)),M&&u(n,w,M),L>1){var I={cause:f+","+d,reach:W};o(e,n,t,w.prev,A,I),g&&I.reach>g.reach&&(g.reach=I.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function u(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function c(e,n,t){for(var r=n.next,a=0;a<t&&r!==e.tail;a++)r=r.next;n.next=r,r.prev=n,e.length-=a}if(e.Prism=a,i.stringify=function e(n,t){if("string"==typeof n)return n;if(Array.isArray(n)){var r="";return n.forEach((function(n){r+=e(n,t)})),r}var i={type:n.type,content:e(n.content,t),tag:"span",classes:["token",n.type],attributes:{},language:t},l=n.alias;l&&(Array.isArray(l)?Array.prototype.push.apply(i.classes,l):i.classes.push(l)),a.hooks.run("wrap",i);var o="";for(var s in i.attributes)o+=" "+s+'="'+(i.attributes[s]||"").replace(/"/g,"&quot;")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+o+">"+i.content+"</"+i.tag+">"},!e.document)return e.addEventListener?(a.disableWorkerMessageHandler||e.addEventListener("message",(function(n){var t=JSON.parse(n.data),r=t.language,i=t.code,l=t.immediateClose;e.postMessage(a.highlight(i,a.languages[r],r)),l&&e.close()}),!1),a):a;var g=a.util.currentScript();function f(){a.manual||a.highlightAll()}if(g&&(a.filename=g.src,g.hasAttribute("data-manual")&&(a.manual=!0)),!a.manual){var h=document.readyState;"loading"===h||"interactive"===h&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return a}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism);
-Prism.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&amp;/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^<!\[CDATA\[|\]\]>$/i;var t={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:s}};t["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var n={};n[a]={pattern:RegExp("(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[^])*?(?=</__>)".replace(/__/g,(function(){return a})),"i"),lookbehind:!0,greedy:!0,inside:t},Prism.languages.insertBefore("markup","cdata",n)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(a,e){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp("(^|[\"'\\s])(?:"+a+")\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))","i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Prism.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml;
-!function(s){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:[^;{\\s\"']|\\s+(?!\\s)|"+e.source+")*?(?:;|(?=\\s*\\{))"),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(Prism);
-Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};
diff --git a/scripts/apidocs/template.html b/scripts/apidocs/template.html
deleted file mode 100644
index 1e1c7a7..0000000
--- a/scripts/apidocs/template.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!doctype html>
-<html>
-<head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <script src="https://cdn.tailwindcss.com"></script>
-</head>
-<body class="flex p-4 bg-neutral-800 text-neutral-200">
- <nav class="pr-8">
- <h3 class="text-sm font-semibold">Modules</h3>
- <br />
- <ul class="flex flex-col">
- <li class="text-neutral-400 text-sm"><span class="pr-1">1.1</span> core lifecycle</li>
- <li class="text-neutral-400 text-sm"><span class="pr-1">1.2</span> threadpool</li>
- <h5 class="text-xs text-neutral-300 tracking-wide pt-2">maths</h5>
- <li class="text-neutral-400 text-sm"><span class="pr-1">1.3</span> vector</li>
- <li class="text-neutral-400 text-sm"><span class="pr-1">1.4</span> quaternion</li>
- <li class="text-neutral-400 text-sm"><span class="pr-1">1.5</span> matrix</li>
- <!-- <li class="text-neutral-400 text-sm"><span class="pr-1">3.0</span> memory</li> -->
- <h5 class="text-xs text-neutral-300 tracking-wide pt-2">memory</h5>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.6</span> arena</li>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.7</span> pool</li>
- <!-- <li class="text-neutral-400 text-sm"><span class="pr-1">4.0</span> containers</li> -->
- <h5 class="text-xs text-neutral-300 tracking-wide pt-2">containers</h5>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.8</span> darray</li>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.9</span> hashtbl</li>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.10</span> ring_queue</li>
-
- <h5 class="text-xs text-neutral-300 tracking-wide pt-2">std</h5>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.11</span> str8</li>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.12</span> bytebuffer</li>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.13</span> utils</li>
-
- <h5 class="text-xs text-neutral-300 tracking-wide pt-2">render</h5>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.14</span> ral</li>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.15</span> render</li>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.16</span> immdraw</li>
-
- <h5 class="text-xs text-neutral-300 tracking-wide pt-2">platform</h5>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.17</span> file</li>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.18</span> path</li>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.19</span> mutex</li>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.20</span> thread</li>
-
- <h5 class="text-xs text-neutral-300 tracking-wide pt-2"></h5>
- <li class="text-neutral-400 text-sm "><span class="pr-1">1.21</span> scene</li>
-
-<!--
-- core lifecycle
-- memory
- - arena
- - pool
-- containers
- - darray
- - hashtbl
- - ring_queue
-- maths
-- physics
-- platform
- - file
- - path
- - mutex
- - thread
-- threadpool
- -->
- </ul>
- </nav>
- <main class="px-8">
- <h2 class="font-semibold text-amber-400">Celeritas Core API</h2>
-
- <div class="my-8"></div>
- <div class="bg-neutral-700 px-2 py-1 min-w-[600px]" style="font-family: monospace;">
- <span class="text-[#ECBE7B]">arena</span>
- <span class="text-[#80A0C2]">arena_create</span>(<span class="text-[#D2876D]">void*</span>
- <span class="text-neutral-300">backing_buffer</span>,
- <span class="text-[#D2876D]">size_t</span>
- <span class="text-neutral-300">capacity</span>);
- </div>
- <div class="bg-neutral-700 px-2 py-1 min-w-[600px]" style="font-family: monospace;">
- <span class="text-[#ECBE7B]">void*</span>
- <span class="text-[#80A0C2]">arena_alloc</span>(<span class="text-[#D2876D]">arena*</span>
- <span class="text-neutral-300">a</span>,
- <span class="text-[#D2876D]">size_t</span>
- <span class="text-neutral-300">size</span>);
- </div>
-<!-- void* arena_alloc(arena* a, size_t size); -->
- </main>
-
-
-</body>
-</html> \ No newline at end of file