Adds the #sequenceList ordered list with HTML drag-and-drop so the developer(plane developer, YOU) can reorder folds and immediately see the sequence score change the aerodynamics stats and preview canvas.
Adds the #sequenceList ordered list with HTML drag-and-drop so the developer(plane developer, YOU) can reorder folds and immediately see the sequence score change the aerodynamics stats and preview canvas.
wired up the six-cell stats grid so the developer can see the numbers change while clicking fold choices. Also hooks up the Undo and Reset buttons now that state.history exists. (as promised), also turns out that the canvas now fails to load for some reason after the stats change and loads again when in dev tools ? will be looking into it more
Added calculateAerodynamics(), the blueprint grid helper, and the full drawPreview() function. The preview canvas now shows a live silhouette that reacts to whatever fold choices are currently active.
although the undo and reset button dont work yet i am working on those right nowww !!!! now the plane can be made and modified in any way, i am yet to write the main physics that will be affected on the basis of the changes will do that tommorow most probably
finalised the layout made the boxes the paper airplane can be shaped and can be slingshotted into the simlator, made its skeletons also i initially wanted to make the paper airplane foldable by hand but turns out its way out of my skillset after talking to claude for a while so i lowk js gave up i made it changeable via buttons tho ╰(°▽°)╯
even tho its not shipped and all, anyone can check it out at: https://samirghimire.me/paper-sim/
the url is also there in the pictures, cheers :)
Commit 1: init project with static landing page && Commit 2: add canvas shells and button scaffolding
this is the combination of the 2 commits made so far (not counting the commit renaming the css file)
till now i have managed to decide the color pallate and then make the bone body of the main simulator now the main fun part is coming (not really) the physics yay!! ;_;
p.s: i currently have ems going on right now so expect fewer of these (˘・_・˘)
I updated my main portfolio by updating my new gihub (school email) and then i also changed my discord webhook url and how it sent the message to the channel. I also hosted it in my name! i’ve changed the animations and tweaked it a little (also added a few ester eggs :)
created a github workflow that automatically generates the exe every time a new release is created
Air Draw
Wanted to try making an air drawing thing from scratch. Most tutorials use the old mediapipe Hands API which is getting deprecated so I used the newer Tasks API instead.
Canvas layer
Keeping a separate image layer for the drawing and merging it with the camera feed each frame was the annoying part. Empty parts of the canvas had to be made transparent using a threshold mask and bitwise operations. cv2.threshold + cv2.bitwise_and + cv2.bitwise_or is the combo that works.
Gesture detection
First tried checking if fingertip y coordinate was above the knuckle y coordinate. Broke whenever the hand tilted sideways. Switched to distance based: if fingertip is farther from the wrist than the middle knuckle, finger is extended. Works regardless of hand angle.
Smoothing
Two layers of smoothing. One on the landmark positions themselves and one on the actual drawing point
Pinch to lift
Fixed pixel distance threshold for pinch detection broke whenever the hand moved closer or farther from the camera. Made the threshold relative to palm size instead (35% of wrist to middle knuckle distance). Much more consistent.
Controls (nutshell):
tried deploying to vercel but it didnt work tweaked some things in the server.js but reading online i foundout that i will need to make another folder for it to function properly so am doing that rn :)
added an option to export and import all the things into a JSON, also an option to clear all the conversations, and remove all the API keys as now it has option to add multiple API keys, all the things are pretty much done so i think i will just do some finishing changes and ship it for the first time
added the prompting tab where specific instructions can be written and also completed the interface tab where one can toggle things like auto title generation and stuff am goging to add support for multiple api keys next and also an export/import chats and settings feutesrs that exports everthing, so when the local storage is full one can export and save there chat and import thhem later on
added option to pin the chat, edit the title manually, duplicate the chat and delete it also added fast delete which when shift is held while deletion it doesnt ask for conformation and directly deletes the chat, also added all the paraments accepted as far as i am aware of, added a default system prompt and i will also be making another tab specifically for prompts, also added dynamic size of the chat where the font size can be changed from the setting menu it self
So… i tried using AI to do some visual changes only for it to completely messup the layout and populate the root directory with random js and css files saying these are the new ones and have the same logic and makes the app better but it did not do any of that, i reverted it to how it was i dont know if that counts to AI useage but i will still be putting the incident in the details of the project
when an API is enterd made a test endpoint so it tests if the API is correct or not and tells it also initialized the js logic for the thinking mode max tokens, temperature, max tokens (entire chat), and a default system prompt, also am thinking about adding a dedicated tab in the settings panel for prompts and all
completed the toasts, added web search functionality, added chat deletion, also populated the empty state with some prompts, added an option to choose if one wants to generate the title automatically or not in a new settings tab “interface” where the size of fonts, theme, etc can me changed, am goging to add things like temperature , maxtokens, thinking budget and all next
added a shortcuts tab that tells the users about the keybinds, also made the initial frame for toasts, also added a last refreshed time on the models tab and reload again button that again fetches it from the HCAI API
added empty state also added thinking mode where it sends the api with an extra parameter and enables the thinking mode if the model has the ability to do it, i also added some keybinds such as when ctrl + Shift + T is pressed thinkning mode is enabled, Ctrl+N opens new chat etc it is also confiured for mac instead of ctrl in mac we can use cmd, in the settings tab i have also added a dropdown menu to select a separate title generation model
i made it so that the model can be changed and accessed from the chat it self and change it as per the user intent, i also added a details panel showing thw models capabilities and its pricing and its abilities like if it can web search or not or if it has thinking mode etc. also now in the settings panel you can select the default model to be used when a new chant is opened and it is stored in the local storage similar to how the chat is stored