├── .gitattributes ├── LICENSE ├── README.md └── vault-template ├── .obsidian ├── app.json ├── appearance.json ├── canvas.json ├── community-plugins.json ├── core-plugins-migration.json ├── core-plugins.json ├── daily-notes.json ├── graph.json ├── hotkeys.json ├── templates.json ├── themes │ └── LYT Mode │ │ ├── manifest.json │ │ └── theme.css ├── types.json └── workspace.json ├── 00-Backlog ├── + About Backlog.md └── Buffers.md ├── 01-MOCs ├── + About MOCs.md └── Computer Graphics.md ├── 02-MORCs ├── + About MORCs.md ├── WebGPU.md └── wgpu.md ├── 03-Cards ├── + About Cards.md ├── Github Contribution Workflow.md ├── Pipeline.md ├── Primitive State.md └── Rust Paths.md ├── 04-Insights └── + About Insights.md ├── 05-Diary └── + About Diary.md ├── 06-Templates ├── + About Templates.md ├── Card with inner note.md ├── Card.md └── MOCs and MORCs.md ├── 07-Assets └── + About Assets.md └── Home.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Index 3 | 4 | - [Project Description](#project-description) 5 | - [Inspiration](#inspiration) 6 | - [Integration Approach](#integration-approach) 7 | - [Introducing MORCs](#introducing-morcs) 8 | - [Why MORCs?](#why-morcs) 9 | - [Beyond MORCs](#beyond-morcs) 10 | 11 | - [Vault Structure](#vault-structure) 12 | - [Main Folders](#main-folders) 13 | - [Complement Folders](#complement-folders) 14 | - [Files](#Files) 15 | - [Who is this kit for?](#who-is-this-kit-for) 16 | - [Who is this kit NOT for?](#who-is-this-kit-not-for) 17 | - [Templates](#templates) 18 | - [Usage](#usage) 19 | - [Examples](#Examples) 20 | - [List of note examples](#list-of-note-examples) 21 | 22 | --- 23 | # Project Description 24 | Welcome to the MORCs Obsidian Kit! a structured starting point for organizing your thoughts, knowledge, and ideas within [Obsidian](https://obsidian.md/). 25 | 26 | ## Inspiration 27 | This kit is inspired from [Chris Pomeroy](https://www.youtube.com/@Peepnbrick/featured)'s video ["How to achieve more while studying less - Obsidian & Conceptual Notes"](https://www.youtube.com/watch?v=MYJsGksojms&t=864s&ab_channel=ChrisPomeroy) and [Nick Milo](https://www.linkingyourthinking.com/download-lyt-kit)'s [LYT (Linking Your Thinking)](https://www.linkingyourthinking.com/download-lyt-kit) kit. 28 | It aims to blend the best of both approaches: the structured organization of Nick’s vault and the focus on concepts (in this case, Cards) from Chris. 29 | 30 | ## Integration Approach 31 | I found the breadth of Nick's kit a bit too extensive for my use, as I believe Obsidian excels primarily as a note-taking and learning tool. For other purposes, like planning or management, I prefer to use Notion. Similarly, while Chris's freeform approach to note-taking initially seemed appealing, I realized the need for some structure to prevent information from becoming unmanageable over time. 32 | 33 | This kit adopts two key components from Nick's approach: the MOCs and Cards. MOCs (Maps of Content) are used as a broad content atlas, while Cards are more granular pieces of information like concept notes, atomic notes, reviews, etc. 34 | 35 | ## Introducing MORCs 36 | I realized there was a need for an intermediate concept, which I call "MORC" (**Middle-of-the-road concept**). MORCs are essentially more specific than MOCs but broader than a single concept (Card). For example, under my broad interests like Computer Graphics and Game Development (MOCs), a MORC related to Computer Graphics could be a technology like [WebGPU](https://www.w3.org/TR/webgpu/), which is significant within the scope of computer graphics but not as broad as a larger topic (MOC) 37 | 38 | ## Why MORCs? 39 | You could perfectly organize your second brain without **MORCs**, but they offer a broader and more specific vision of your topics of interest, those that will be part of your tech stack for example, that you will end up putting into practice, and who knows what relationships you may find between them. 40 | 41 | ## Beyond MORCs 42 | At this point, i consider "morcs" is just the name of this kit because it was an innovative concept i created to better organize my knowledge, but more than that, its main goal is to create the best fit way to organize knowledge in order to improve my learning process. 43 | 44 | # Vault Structure 45 | This kit organizes your knowledge into 4 main key folders, and others that serve as complement. It also has an entry point for your second brain, the "Home" note. 46 | 47 | ## Main Folders 48 | - **[MOCs](vault-template/01-MOCs/+%20About%20MOCs.md) (Maps of Content):** Broad themes that serve as major reference points in your knowledge network. 49 | - **[MORCs](vault-template/02-MORCs/+%20About%20MORCs.md) (Middle of the Road Concepts):** Not as expansive as MOCs, but more detailed than simple notes. 50 | - **[Cards](vault-template/03-Cards/+%20About%20Cards.md):** Contains atomic notes - distinct, clear concepts, ideas, reviews, recipes, etc. 51 | - **[Insights](vault-template/04-Insights/+%20About%20Insights.md):** Contains all your obsidian canvases. 52 | ## Complement Folders 53 | - **[Backlog](vault-template/00-Backlog/+%20About%20Backlog.md):** Default folder for newly created notes, awaiting further polish and categorization. 54 | - **[Diary](vault-template/04-Diary/+%20About%20Diary.md):** For daily reflections or journal entries. 55 | - **[Templates](vault-template/05-Templates/+%20About%20Templates.md):** Ready-to-use templates for various types of notes. 56 | - **[Assets](vault-template/06-Assets/+%20About%20Assets.md):** A place to store resources like images or audio files that support your notes. 57 | 58 | ## Files 59 | - **[Home](vault-template/Home.md):** An introductory note, serving as the central hub for navigation and overview of the vault. 60 | 61 | 62 | # Who is this kit for? 63 | The 'MORCs' kit is ideal for a broad range of users who seek a straightforward and simple approach to organize their Obsidian vault as a Second Brain. It is designed for storing all kind of information and suits for those focusing on learning and clarity through atomic note-taking, It is particularly beneficial for visualizing the second brain using three types of notes: MOC, MORC, and Cards. 64 | 65 | # Who is this kit NOT for? 66 | This kit is not designed for users seeking features like project management, personal life management, habit tracking, or any kind of planning. Its primary purpose is to manage and visualize a second brain, not to serve as a comprehensive tool for life or project organization. Therefore, it might not be suitable for users who need advanced functionalities beyond knowledge management and note visualization. 67 | 68 | # Templates 69 | the following are the current note templates, basically non-blank .md notes, to serve as a blueprint for new notes. 70 | * [Card](vault-template/05-Templates/Card.md) 71 | * [Card with inner note](vault-template/05-Templates/Card%20with%20inner%20note.md) 72 | * [MOCs and MORCs](vault-template/05-Templates/MOCs%20and%20MORCs.md) 73 | 74 | 75 | # Usage 76 | - Customize each folder according to your personal or professional needs. 77 | - Use the Home as an overview to understand the overall structure and to access different sections efficiently. 78 | - Feel free to add, remove, or modify any part of this kit to better suit your individual workflow. 79 | 80 | This kit is a guideline to help you start building your own personalized digital knowledge base in Obsidian. Explore and adapt it to create a system that works best for you. 81 | 82 | # Examples 83 | To help you get started, some folders contain example notes. These serve as practical note examples of how each folder can be utilized. Feel free to explore these examples to better understand the potential uses of each section. 84 | 85 | ## List of note examples 86 | * [Buffers](vault-template/00-Backlog/Buffers.md) (from backlog) 87 | * [Computer Graphics](vault-template/01-MOCs/Computer%20Graphics.md) (from MOCs) 88 | * [WebGPU](vault-template/02-MORCs/WebGPU.md) (from MORCs) 89 | * [wgpu](vault-template/02-MORCs/wgpu.md) (from MORCs) 90 | * [Github contribution workflow](vault-template/03-Cards/Github%20Contribution%20Workflow.md) (from Cards) 91 | * [Pipeline](vault-template/03-Cards/Pipeline.md) (from Cards) 92 | * [Primitive State](vault-template/03-Cards/Primitive%20State.md) (from Cards) 93 | * [Rust Paths](vault-template/03-Cards/Rust%20Paths.md) (from Cards) 94 | 95 | 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /vault-template/.obsidian/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "alwaysUpdateLinks": true, 3 | "showUnsupportedFiles": true, 4 | "attachmentFolderPath": "Assets", 5 | "newFileLocation": "folder", 6 | "focusNewTab": true, 7 | "showInlineTitle": false, 8 | "newFileFolderPath": "00-Backlog", 9 | "livePreview": true 10 | } -------------------------------------------------------------------------------- /vault-template/.obsidian/appearance.json: -------------------------------------------------------------------------------- 1 | { 2 | "accentColor": "", 3 | "cssTheme": "LYT Mode", 4 | "theme": "obsidian", 5 | "baseFontSize": 19, 6 | "enabledCssSnippets": [ 7 | "indicators" 8 | ] 9 | } -------------------------------------------------------------------------------- /vault-template/.obsidian/canvas.json: -------------------------------------------------------------------------------- 1 | { 2 | "snapToObjects": true, 3 | "snapToGrid": true, 4 | "newFileLocation": "folder", 5 | "newFileFolderPath": "00-Backlog" 6 | } -------------------------------------------------------------------------------- /vault-template/.obsidian/community-plugins.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /vault-template/.obsidian/core-plugins-migration.json: -------------------------------------------------------------------------------- 1 | { 2 | "file-explorer": true, 3 | "global-search": true, 4 | "switcher": true, 5 | "graph": true, 6 | "backlink": true, 7 | "canvas": true, 8 | "outgoing-link": true, 9 | "tag-pane": true, 10 | "properties": false, 11 | "page-preview": true, 12 | "daily-notes": true, 13 | "templates": true, 14 | "note-composer": true, 15 | "command-palette": true, 16 | "slash-command": false, 17 | "editor-status": true, 18 | "bookmarks": true, 19 | "markdown-importer": false, 20 | "zk-prefixer": false, 21 | "random-note": false, 22 | "outline": true, 23 | "word-count": true, 24 | "slides": false, 25 | "audio-recorder": false, 26 | "workspaces": false, 27 | "file-recovery": true, 28 | "publish": false, 29 | "sync": false 30 | } -------------------------------------------------------------------------------- /vault-template/.obsidian/core-plugins.json: -------------------------------------------------------------------------------- 1 | [ 2 | "file-explorer", 3 | "global-search", 4 | "switcher", 5 | "graph", 6 | "backlink", 7 | "canvas", 8 | "outgoing-link", 9 | "tag-pane", 10 | "page-preview", 11 | "daily-notes", 12 | "templates", 13 | "note-composer", 14 | "command-palette", 15 | "editor-status", 16 | "bookmarks", 17 | "outline", 18 | "word-count", 19 | "file-recovery" 20 | ] -------------------------------------------------------------------------------- /vault-template/.obsidian/daily-notes.json: -------------------------------------------------------------------------------- 1 | { 2 | "folder": "04-Diary" 3 | } -------------------------------------------------------------------------------- /vault-template/.obsidian/graph.json: -------------------------------------------------------------------------------- 1 | { 2 | "collapse-filter": false, 3 | "search": "-tag:#readme -path:05-Templates -file:README", 4 | "showTags": true, 5 | "showAttachments": false, 6 | "hideUnresolved": false, 7 | "showOrphans": true, 8 | "collapse-color-groups": false, 9 | "colorGroups": [ 10 | { 11 | "query": "path:00-Backlog ", 12 | "color": { 13 | "a": 1, 14 | "rgb": 11917779 15 | } 16 | }, 17 | { 18 | "query": "path:01-MOCs ", 19 | "color": { 20 | "a": 1, 21 | "rgb": 4013496 22 | } 23 | }, 24 | { 25 | "query": "path:02-MORCs ", 26 | "color": { 27 | "a": 1, 28 | "rgb": 4045371 29 | } 30 | }, 31 | { 32 | "query": "path:03-Cards ", 33 | "color": { 34 | "a": 1, 35 | "rgb": 16776064 36 | } 37 | } 38 | ], 39 | "collapse-display": false, 40 | "showArrow": false, 41 | "textFadeMultiplier": 0, 42 | "nodeSizeMultiplier": 1.73333333333333, 43 | "lineSizeMultiplier": 1.19739583333333, 44 | "collapse-forces": false, 45 | "centerStrength": 0.494791666666667, 46 | "repelStrength": 9.6875, 47 | "linkStrength": 1, 48 | "linkDistance": 30, 49 | "scale": 0.5794027058320836, 50 | "close": false 51 | } -------------------------------------------------------------------------------- /vault-template/.obsidian/hotkeys.json: -------------------------------------------------------------------------------- 1 | { 2 | "optimize-canvas-connections:optimize-preserve-axes-selection": [ 3 | { 4 | "modifiers": [ 5 | "Mod" 6 | ], 7 | "key": "J" 8 | } 9 | ] 10 | } -------------------------------------------------------------------------------- /vault-template/.obsidian/templates.json: -------------------------------------------------------------------------------- 1 | { 2 | "folder": "05-Templates" 3 | } -------------------------------------------------------------------------------- /vault-template/.obsidian/themes/LYT Mode/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "LYT Mode", 3 | "version": "1.7.1", 4 | "minAppVersion": "1.0", 5 | "author": "Nick Milo" 6 | } 7 | -------------------------------------------------------------------------------- /vault-template/.obsidian/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "aliases": "aliases", 4 | "cssclasses": "multitext", 5 | "tags": "tags", 6 | "up": "multitext", 7 | "date": "date" 8 | } 9 | } -------------------------------------------------------------------------------- /vault-template/.obsidian/workspace.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": { 3 | "id": "0a66da27d2d78063", 4 | "type": "split", 5 | "children": [ 6 | { 7 | "id": "9a9e0e3e8089c53d", 8 | "type": "tabs", 9 | "children": [ 10 | { 11 | "id": "afd4e73454312394", 12 | "type": "leaf", 13 | "state": { 14 | "type": "markdown", 15 | "state": { 16 | "file": "03-Cards/Primitive State.md", 17 | "mode": "source", 18 | "source": false 19 | } 20 | } 21 | } 22 | ], 23 | "stacked": true 24 | } 25 | ], 26 | "direction": "vertical" 27 | }, 28 | "left": { 29 | "id": "18d090e6394c3e3a", 30 | "type": "split", 31 | "children": [ 32 | { 33 | "id": "d7c981d095484ea0", 34 | "type": "tabs", 35 | "children": [ 36 | { 37 | "id": "307df3d78f19926c", 38 | "type": "leaf", 39 | "state": { 40 | "type": "file-explorer", 41 | "state": { 42 | "sortOrder": "alphabetical" 43 | } 44 | } 45 | }, 46 | { 47 | "id": "254afc4eafa45929", 48 | "type": "leaf", 49 | "state": { 50 | "type": "search", 51 | "state": { 52 | "query": "tag:#readme", 53 | "matchingCase": false, 54 | "explainSearch": false, 55 | "collapseAll": false, 56 | "extraContext": false, 57 | "sortOrder": "alphabetical" 58 | } 59 | } 60 | }, 61 | { 62 | "id": "9be4ac138d48ede0", 63 | "type": "leaf", 64 | "state": { 65 | "type": "bookmarks", 66 | "state": {} 67 | } 68 | } 69 | ] 70 | } 71 | ], 72 | "direction": "horizontal", 73 | "width": 335.5 74 | }, 75 | "right": { 76 | "id": "b858bde145a4b876", 77 | "type": "split", 78 | "children": [ 79 | { 80 | "id": "50e98a5c5be4279c", 81 | "type": "tabs", 82 | "children": [ 83 | { 84 | "id": "d805bafec7f26908", 85 | "type": "leaf", 86 | "state": { 87 | "type": "backlink", 88 | "state": { 89 | "file": "03-Cards/Primitive State.md", 90 | "collapseAll": false, 91 | "extraContext": false, 92 | "sortOrder": "alphabetical", 93 | "showSearch": false, 94 | "searchQuery": "", 95 | "backlinkCollapsed": false, 96 | "unlinkedCollapsed": true 97 | } 98 | } 99 | }, 100 | { 101 | "id": "6d36b77473f601b7", 102 | "type": "leaf", 103 | "state": { 104 | "type": "outgoing-link", 105 | "state": { 106 | "file": "03-Cards/Primitive State.md", 107 | "linksCollapsed": false, 108 | "unlinkedCollapsed": true 109 | } 110 | } 111 | }, 112 | { 113 | "id": "fef0008cdbfd4385", 114 | "type": "leaf", 115 | "state": { 116 | "type": "tag", 117 | "state": { 118 | "sortOrder": "frequency", 119 | "useHierarchy": true 120 | } 121 | } 122 | }, 123 | { 124 | "id": "d48633e791bf623c", 125 | "type": "leaf", 126 | "state": { 127 | "type": "outline", 128 | "state": { 129 | "file": "03-Cards/Primitive State.md" 130 | } 131 | } 132 | } 133 | ] 134 | } 135 | ], 136 | "direction": "horizontal", 137 | "width": 300, 138 | "collapsed": true 139 | }, 140 | "left-ribbon": { 141 | "hiddenItems": { 142 | "switcher:Open quick switcher": false, 143 | "graph:Open graph view": false, 144 | "canvas:Create new canvas": false, 145 | "daily-notes:Open today's daily note": false, 146 | "templates:Insert template": false, 147 | "command-palette:Open command palette": false 148 | } 149 | }, 150 | "active": "afd4e73454312394", 151 | "lastOpenFiles": [ 152 | "vault-template", 153 | "New folder", 154 | "03-Cards/Pipeline.md", 155 | "README.md", 156 | "02-MORCs/+ About MORCs.md", 157 | "04-Diary/+ About Diary.md", 158 | "03-Cards/Rust Paths.md", 159 | "03-Cards/Primitive State.md", 160 | "01-MOCs/Computer Graphics.md", 161 | "02-MORCs/wgpu.md", 162 | "02-MORCs/WebGPU.md", 163 | "01-MOCs/+ About MOCs.md", 164 | "00-Backlog/+ About Backlog.md", 165 | "03-Cards/+ About Cards.md", 166 | "06-Assets/+ About Assets.md", 167 | "05-Templates/+ About Templates.md", 168 | "00-Backlog/MOC.md", 169 | "Home.md", 170 | "05-Templates/Card.md", 171 | "test/README.md", 172 | "test", 173 | "my-obsidian-template/README.md", 174 | "my-obsidian-template", 175 | "05-Templates/Card with inner note.md", 176 | "05-Templates/MOCs and MORCs.md", 177 | "03-Cards/Github Contribution Workflow.md", 178 | "00-Backlog/Buffers.md", 179 | "Rust Modules.md", 180 | "05-Templates/base note template.md", 181 | "00-Backlog/each frame in wgpu app.canvas", 182 | "00-Backlog/wgpu initial configuration.canvas", 183 | "06-Assets/Pasted image 20231111170651.png", 184 | "02-MORCs", 185 | "03-Spaces/Backend Developer/Roadmap.canvas", 186 | "03-Spaces/Game Developer", 187 | "03-Spaces/Rust Developer", 188 | "03-Spaces/Python Developer", 189 | "03-Spaces/Backend Developer/MOCs", 190 | "03-Spaces/Backend Developer/MOCs", 191 | "03-Spaces/Backend Developer" 192 | ] 193 | } -------------------------------------------------------------------------------- /vault-template/00-Backlog/+ About Backlog.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - readme 4 | --- 5 | # Backlog 6 | 7 | The **00-Backlog** folder is where all new notes are added by default. It is designed to capture spontaneous and quick ideas without worrying about classifying them instantly or polishing them too much. 8 | 9 | When reviewing the backlog, either at the end of the day or days later, you decide whether an idea is valuable or discarded, if it is valuable you finish polishing it until you are satisfied with its content and decide whether it is a MOC, MORC or Card. 10 | -------------------------------------------------------------------------------- /vault-template/00-Backlog/Buffers.md: -------------------------------------------------------------------------------- 1 | --- 2 | up: 3 | - "[[Computer Science]]" 4 | tags: 5 | aliases: 6 | date: 2023-11-18 7 | --- 8 | # Buffers 9 | 10 | In [[wgpu]] is a contiguous segment of memory on the GPU designed to store graphics data, such as structures or arrays. These buffers are key to the performance and organization of graphics data, allowing elements such as vertices and colors to be manipulated efficiently without the need to re-compile [[shaders]] for each change, which is critical for speed and flexibility in rendering. 11 | 12 | Types of buffers in wgpu: 13 | 14 | 1. [[Vertex Buffer]] 15 | 2. [[Index Buffer]] 16 | 17 | -------------------------------------------------------------------------------- /vault-template/01-MOCs/+ About MOCs.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - readme 4 | --- 5 | # MOCs 6 | In folder **01-MOCs** is to store all the MOCs (Maps of Content). 7 | 8 | ## What is a MOC 9 | In this template context, a **MOC** is the central point of a Map of content, basically big topics of interest, that will serve as a reference points to understand better what are those big topics that prevail in your second brain and as a starting point for subsequent more specific topics ([[+ About MORCs|MORCs]]). -------------------------------------------------------------------------------- /vault-template/01-MOCs/Computer Graphics.md: -------------------------------------------------------------------------------- 1 | --- 2 | up: 3 | - "[[Home]]" 4 | tags: 5 | aliases: 6 | - computer graphics 7 | date: 2023-11-18 8 | --- 9 | 10 | # Computer Graphics MOC 11 | This is the MOC for everything related to Computer Graphics, a fascinating field blending art, science, and technology. 12 | 13 | ## What is "Computer Graphics" ? 14 | Computer Graphics encompasses the creation, manipulation, and representation of visual and geometric data using computational techniques. This field integrates [[Mathematics]], [[Computer science]], and [[Art]] to simulate and [[render]] visual content. 15 | 16 | ## Pending Sub-Topics 17 | * [[Modeling]] 18 | * [[Rendering]] 19 | * [[Animation]] 20 | 21 | ## Current Sub-topics 22 | * [[WebGPU]] 23 | * [[wgpu]] 24 | 25 | -------------------------------------------------------------------------------- /vault-template/02-MORCs/+ About MORCs.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - readme 4 | --- 5 | # MORCs 6 | The folder MORCs (Middle-of-the-Road Concepts) Unlike the folder [[+ About MOCs|01-MOCs]], is intended to store terms that do not end up being a **MOC** but are not something so basic as to put them in the folder [[+ About Cards|03-Cards]]. 7 | 8 | ## What is a MORC? 9 | A **MORC** is almost a **MOC**, but with the difference that it does not end up being a big topic, for example, for me a **MOC** is [[Computer Science]], but within this there are big topics that I consider too large to put them in the [[+ About Cards|03-Cards]] folder, for example, different programming languages such as [[Python]] or [[Rust]] could be **MORCs**. 10 | 11 | ## Why not just use [[+ About MOCs|MOCs]]? 12 | you could perfectly organize your second brain without **MORCs**, but they offer a broader and more specific vision of your topics of interest, those that will be part of your stack of technologies for example, that you will end up putting into practice, and who knows what relationships you may find between them. 13 | 14 | *Note: The decision to categorize a topic as **MOC** or **MORC** is personal. 15 | -------------------------------------------------------------------------------- /vault-template/02-MORCs/WebGPU.md: -------------------------------------------------------------------------------- 1 | --- 2 | up: 3 | - "[[Computer Graphics]]" 4 | tags: 5 | aliases: 6 | date: 2023-11-18 7 | --- 8 | # WebGPU MORC 9 | 10 | ## What is WebGPU ? 11 | 12 | WebGPU is an emerging web technology specification, created by the World Wide Web Consortium ([[W3C]]), intended to enable more efficient and powerful access to the [[GPU]] for web applications. This standard seeks to overcome the limitations of [[WebGL]] by providing more direct, low-level control over the graphics and computational capabilities of modern [[GPU|GPUs]]. 13 | 14 | **Key Aspects**: 15 | 16 | - **Compatibility and Performance**: Designed to be cross-platform, optimizing graphics performance across different devices and browsers. 17 | - Detailed Control**: Gives developers more granular control over the GPU, enabling more complex and efficient graphics and processing. 18 | - **Security and Modernity**: Incorporates updated security standards and leverages the most advanced features of today's GPUs. 19 | 20 | ## Objective 21 | Facilitate the creation of advanced web applications with intensive graphics and high performance calculations, opening new possibilities in web design, online games, virtual reality, among others. 22 | 23 | ## Implementations 24 | There are currently two implementations of this standard, [[wgpu]] and [[dawn]]. -------------------------------------------------------------------------------- /vault-template/02-MORCs/wgpu.md: -------------------------------------------------------------------------------- 1 | --- 2 | up: 3 | - "[[Computer Graphics]]" 4 | - "[[WebGPU]]" 5 | tags: 6 | aliases: 7 | date: 2023-11-18 8 | --- 9 | # wgpu MORC 10 | 11 | ## What is wgpu ? 12 | 13 | wgpu is a [[Rust Crate|Crate]] graphics library/[[Rust Crate|Crate]] for rust [[Rust]] based on the [[WebGPU]] technical specification. 14 | Applications or games created with wgpu, run natively on modern graphics [[API]] such as [[Vulkan]], DirectX 12/11, Metal and for browsers through [[WebAssembly]] following the [[WebGPU]] or [[WebGL]] standard. 15 | 16 | wgpu is special because it takes advantage of all the benefits offered by [[Rust]], but all focused on [[Computer Graphics|graphics]]. I personally consider that it aims to become the standard for the future development of graphics applications. 17 | ## Highlights of wgpu 18 | 19 | - **Multiplatform**: Its design allows it to work on various platforms, from desktop systems to web browsers, offering great flexibility for software development. 20 | - **Use of Modern Graphics APIs**: wgpu integrates with the most advanced graphics technologies, maximizing performance and taking advantage of the latest innovations in computational graphics. 21 | - **Future of Graphics Development**: With its modern approach and broad compatibility, wgpu is emerging as a potential standard for future computer graphics development. -------------------------------------------------------------------------------- /vault-template/03-Cards/+ About Cards.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - readme 4 | --- 5 | # Cards 6 | The **03-Cards** folder will serve to store all kinds of Card. (preferably as [[Atomic Note]]) 7 | 8 | ## What is considered a Card? 9 | Any kind of concept, thing, idea, review, recipe, reflection, comment about a concept, etc. -------------------------------------------------------------------------------- /vault-template/03-Cards/Github Contribution Workflow.md: -------------------------------------------------------------------------------- 1 | --- 2 | up: 3 | tags: 4 | - guide 5 | aliases: 6 | date: 2023-11-18 7 | --- 8 | 9 | # Github Contribution Workflow 10 | 11 | 1. **Repository Fork**: You create a copy of the repository in your GitHub account. This gives you full control over your own copy of the project. 12 | 13 | 2. **Clone the Fork**: You download a local copy of your fork to your machine. This allows you to work on the project locally. 14 | 15 | `git clone [URL of your fork]`. 16 | 17 | 3. **Create a New Branch**: You create a new branch in your local repository. This is done to keep your changes separate from the main code (usually the `master` or `main` branch). 18 | 19 | `git checkout -b [your_branch_name]`. 20 | 21 | 4. **Make Changes**: You make your changes to the new branch. You can add, edit or delete files as needed. 22 | 23 | 5. **Commit and Push your Changes**: Save your changes to your branch and then upload them to your fork on GitHub. 24 | 25 | ``` 26 | git add . git commit -m "Description of your changes" 27 | git push origin [your_branch_name] 28 | ``` 29 | 30 | 6. **Create a Pull Request (PR)**: From your GitHub fork, you initiate a pull request to the original repository. Here you explain the changes you have made and why you think they should be incorporated into the main project. 31 | 32 | 7. **Review and Merge (Optional)**: The maintainers of the original project will review your PR. They may ask you to make additional changes, or they may accept your PR and merge your changes into the main project branch. -------------------------------------------------------------------------------- /vault-template/03-Cards/Pipeline.md: -------------------------------------------------------------------------------- 1 | --- 2 | up: 3 | - "[[Computer Graphics]]" 4 | - "[[WebGPU]]" 5 | - "[[wgpu]]" 6 | tags: 7 | aliases: 8 | - pipeline 9 | - pipelines 10 | date: 2023-11-18 11 | --- 12 | > [!NOTE] this explanation is based on the [[Rust]] struct *`RenderPipelineDescriptor`*. 13 | # Pipeline 14 | A series of steps that a graphics [[API]] (such as [[wgpu]]) uses to convert [[vertices]] into an on-screen image. 15 | 16 | High-level steps: 17 | 18 | 1. **Vertex Fetching**: Vertices are loaded from buffers. 19 | 2. **Vertex Shading**: Vertices are processed by a vertex [[vertex shader]]. 20 | 3. **Primitive Assembly**: Vertices are assembled into geometric [[Primitive State|primitive]] (such as triangles). 21 | 4. **Rasterization**: The [[Primitive State|primitives]] are converted into pixels. 22 | 5. **Fragment Shading**: Pixels are processed by a [[fragment shader]] to produce colors. 23 | 6. **Blending and Output**: Colors are blended in the [[framebuffer]]. 24 | -------------------------------------------------------------------------------- /vault-template/03-Cards/Primitive State.md: -------------------------------------------------------------------------------- 1 | --- 2 | up: 3 | - "[[Computer Graphics]]" 4 | - "[[wgpu]]" 5 | - "[[Pipeline]]" 6 | tags: 7 | aliases: 8 | - primitive state 9 | - primitive 10 | - primitive states 11 | date: 2023-11-18 12 | --- 13 | 14 | > [!NOTE] this explanation is based specifically on [[Rust|Rust's]] struct 'PrimitiveState'. 15 | # Primitive State 16 | Defines how the [[vertices]] will be assembled and [[Rasterization| rasterized]] within a [[Pipeline|Graphic Pipeline]] 17 | 18 | ## Primitive Topologies 19 | These are the different patterns in which vertices can be assembled to form an image. 20 | - `PointList`: Each vertex is an individual point. 21 | - LineList`: Each pair of vertices forms a separate line. 22 | - LineStrip`: A continuous series of connected lines, where each line shares a vertex with the next. 23 | - TriangleList`: Each group of three vertices forms a separate triangle. 24 | - `TriangleStrip`: A series of connected triangles, where each new triangle shares two vertices with the previous triangle. 25 | 26 | 27 | 28 | 29 | ## Front Face 30 | is a rule that determines the front orientation of a triangle, there are 2 definitions: 31 | - `Ccw` (counter-clockwise): The front face of triangles is defined by the vertices ordered counter-clockwise. 32 | - `Cw` (clockwise): The front is defined by the vertices ordered clockwise. 33 | ## CullMode 34 | After knowing which face is the front face, here we decide which of the faces will be rendered, these are the following possible options: 35 | 36 | - `Back`: The back faces of the triangles are not rendered. 37 | - Front`: The front faces are not rendered. 38 | - None`: Both faces are rendered. 39 | 40 | ## Front Face and Cull Mode example: 41 | Imagine you have a triangle formed by three points in space: 42 | 43 | - Point A: (0,0,0). 44 | - Point B: (1,0,0,0) 45 | - Point C: (0,1,0) 46 | 47 | If you list these points in your code in the order A -> B -> C, and you look at the triangle from a position where this order appears counterclockwise, then you are looking at the front of the triangle. If `FrontFace` is set to `Ccw`, then the front of the triangle is visible, and if `CullMode` is set to `Back`, the back face will not be rendered. 48 | 49 | If you were to go around this triangle and see the points in clockwise order, then you would be looking at the back face. If `CullMode` is `Back`, this view of the triangle would not be rendered. 50 | 51 | ## Polygon Mode 52 | defines how the primitives (triangles for example) are drawn. The options are: 53 | - `Fill`: Triangles are filled completely. 54 | - Line`: Only the edges of the triangles are drawn. 55 | - Point`: Only the vertices are drawn. 56 | 57 | ## unclipped_depth (boolean option) 58 | Defines whether to do [[clipping]] or not. 59 | 60 | ## Conservative (boolean option) 61 | is a rasterization technique that ensures that all pixels that a triangle could cover are rendered, useful for certain optimizations. 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /vault-template/03-Cards/Rust Paths.md: -------------------------------------------------------------------------------- 1 | --- 2 | up: 3 | - "[[Rust]]" 4 | tags: 5 | - programming 6 | aliases: 7 | - rust path 8 | date: 2023-11-18 9 | --- 10 | # Rust Paths 11 | 12 | In [[Rust]], the elements of a [[Rust Crate|Crate]] ([[functions]], [[Rust Modules|modules]], [[structs]], [[enums]], etc.) are organized in a module tree. The visibility of these elements is controlled by the `pub` keyword. Paths allow access to these elements and can be absolute or relative. 13 | 14 | ## Example of module hierarchy 15 | ``` 16 | restaurant crate (root) 17 | └── front_of_house (father module). 18 | ├── hosting (sub module brother of serving) 19 | │ ├─── add_to_waitlist (method). 20 | │ └─── seat_at_table (method). 21 | └─── serving (sub module brother of hosting). 22 | ├── take_order (method). 23 | ├─── serve_order (method). 24 | └─── take_payment (method). 25 | ``` 26 | 27 | 28 | ## Visibility rules 29 | 30 | - **Default Private**: Items are private unless specified with `pub`. 31 | - **Sister Modules**: Public elements of sister modules are accessible to each other. 32 | 33 | ## Paths 34 | 35 | - **Absolute**: Start from the root of the crate with `crate`, such as `crate::front_of_house::hosting::seat_at_table`. 36 | - **Relative**: Use `self` for the same module or `super` for the parent module. For example, from `hosting`, `super::serving::take_order` accesses `take_order` in `serving`. 37 | 38 | ## Practical example 39 | ``` 40 | // In src/front_of_house/hosting.rs 41 | 42 | pub fn seat_at_table() { 43 | // 'self' is optional here 44 | self::add_to_waitlist(); 45 | 46 | // 'super' accesses the parent module 'front_of_house'. 47 | super::serving::take_order(); 48 | } 49 | 50 | ``` 51 | 52 | ==**Remember**: `self` is optional when accessing elements within the same module and is necessary for disambiguation or within macros.== 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /vault-template/04-Insights/+ About Insights.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - readme 4 | --- 5 | # Insights 6 | The **04-Insights** folder is dedicated to storing visual canvases that weave together related ideas to illustrate overarching concepts and processes for enhanced learning. 7 | 8 | ## Purpose of Insights 9 | Each canvas in the **04-Insights** folder acts as a visual representation of interrelated concepts, offering clarity on how individual elements interact within a broader system. It's where complex topics are broken down and connected through a visual format, aiding in the comprehension and retention of intricate subject matter. 10 | -------------------------------------------------------------------------------- /vault-template/05-Diary/+ About Diary.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - readme 4 | --- 5 | # Diary 6 | The folder **05-Diary** will store the notes of the day to day, ideally every day but honestly I do it every time I remember to write down what has happened to me during the day. 7 | -------------------------------------------------------------------------------- /vault-template/06-Templates/+ About Templates.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - readme 4 | --- 5 | # Templates 6 | 7 | The **06-Templates** folder is basically for storing note templates. -------------------------------------------------------------------------------- /vault-template/06-Templates/Card with inner note.md: -------------------------------------------------------------------------------- 1 | --- 2 | up: 3 | tags: 4 | aliases: 5 | date: {{date}} 6 | --- 7 | > [!NOTE] {inner note tittle} 8 | > {inner note contents} 9 | # {{title}} 10 | 11 | ## Personal Thoughts -------------------------------------------------------------------------------- /vault-template/06-Templates/Card.md: -------------------------------------------------------------------------------- 1 | --- 2 | up: 3 | tags: 4 | aliases: 5 | date: {{date}} 6 | --- 7 | # {{title}} 8 | 9 | ## Personal Thoughts -------------------------------------------------------------------------------- /vault-template/06-Templates/MOCs and MORCs.md: -------------------------------------------------------------------------------- 1 | --- 2 | up: 3 | tags: 4 | aliases: 5 | date: {{date}} 6 | --- 7 | # {{title}} MOC/MORC 8 | 9 | ## What is {{title}} ? 10 | 11 | ## Sub-Topics 12 | 13 | -------------------------------------------------------------------------------- /vault-template/07-Assets/+ About Assets.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - readme 4 | --- 5 | # Assets 6 | 7 | The **07-Assets** folder is dedicated to the storage of all types of complementary attachments of other notes, such as images, audios, pdf, etc. -------------------------------------------------------------------------------- /vault-template/Home.md: -------------------------------------------------------------------------------- 1 | # Home 🌎 2 | 3 | Welcome! this is the starting point to give an overview of what can be found here in your [[Second Brain]]. 4 | 5 | ## Why having a second brain? 6 | In this era of overwhelming information, it's hard to retain everything valuable. A 'second brain', especially as implemented in Obsidian, helps organize and recall important ideas effectively, thanks to its simplicity and visual grid view. 7 | 8 | ## Major Topics of Interest 9 | * [[Computer Graphics]] 10 | * [[Computer Science]] 11 | * [[Game Development]] 12 | ## Recent Interests 13 | * [[WebGPU]] 14 | * [[wgpu]] 15 | * [[Bevy]] 16 | 17 | --------------------------------------------------------------------------------