{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":612113366,"defaultBranch":"main","name":"Dovetail","ownerLogin":"Offroaders123","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-03-10T08:20:46.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/65947371?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1710786893.0","currentOid":""},"activityList":{"items":[{"before":"d7c3bb0d94e258e2126f47df02f0eb11b1626f66","after":"a5f9136210a972aa679e9d14196ec7330b2cd298","ref":"refs/heads/dev","pushedAt":"2024-04-18T19:40:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"Root Config Adjustments\n\nBringing over the general formatting that's recommended by the Vite template. Originally I didn't use it because I wasn't quite sure what it was for, and I wanted to learn the stack piece by piece, learning what each thing did on it's own. The reload pragma/flag means that this file should also hot reload.\n\nhttps://vitejs.dev/guide/#trying-vite-online\nhttps://stackblitz.com/edit/vitejs-vite-9rm8pn","shortMessageHtmlLink":"Root Config Adjustments"}},{"before":"7cad530c28ee56f2a057463ac58fd82dbdda6866","after":"d7c3bb0d94e258e2126f47df02f0eb11b1626f66","ref":"refs/heads/dev","pushedAt":"2024-03-18T21:26:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"Vector NBT Icons!\n\nMaking these with Figma! They aren't quite done yet, but here's the initial versions. I want to save these as vectors as well.\n\nJust realized a neat idea, maybe the icons for NBT types can use the same HEX colors of the different wool types in game! Not that it makes sense particularly, but it could be a cool crossover\nThis image doesn't do that, thought I'd share what my demos look like so far though\n\nI still have to adjust the formatting and the colors but here's what I have so far\n\nI want to make proper glyphs for the fancy tags as well.","shortMessageHtmlLink":"Vector NBT Icons!"}},{"before":"76f40bf22947235bd7f8fa9ade17e1cf1ca54f51","after":"7cad530c28ee56f2a057463ac58fd82dbdda6866","ref":"refs/heads/dev","pushedAt":"2024-03-18T19:40:30.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"Conditional Demo Unset\n\nKeeping the changes just added, undoing the usage of showing them.","shortMessageHtmlLink":"Conditional Demo Unset"}},{"before":"401f3aa86b7be01a01be8060e29094c9c31ca6e1","after":null,"ref":"refs/heads/exp-react-02","pushedAt":"2024-03-18T18:34:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"}},{"before":"8e34dafca51d10fde186b9471c40e12995180493","after":null,"ref":"refs/heads/exp-codemirror","pushedAt":"2024-03-18T18:32:20.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"}},{"before":"e59b3f7088c9239a614e6a0effc112beec7e39b1","after":null,"ref":"refs/heads/exp-solid","pushedAt":"2024-03-18T18:28:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"}},{"before":"e6329ca2afe7fa14cccb39373bd5766dcb864410","after":"76f40bf22947235bd7f8fa9ade17e1cf1ca54f51","ref":"refs/heads/dev","pushedAt":"2024-03-18T07:14:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"NBTify Revert\n\nGoing to rework some of the newer changes to NBTify, it isn't completely working nicely with Dovetail. This commit brings Dovetail back to the previous NBTify version before the BedrockLevel precision update (where the BedrockLevel use to work with any file, even when it technically wouldn't make any sense to occur there).\n\nShould the BedrockLevel header still be applicable to any file, even if it doesn't use the same format as vanilla Bedrock? Say for example, compressed big endian, should NBTify support reading and writing that with a BedrockLevel header? Support-wise, it's easy to implement, but I don't want it to accidentally allow people to make files they didn't mean to, because they might only set the BedrockLevel header for example, but they need to update the endian type and remove the compression, for example, for it to work with Bedrock itself.","shortMessageHtmlLink":"NBTify Revert"}},{"before":"d00f97b181daa0a89c08de99b748e8c12ad70556","after":"e6329ca2afe7fa14cccb39373bd5766dcb864410","ref":"refs/heads/dev","pushedAt":"2024-02-21T03:32:58.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"BedrockLevel Boolean Debugging\n\nAaagh! This state management is a bit hectic, things aren't working out here. Looking into what might be wrong with my current state model, to figure out what the issue is. These seemed to kind of come in handy, but I'm not completely sure.\n\nhttps://stackoverflow.com/questions/71104273/does-solid-js-have-an-equivalent-of-react-usecallback\nhttps://stackoverflow.com/questions/75657763/in-solidjs-how-do-signals-get-repeatedly-rendered-into-the-dom\nhttps://www.solidjs.com/tutorial/reactivity_batch","shortMessageHtmlLink":"BedrockLevel Boolean Debugging"}},{"before":"6439352f2142c5f3385a71c36355cac1ccba6d0d","after":"401f3aa86b7be01a01be8060e29094c9c31ca6e1","ref":"refs/heads/exp-react-02","pushedAt":"2024-02-15T23:02:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"Render Component Lifecycles\n\nLearning where you have to use specific reactive features differently in React, compared to SolidJS, since their lifecycles are a bit different in a few aspects.\n\nThis does allow the demo to work!\n\nI still have to figure out how to append to an existing component, for the temporary FormatOptions form element handling.\n\nhttps://stackoverflow.com/questions/38256332/in-react-whats-the-difference-between-onchange-and-oninput\nhttps://react.dev/reference/react-dom/client/createRoot\nhttps://react.dev/learn/rendering-lists#keeping-list-items-in-order-with-key\nhttps://stackoverflow.com/questions/38192552/react-jsx-append-html-react-object-after-initialization","shortMessageHtmlLink":"Render Component Lifecycles"}},{"before":null,"after":"6439352f2142c5f3385a71c36355cac1ccba6d0d","ref":"refs/heads/exp-react-02","pushedAt":"2024-02-15T22:30:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"Components to React Demo!\n\nTrying out seeing how close the current codebase is at using React. It's very close, it works really well! There's still some state dependency management that I haven't debugged yet, but a lot of everything works great.\n\nThe NBT tree view has some errors with recursive state calls, and running the demo `bigtest.nbt` file also causes a state loop. Wait, just realized while writing this why that is, lol. Gonna write a fix for that now!\n\nWell, I think it's a lot more to fix than I thought. The concept of multi-running components is the issue, like needing to use `useEffect()` and `useCallback()`.\n\nhttps://stackoverflow.com/questions/59112809/react-usestate-hook-causing-infinite-loop\nhttps://stackoverflow.com/questions/55384977/npm-install-removes-dev-true-from-several-packages-in-package-lock-json","shortMessageHtmlLink":"Components to React Demo!"}},{"before":null,"after":"8e34dafca51d10fde186b9471c40e12995180493","ref":"refs/heads/exp-codemirror","pushedAt":"2024-02-09T21:16:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"Solid-CodeMirror\n\nCodeMirror still seems to be a big heck of a hassle to set up, what the heck? I wish it was just simple to put together. The styling for it just doesn't respect the CSS I'm trying to apply to it, and just aagh. It's most certainly me that's the issue in setting it up, it just seems to never go quite right when I set it up.\n\nThis is the setup I used just for this demo.\nhttps://github.com/nimeshnayaju/solid-codemirror\nhttps://github.com/Team-Lodestone/codemirror-lang-snbt (I wanted to set this up as well, but it doesn't use regular JS files for the syntax spec, so it needs an additional build step just to work. That's the kind of thing that bugs me about this. Why not use regular language-supported things? Once again, I'm likely the one confused here)\n\nDid some deep dive searching about implementing CodeMirror a few weeks ago, been meaning to document all of the articles I found for it.\n\nhttps://davidmyers.dev/blog/how-to-build-a-code-editor-with-codemirror-6-and-typescript/introduction\nhttps://www.adamcollier.co.uk/posts/adding-codemirror-6-to-a-react-project\nhttps://codemirror.net/examples/styling/#themes\nhttps://www.bayanbennett.com/posts/failing-to-add-codemirror-6-and-then-succeeding-devlog-004/\nhttps://www.reddit.com/r/swift/comments/r8206e/is_anyone_working_on_a_port_of_codemirror_6_to/\nhttps://github.com/khoi/codemirror-swift\nhttps://github.com/riccardoperra/solid-codemirror\nhttps://github.com/nimeshnayaju/solid-codemirror\nhttps://solid-codemirror.vercel.app/\nhttps://www.youtube.com/watch?v=juKv1aHEikI\nhttps://www.youtube.com/watch?v=5I4ZkmMS4-0&pp=ygUYemlnIHByb2dyYW1taW5nIGxhbmd1YWdl\nhttps://www.youtube.com/watch?v=zVyfRTckDqA (PDF fillable form possible solution!)\n\nBeen trying to record more music lately, even when I don't quite feel like it. The goal is again to try making things to see what they sound like, rather than trying to make a specific thing. It doesn't have to be good, it doesn't have to be bad. It just has to be, I guess.","shortMessageHtmlLink":"Solid-CodeMirror"}},{"before":"e59b3f7088c9239a614e6a0effc112beec7e39b1","after":"d00f97b181daa0a89c08de99b748e8c12ad70556","ref":"refs/heads/dev","pushedAt":"2024-02-09T20:14:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"Editor Component\n\nLooking into adding CodeMirror support! This first part is moving the editor setup into it's own component, regardless of whether or not CodeMirror is added to it.","shortMessageHtmlLink":"Editor Component"}},{"before":"6e6312b277dc02df998bb83d882a03482f0756f1","after":null,"ref":"refs/heads/exp-react-01","pushedAt":"2024-02-05T06:05:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"}},{"before":"66d33809ba1953e6d8a2414871a59c8e8489dbc9","after":null,"ref":"refs/heads/exp-react","pushedAt":"2024-02-05T06:04:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"}},{"before":"53a7db9f279ece17438c75617bffc574c96bb09a","after":"e59b3f7088c9239a614e6a0effc112beec7e39b1","ref":"refs/heads/main","pushedAt":"2024-02-05T05:56:07.000Z","pushType":"push","commitsCount":79,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"OpenGraph Meta Tags (Partial)\n\nStill need a proper README for the project, as well as demo screenshots, and an OpenGraph image to render for link sharing. Got these from STE, nice and simple to add these few extra nice things.\n\nI didn't add these back when I made the project, I wanted to leave it until a later point when the project was more established (now :D).\n\nhttps://www.opengraph.xyz/ (Great tool, have used before for adding these to STE as well!)","shortMessageHtmlLink":"OpenGraph Meta Tags (Partial)"}},{"before":"9d494d5e6d1cc1afd7e44ec711b17138629fe0d2","after":"e59b3f7088c9239a614e6a0effc112beec7e39b1","ref":"refs/heads/dev","pushedAt":"2024-02-05T05:54:25.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"OpenGraph Meta Tags (Partial)\n\nStill need a proper README for the project, as well as demo screenshots, and an OpenGraph image to render for link sharing. Got these from STE, nice and simple to add these few extra nice things.\n\nI didn't add these back when I made the project, I wanted to leave it until a later point when the project was more established (now :D).\n\nhttps://www.opengraph.xyz/ (Great tool, have used before for adding these to STE as well!)","shortMessageHtmlLink":"OpenGraph Meta Tags (Partial)"}},{"before":"9d494d5e6d1cc1afd7e44ec711b17138629fe0d2","after":"e59b3f7088c9239a614e6a0effc112beec7e39b1","ref":"refs/heads/exp-solid","pushedAt":"2024-02-05T05:53:14.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"OpenGraph Meta Tags (Partial)\n\nStill need a proper README for the project, as well as demo screenshots, and an OpenGraph image to render for link sharing. Got these from STE, nice and simple to add these few extra nice things.\n\nI didn't add these back when I made the project, I wanted to leave it until a later point when the project was more established (now :D).\n\nhttps://www.opengraph.xyz/ (Great tool, have used before for adding these to STE as well!)","shortMessageHtmlLink":"OpenGraph Meta Tags (Partial)"}},{"before":"c4b45c67e645fba9065eae681c7a65827ddc8e5d","after":"9d494d5e6d1cc1afd7e44ec711b17138629fe0d2","ref":"refs/heads/dev","pushedAt":"2024-02-05T05:09:33.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"A Solid Build 🧱\n\nAlright, I think it's time! Over the last 3 weeks about, I experimented with moving to SolidJS, and things went greatly well! (Not a phrase, but sounds right)\n\nI rebuilt the whole app using reactive JSX components, as well as migrated to a prop-based state model to handle the state within the app. This was a bigger learning curve for me, and I'm really happy this is starting to click for me now. Big thanks to Solid and it's mindset on how it manages this kind of thing. It's giving me hope in being able to learn React a bit better as well, as these concepts in Solid draw from both the vanilla JS world, and the React world. I think that crossover is what really helped me start to understand how to build things using state (the reactive signal-based take on handling for things).\n\nAlong with this, I also have added proper strict typing for the Service Worker (using another TSConfig/Vite build entry point), plain SNBT editing support (not only `.nbt`-like files anymore!), as well as everything just being separated into their own components/modules. This very much helps you see what needs what to function, and it allows you to more freely use one thing one way, and use it in more than one kind of location. The tree view renderer is now much more dynamic as well! Now it will render the root tag name next to the root tag's icon (as well as when it's unnamed or empty). Another big one that will be great to continue looking into, is that each of the tree view tag render types are now their own separate components, so it will be simple to add custom rendering behavior for each one on their own now. Previously, they were all rendered with the same `` element, and it handled each of the tag types in that single implementation. Hence, it was getting very complex and messy. I also removed Better-TypeScript, and narrowed the types I use from New-JavaScript, so I am only applying the missing ones that I need which aren't part of the TS standard library yet. I also found out about the `\"cancel\"` event for input elements, perfect for wrapping file pickers in an async function call! Previously I didn't know how to resolve the returned `Promise` if the user canceled the file picker. It would just hang and never reject, nor resolve. Now that is safely fixed :)\n\nAs of things I plan to look into, or still need to do, that includes hopefully figuring out how to do build-time SSR, with hydration (may be lighter and more accessible vs just the JSX-like bundle at runtime), possibly CSS modules (named exports would be ideal), a dedicated types library for the Web App Manifest file, eventually maybe looking into multi-file editing, improved `createEffect()` handling for rendering the tree view (right now it's too repetitive and performance-heavy), looking into improved styling now that things are more simply composed (as well as properly implementing spacing and indentation for things, since it was incidentally based on HTML indentation before, which isn't consistent, as JSX doesn't do that unless you add your own line breaks in as text snippets), and also being able to create new NBT and SNBT files on the fly, without having to open one to make edits. Speaking of the `` `Promise` wrapper handling, now I think it may be more viable of me for trying to make some sort of FS wrapper-like module, which would bridge the gap across Node.js `node:fs/promises`, ``/``, and the File System Access API. I want to make sure I don't shoehorn all of my FS usecases through a single library though as well, so it will be an incremental concept to look into. I think having something like that is likely only necessary for implementing something like my world converter code down the line, I don't want to implement all three of those FS implementations over and over. Maybe that can work in conjunction with my eventual `.zip` file module too; I want to make a cross-runtime vanilla ESM module that works like JSZip, but yeah without any dependencies, and nice and simply implemented.\n\nLots of big concepts. As I heard recently, \"slow progress is still progress\".\n\nSYL - We Ride, Possessions, Two Weeks, Thalamus, Zen, Info Dump (I actually really like Info Dump, I wonder what that guy is saying?)","shortMessageHtmlLink":"A Solid Build 🧱"}},{"before":"673e82ce5b18883bc38683aeb951c7559d403e0f","after":"9d494d5e6d1cc1afd7e44ec711b17138629fe0d2","ref":"refs/heads/exp-solid","pushedAt":"2024-02-05T05:03:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"A Solid Build 🧱\n\nAlright, I think it's time! Over the last 3 weeks about, I experimented with moving to SolidJS, and things went greatly well! (Not a phrase, but sounds right)\n\nI rebuilt the whole app using reactive JSX components, as well as migrated to a prop-based state model to handle the state within the app. This was a bigger learning curve for me, and I'm really happy this is starting to click for me now. Big thanks to Solid and it's mindset on how it manages this kind of thing. It's giving me hope in being able to learn React a bit better as well, as these concepts in Solid draw from both the vanilla JS world, and the React world. I think that crossover is what really helped me start to understand how to build things using state (the reactive signal-based take on handling for things).\n\nAlong with this, I also have added proper strict typing for the Service Worker (using another TSConfig/Vite build entry point), plain SNBT editing support (not only `.nbt`-like files anymore!), as well as everything just being separated into their own components/modules. This very much helps you see what needs what to function, and it allows you to more freely use one thing one way, and use it in more than one kind of location. The tree view renderer is now much more dynamic as well! Now it will render the root tag name next to the root tag's icon (as well as when it's unnamed or empty). Another big one that will be great to continue looking into, is that each of the tree view tag render types are now their own separate components, so it will be simple to add custom rendering behavior for each one on their own now. Previously, they were all rendered with the same `` element, and it handled each of the tag types in that single implementation. Hence, it was getting very complex and messy. I also removed Better-TypeScript, and narrowed the types I use from New-JavaScript, so I am only applying the missing ones that I need which aren't part of the TS standard library yet. I also found out about the `\"cancel\"` event for input elements, perfect for wrapping file pickers in an async function call! Previously I didn't know how to resolve the returned `Promise` if the user canceled the file picker. It would just hang and never reject, nor resolve. Now that is safely fixed :)\n\nAs of things I plan to look into, or still need to do, that includes hopefully figuring out how to do build-time SSR, with hydration (may be lighter and more accessible vs just the JSX-like bundle at runtime), possibly CSS modules (named exports would be ideal), a dedicated types library for the Web App Manifest file, eventually maybe looking into multi-file editing, improved `createEffect()` handling for rendering the tree view (right now it's too repetitive and performance-heavy), looking into improved styling now that things are more simply composed (as well as properly implementing spacing and indentation for things, since it was incidentally based on HTML indentation before, which isn't consistent, as JSX doesn't do that unless you add your own line breaks in as text snippets), and also being able to create new NBT and SNBT files on the fly, without having to open one to make edits. Speaking of the `` `Promise` wrapper handling, now I think it may be more viable of me for trying to make some sort of FS wrapper-like module, which would bridge the gap across Node.js `node:fs/promises`, ``/``, and the File System Access API. I want to make sure I don't shoehorn all of my FS usecases through a single library though as well, so it will be an incremental concept to look into. I think having something like that is likely only necessary for implementing something like my world converter code down the line, I don't want to implement all three of those FS implementations over and over. Maybe that can work in conjunction with my eventual `.zip` file module too; I want to make a cross-runtime vanilla ESM module that works like JSZip, but yeah without any dependencies, and nice and simply implemented.\n\nLots of big concepts. As I heard recently, \"slow progress is still progress\".\n\nSYL - We Ride, Possessions, Two Weeks, Thalamus, Zen, Info Dump (I actually really like Info Dump, I wonder what that guy is saying?)","shortMessageHtmlLink":"A Solid Build 🧱"}},{"before":"696816d86423a3c05b1123d58a8f5c2bc10e866a","after":"673e82ce5b18883bc38683aeb951c7559d403e0f","ref":"refs/heads/exp-solid","pushedAt":"2024-02-05T04:24:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"JSX Template Formatting\n\nFinally feeling like I like this formatting for things. Was unsure about it earlier. I'm going to continue with using more spacing where possible, I think that's a big help with helping ensure better readability.\n\nI thought the SYL song \"Skeksis\" was called \"Skelesis\" this whole time, was reading it wrong. Looks like it's from \"The Dark Crystal\", which I heard from the DT Podcast it was one of his favorite shows growing up. So I'm going to use \"Skelesis\" as a name for one of my songs. It can be a little nod to SYL :)\n\nhttps://www.youtube.com/watch?v=agrAUjogAvo (This was a fun listen haha, curious about looking into the rest of the album now haha)\nhttps://www.youtube.com/watch?v=NEKHOzrasdg\nhttps://www.youtube.com/watch?v=6toI7jk-Prk","shortMessageHtmlLink":"JSX Template Formatting"}},{"before":"ec7da95e0554eb6d04cb1f461d43933e07619fd5","after":"696816d86423a3c05b1123d58a8f5c2bc10e866a","ref":"refs/heads/exp-solid","pushedAt":"2024-02-05T02:06:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"Content Types Organizations (MIME Types)\n\nJust moved things around a bit in a more official module setup.\n\nI didn't write all of the types for the manifest yet, just the ones I needed to set things up for this feature. I do eventually want to write complete types for it though, which I will implement separately from Dovetail.","shortMessageHtmlLink":"Content Types Organizations (MIME Types)"}},{"before":"f2a4ea6073aa1fc533981bb60f999b8e20e4b894","after":"ec7da95e0554eb6d04cb1f461d43933e07619fd5","ref":"refs/heads/exp-solid","pushedAt":"2024-02-05T01:50:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"File Handlers Typings\n\nYeah, going to try working on implementing my own types for the Web App Manifest.\n\nhttps://developer.mozilla.org/en-US/docs/Web/Manifest/file_handlers","shortMessageHtmlLink":"File Handlers Typings"}},{"before":"0e242a77382624c3e249d6e50d0320a7687d9fbe","after":"f2a4ea6073aa1fc533981bb60f999b8e20e4b894","ref":"refs/heads/exp-solid","pushedAt":"2024-02-05T01:40:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"Web App Manifest Types (Concept)\n\nWanting to get full typings for the Web App Manifest, but for some reason it's not part of the TS standard library. There is an `@types` package on npm, but it's not complete with all of the fields that are part of the spec. May look into writing my own file, or maybe even a package for it as well.\n\nWas curious if New-JavaScript had types for it as well, but looks like not, kind of surprised hehe. Maybe I can contribute to that instead, could make sense.\n\nhttps://www.npmjs.com/package/@types/web-app-manifest\nhttps://developer.mozilla.org/en-US/docs/Web/Manifest (This is what I'll use for the types)\nhttps://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/Making_PWAs_installable#required_manifest_members (Not all fields are optional)\n\nhttps://www.youtube.com/watch?v=_Y-F5k3lIDQ\nhttps://www.youtube.com/watch?v=GUlaqYumsGk\nhttps://www.youtube.com/watch?v=zvwrO_Idbvo","shortMessageHtmlLink":"Web App Manifest Types (Concept)"}},{"before":"2bb90f18b7e7cb00863b961baa7e664d3122fd06","after":"0e242a77382624c3e249d6e50d0320a7687d9fbe","ref":"refs/heads/exp-solid","pushedAt":"2024-02-05T01:22:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"MIME Types Dedupe (Test 2)\n\nI think this is the second commit of trying this out. At least, I did try it before, but I may have not committed it.\n\nThe goal is to only define the accepted MIME types and file extensions in a single place, then the rest of the app can use them from that declaration as well. STE would greatly benefit from this as well.\n\nhttps://github.com/tc39/proposal-json-modules (Looking forward to this, I'd like to use it with my Web App Manifest. Vite doesn't seem to support it either, unfortunately; it just treats the default import as a URL string, even if you omit `?url`.)\nhttps://vitejs.dev/guide/features#json\nhttps://github.com/WebAssembly/esm-integration\nhttps://github.com/WebAssembly/esm-integration/tree/main/proposals/esm-integration","shortMessageHtmlLink":"MIME Types Dedupe (Test 2)"}},{"before":"c4b45c67e645fba9065eae681c7a65827ddc8e5d","after":"2bb90f18b7e7cb00863b961baa7e664d3122fd06","ref":"refs/heads/exp-solid","pushedAt":"2024-02-05T01:15:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"Nearing Production + Input Cancelling\n\nhttps://stackoverflow.com/questions/34855400/cancel-event-on-input-type-file\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/cancel_event\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/invalid_event (Don't think this applies to ``, or at least I couldn't find any info that it does. Is there anything that file inputs can error with?)\n\nWeird freakin song, uncannily happy, kind of like if depression had a sound I think.\nhttps://www.youtube.com/watch?v=xI0Htkrsc8Y\n\nWorking on bringing this branch up to par with running in production! Nearly everything is synonymous with the current build, so I want to start dogfeeding it to find any other issues, especially with the move to SolidJS.","shortMessageHtmlLink":"Nearing Production + Input Cancelling"}},{"before":"98b056e15f845e6632fbed27cf75f1f3b2ba74c7","after":"c4b45c67e645fba9065eae681c7a65827ddc8e5d","ref":"refs/heads/dev","pushedAt":"2024-02-04T23:41:57.000Z","pushType":"push","commitsCount":49,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"SNBT Editing Support!\n\nThis was actually not too bad to implement, heck yeah! Now that everything is modular and more-explicitly defined in it's own groups, it's easier to tell where something should be implemented, and it works across the whole rest of the app as well. Next I'd like to derive the `` picker from the Web App Manifest's file types as well, then it's also only defined from a single place too.\n\n#6","shortMessageHtmlLink":"SNBT Editing Support!"}},{"before":"d2f18cab9368f71c209c07acdc6da491f3d0140b","after":"c4b45c67e645fba9065eae681c7a65827ddc8e5d","ref":"refs/heads/exp-solid","pushedAt":"2024-02-04T23:38:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"SNBT Editing Support!\n\nThis was actually not too bad to implement, heck yeah! Now that everything is modular and more-explicitly defined in it's own groups, it's easier to tell where something should be implemented, and it works across the whole rest of the app as well. Next I'd like to derive the `` picker from the Web App Manifest's file types as well, then it's also only defined from a single place too.\n\n#6","shortMessageHtmlLink":"SNBT Editing Support!"}},{"before":"70e21c48b2a5869cb2039510c2ac798f06361005","after":"d2f18cab9368f71c209c07acdc6da491f3d0140b","ref":"refs/heads/exp-solid","pushedAt":"2024-02-04T23:06:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"Tree View SNBT Updating\n\nStill experimental, learning how to properly implement things with `createEffect()` so it can be optimized, and not be called multiple times unnecessarily (it's doing that currently).\n\nhttps://docs.solidjs.com/references/api-reference/basic-reactivity/createEffect","shortMessageHtmlLink":"Tree View SNBT Updating"}},{"before":"86d2a26c534700ec28b53b9a6d3390b9d9afc936","after":"70e21c48b2a5869cb2039510c2ac798f06361005","ref":"refs/heads/exp-solid","pushedAt":"2024-02-04T22:46:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"Tree View Hot Reload! (Demo)\n\nI don't plan to show them both at the same time, because of performance for rebuilding the whole Tree View each time, but we'll see. Maybe SolidJS is nice at handling that? Not completely sure. Maybe that's where the VDOM may actually help out a bunch, since it would only change parts that it needs to. How can I move the NBTify object-based structure for NBT representation, over to using something more UI-based? Looping over all of the keys and values each time doesn't seem the most reactive. I think it should be more declarative, but I'm not sure how to do that yet. This is at least for demoing how often the tree should be rebuilt, I was probably going to do it when `getShowTreeView()` changes, then rebuild it only when changing view states. It does seem really cool to have a live tree view for real-time SNBT editing too though, so we'll see. Would be great to have! STE can do it with rebuilding your whole site from the editor each time, maybe this isn't *that* performance-heavy. There are still probably some optimizations that can tighten things up here and there though, which likely make all the difference. That's usually how things go, the smallest changes make the biggest improvements.\n\n#4","shortMessageHtmlLink":"Tree View Hot Reload! (Demo)"}},{"before":"1f12d7e58fdb25d5834e1d097801b1e6bc27c1e5","after":"86d2a26c534700ec28b53b9a6d3390b9d9afc936","ref":"refs/heads/exp-solid","pushedAt":"2024-02-04T21:41:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Offroaders123","name":"Brandon Bennett","path":"/Offroaders123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/65947371?s=80&v=4"},"commit":{"message":"NBTData Default\n\nNow there is a default `NBTData` object that is used when a file hasn't been loaded yet. I think this goes in favor of better allowing files to be made arbitrarily as well, since this paves the way for allowing new files to be made from the beginning of opening the app.\n\n#6","shortMessageHtmlLink":"NBTData Default"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAENIJb9QA","startCursor":null,"endCursor":null}},"title":"Activity · Offroaders123/Dovetail"}