Commit Graph
100 Commits
Author SHA1 Message Date
Tanish Manku 8d731f1155 Text2Image - Image batches: Arrow key support (#1198) 2026-03-23 20:57:50 -07:00
Tanish Manku 588650b1b5 2D: Ordered draw instead of Z-Index + Other improvements (#1163)
Paint/Mask cursor now draws properly regardless of canvas scale and drag
offset.
Inpainting now has its own brush with add and subtract actions.
A total node array is used for ordered-rendering of nodes, which fixes
the layer forward/backward operations.
2026-03-18 15:53:32 -07:00
Tanish Manku 31c507a404 2D: Composite draw layer into ref image for default gen (#1156)
3D nodes and drawings on the canvas were missing from the reference
image sent to the model in the default generation path. The fix mirrors
the Nano Banana Pro approach: render a composite of the base image and
the draw layer, upload it via uploadSceneSnapshot, and pass it as
scene_image_media_token rather than putting editedImageToken in
image_media_tokens.
2026-03-17 14:59:21 -07:00
Tanish Manku 3592111019 Improve 2D (PageDraw) render stability and performance (#1143)
Generous use of caching used for react elements. Made a pretty
significant difference too.
Minor refactor to move helper functions outside instead of within
component tree.
2026-03-13 16:42:11 -07:00
Tanish Manku 9d12603d1f 2D Editor support for 3D objects (#1142)
3D objects can now be drag-n-dropped from gallery onto 2D canvas, with
support for scale, rotation and FOV changes.
History is tracks so changes support undo/redo as well.
2026-03-13 16:35:46 -07:00
Tanish Manku c98aca330b Map history stack and corresponding edits (#1041)
Event based, so only updates on creation, selection and deletion of
history images.
2026-02-20 16:37:38 -08:00
Tanish Manku 5b82b722b1 Reword the history stack deletion message (#1024) 2026-01-31 01:23:00 -08:00
Tanish Manku c4298cc02b Make sure to run autocentering when the base image changes (#1023) 2026-01-31 01:22:52 -08:00
Tanish Manku 76172e3956 Merge 2D and Edit/Inpainting pages (#981)
Needs more testing, do not merge.
2026-01-24 21:14:07 -05:00
Tanish Manku 510589b758 Splat persistence and preview support (#930)
Branch name is misleading as it was originally meant to upload splats to
the endpoint. It results in HTTP400 as of now.
2025-12-15 23:46:48 -08:00
Tanish Manku f5cd65be9c Temporarily give splats meshes a name (#928) 2025-12-10 22:29:01 -08:00
Tanish Manku fba1a65e95 Fix bone controls not appearing since 3JS update (#927) 2025-12-10 22:14:26 -08:00
Tanish Manku 866a409ff1 Add basic local 3D splat support (SPZ only) (#920)
- Disabled Outline Pass
- Disabled SAO Pass
- Disabled Bloom Pass
- Disabled SMAA Pass

SAO and Outline passes are necessary to disable for adequate
performance. No idea why.
2025-12-04 16:05:54 -08:00
Tanish Manku 88799a482d Refresh outliner items on scene load (#881) 2025-10-19 17:21:12 -07:00
Tanish Manku 1243e755fe Add reset ability to 2D (#874) 2025-10-14 15:57:03 -07:00
Tanish Manku cac0c0b188 Auto-switch to edit mode if model supports it (#818) 2025-09-10 13:50:02 +07:00
Tanish Mankuandbflatastic d909d55e6f Support history item deletion (#819)
Co-authored-by: bflatastic <bombayapirat@gmail.com>
2025-09-10 13:23:05 +07:00
Tanish Manku 1847533e8a Add an image removal button in history stack 2025-09-09 12:44:17 -07:00
Tanish Manku 3ad642f150 Make mouse dragging pixel-perfect (#816) 2025-09-04 14:38:19 -07:00
Tanish Manku 4181e24f7f Fix history stack being empty coming from gallery edit button (#799) 2025-08-28 22:59:07 +07:00
Tanish Manku 92b68d3f9d Make the inpainting stroke translucent blue (#797) 2025-08-27 15:54:06 -07:00
Tanish Manku c39651415d Fix lossy History Stack (#796) 2025-08-27 14:43:07 -07:00
Tanish Manku 9d3d3aa98c Merge the delete buttons to history stack (#785) 2025-08-25 16:24:29 -07:00
Tanish Manku 3501b65b42 History stack: Use the random cache buster ID (#784) 2025-08-25 15:45:25 -07:00
Tanish Manku 87411f93c3 Model Flags: Implement conditional edit mode (#783)
Promptbox now shows controls responding to selected inpainting model.
2025-08-25 14:42:02 -07:00
Tanish Manku 4b46b6a2b7 Inpainting history stack (#777)
Unstylized
2025-08-22 16:00:22 -07:00
Tanish Manku cc1ed0eb76 Inpainting integration with Back-end (#759)
Some cleanup + transparency background fill
2025-08-13 12:27:37 -07:00
Tanish Manku 5a30046efa Implement all inpainting UI (#752)
Actual backend integration pending
2025-08-01 16:40:48 -07:00
Tanish Manku 2d9773100e 3D: Do only one render pass to consume less memory (#699) 2025-08-01 16:32:05 -07:00
Tanish Manku 1ad16c1d87 3D cache only on editor load (#694) 2025-08-01 16:31:57 -07:00
Tanish Manku 53eb46d2b6 Add 500ms of timeout on tab switching (#691) 2025-06-23 13:03:57 -07:00
Tanish Manku 4f33e74e3a Make 3D state save and load on tab change (#661) 2025-06-06 22:50:47 -07:00
Tanish Manku 78b8c56066 Make 2D, 3D, image, video conditionally render (#654) 2025-06-04 14:47:39 -07:00
Tanish Manku c809ff88fa Add save/load support for character poses (#623) 2025-05-20 20:13:04 -04:00
Tanish Manku f7b76a7abe Add manual mouse support in Safari and AppleWebkit (#606) 2025-05-12 15:02:56 -07:00
Tanish Manku 9435af3e2a Change the relative pathing from base config (#605) 2025-05-12 14:23:09 -07:00
Tanish Manku 77efda1d66 Make 2D and 3D mount at the same time (#604) 2025-05-12 14:15:02 -07:00
Tanish Manku 95773c1c23 Point 3D tsconfig to the right subdirectory (#598) 2025-05-09 14:27:13 -07:00
Tanish Manku eac503af46 Use shared lightbox component in 3D 2025-05-01 15:48:59 -07:00
Tanish Manku 16932374f5 Some project config improvements (nx + tsconfig) (#561) 2025-05-01 15:09:46 -07:00
Tanish Manku 420a23d359 Disable pointer lock controls if we detect safari webkit (#562) 2025-04-30 18:10:18 -07:00
Tanish Manku bbd5953000 Use arrow keys to rotate cam (#560) 2025-04-30 16:41:08 -07:00
Tanish MankuandTanish Manku aa76113e8c Fix 3D performance decay after generation (#559)
Use 3JS size api instead of direct domElement access (avoids implicit
pixel density scaling)

Co-authored-by: Tanish Manku <-h>
2025-04-29 01:29:24 -07:00
Tanish MankuandTanish Manku d3e1d7fab9 Fix api lib (ApiManager) imports (#552)
Co-authored-by: Tanish Manku <-h>
2025-04-24 00:10:55 -07:00
Tanish MankuandTanish Manku df07e1f1e9 Hotfix rerendering spam - Outliner and Promptbox (#547)
Could be done better, but this works just as well under time
constraints.

For future reference: The freecam movement speed logic should be moved
to React land instead of processing the update every frame using the
time delta. Just use performance.now() in a useEffect or something.

---------

Co-authored-by: Tanish Manku <-h>
2025-04-22 01:26:49 -07:00
Tanish Manku 397172e036 Fix "forearm" filter due to "ear" (#544) 2025-04-21 15:14:37 -07:00
Tanish Manku d7566dd7ab Add a blacklist filter for the FK bones (#543) 2025-04-21 15:06:28 -07:00
Tanish Manku 51bdd4eff8 Create a really sick precision selector (#506)
Steps to activate:
1 - Select an object
2 - In the transform box, click and hold "Scale"
3 - Drag vertically to select the incremental precision
4 - Drag horizontally to apply increments of the selected precision

Issues:
- Releasing the mouse on top of the canvas will also trigger a "mouseup"
event on the canvas (since it listens to the window, not the canvas) and
deselect the object.
2025-04-16 15:01:44 -07:00
Tanish Manku 2e6823834f Create the shapes centered on the canvas (#515)
- Also match all the shape sizes
2025-04-15 17:24:29 -07:00
Tanish MankuandTanish Manku f027fcb29a Write Gallery component with test data (#508)
Co-authored-by: Tanish Manku <-h>
2025-04-14 10:49:35 -07:00
Tanish Manku 2b453660da 3D Editor: Persist gizmo is FK mode (#493) 2025-04-10 01:18:57 -07:00
Tanish Manku 63d41f7d2c Some bug fixes and improvements for FK (#476) 2025-04-04 00:41:39 -07:00
Tanish Manku 14474e68c2 Add basic Forward Kinematics support (#475)
There's still some glitches around selection and deletion.
2025-04-04 00:34:09 -07:00
Tanish Manku 1ced74040f Fix: Letterboxing blocking pointer events 2025-04-03 14:09:35 -07:00
Tanish Manku a8e029497f Fix context menu showing up after transforming (#453) 2025-03-12 15:18:00 -07:00
Tanish Manku 4b309a5dd8 Render shapes as vectors and revamp rendering logic (#442) 2025-03-07 14:41:11 -08:00
Tanish Manku 08384955e4 Remove 'React-Eyedrop' and unused imports (#443)
As simple as it sounds
2025-03-06 23:05:23 -08:00
Tanish Manku 35a8920db8 Show context menu at right click position (#432) 2025-02-26 15:39:47 -08:00
Tanish Manku 701d84602f Add an eyedrop to all color pickers (#431) 2025-02-26 15:39:34 -08:00
Tanish Manku c65b00adc8 Add Background button and menu to toolbar (#427) 2025-02-26 00:47:51 -08:00
Tanish Manku e199086cff Context Menu Redesign (#425)
- Fix right click
- New design
2025-02-26 00:42:33 -08:00
Tanish Manku ecee0d2ea8 Make color picker and paint menu use hex alpha picker (#426) 2025-02-25 18:12:41 -08:00
Tanish Manku 000638ab9f Add brush size to Paint and Erase (#424)
- Both modes' menus have been separated for better maintenance
- Slider is generic, can be reused
- New signals added for engine to hook into
- Sliders tested working on the UI side
2025-02-25 02:45:52 -08:00
ae6434e11e Add mode switching: SELECT, PAINT, ERASE (#420)
Co-authored-by: BFlat <bombayapirat@gmail.com>
Co-authored-by: CrossPr0duct <alicextensor@gmail.com>
2025-02-23 21:30:00 -05:00
Tanish Manku 0392bda03c Forward color picker events to engine (#418) 2025-02-20 11:38:29 -05:00
Tanish Manku 9d1d605f5c Add shapes to global toolbar and color picker to contextual (#417)
Shapes scaffolding is fully set up, color picker isn't tied up to the
nodes so it doesn't actually change the color yet
2025-02-19 21:55:06 -05:00
Tanish Manku 9f60d82401 When the timeline stops, update the scene at 0 time 2025-02-07 00:42:17 -08:00
Tanish Manku 2cdde78bfb Fix rendering performance issue (double frame request) 2025-02-07 00:41:52 -08:00
Tanish Manku 293e0f98cb Integrate start frame with animation engine 2025-02-07 00:41:30 -08:00
Tanish Manku f9bd363a3f Add a default test url for start frame 2025-02-06 19:23:11 -08:00
Tanish Manku e9f422e0ba Use kalidokit for bone rotation 2025-02-04 18:41:23 -08:00
Tanish Manku 41ab2840e8 Merge branch 'tanish/frames' into deployable 2025-02-04 16:27:07 -08:00
Tanish Manku 4f177bcb8a Save manager userdata field support 2025-01-31 15:51:03 -08:00
Tanish Manku 37774d1e1c Character Pose Mapper attempts 2025-01-31 15:50:41 -08:00
Tanish Manku 7298d0f0ec Update case for "bundler" in tsconfig 2025-01-23 22:43:40 -08:00
Tanish Manku 0e45586b1c Add mediapipe as dependency 2025-01-23 22:43:24 -08:00
Tanish Manku e4dc69cda7 Update CharacterFrameButtons to use the pose helper 2025-01-23 22:43:04 -08:00
Tanish Manku ae18302dae Add a "isCharacter" userdata field to 3JS models for future 2025-01-23 22:42:19 -08:00
Tanish Manku 9ea0bb94ad Write a WIP CharacterPoseHelper 2025-01-23 22:41:53 -08:00
Tanish Manku cb01bde1ea Clean up uploadImage.ts 2025-01-23 22:41:44 -08:00
Tanish Manku 69819101ea Add an ImageHelper for promise conversion 2025-01-23 22:41:37 -08:00
Tanish Manku 39546b0899 Implement Ijson on CharacterAnimationEngine 2025-01-22 21:27:02 -08:00
Tanish Manku 1f6f70b93e Fix drag component height in timeline 2025-01-15 21:36:41 -08:00
Tanish Manku 33dd854010 Add minimum animation duration and override new animation creation 2025-01-10 00:44:59 -08:00
Tanish Manku 51d5015635 Fix drag-n-drop position after drop 2025-01-10 00:44:16 -08:00
Tanish Manku a4ade76803 Fix drag-n-drop preview size 2025-01-10 00:43:54 -08:00
Tanish Manku dd8fe9b30c TrackClip: Fix label widths 2025-01-09 23:47:57 -08:00
Tanish Manku daebc158f6 Frame buttons: Show preview and add deletion function 2025-01-09 21:13:14 -08:00
Tanish Manku cc51b45e0d Frame buttons: Use image upload modal 2025-01-09 16:05:01 -08:00
Tanish Manku 503b739448 Add data field to uploader state
Will be used upon success possibly for token storage
2025-01-09 16:04:40 -08:00
Tanish Manku 4e0b2d6aa2 Add uploader states for image upload modal 2025-01-09 16:03:47 -08:00
Tanish Manku b5dedb81e5 Add upload modal for image that uses only the image endpoint 2025-01-09 16:03:24 -08:00
Tanish Manku c91e027aa1 Upload API: Fix intermediate file enum conversion 2025-01-09 16:03:00 -08:00
Tanish Manku 582ea811fb Add frame button color to tailwind config 2025-01-07 17:27:56 -08:00
Tanish Manku 0389a98a6a Fix tabList import error 2025-01-07 17:27:41 -08:00
Tanish Manku 94a102caee Add start/end frame buttons and shift timeline
+ Adjust other UI layout accordingly
2025-01-07 17:27:28 -08:00
Tanish Manku 8698c96cf2 Create enum for character frame file types 2025-01-07 17:25:57 -08:00
Tanish Manku ebe88211db Use enum for intermediate file argument 2025-01-07 17:25:39 -08:00
Tanish Manku 594c2ea5e5 Create ButtonIconStack from frame buttons 2025-01-07 17:25:14 -08:00
Tanish Manku 96213b0c3f Scrubber: Position properly on the ruler (frame-adjusted) 2025-01-04 18:02:21 -08:00