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 Manku and bflatastic
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 Manku and Tanish 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 Manku and Tanish Manku
d3e1d7fab9
Fix api lib (ApiManager) imports ( #552 )
...
Co-authored-by: Tanish Manku <-h>
2025-04-24 00:10:55 -07:00
Tanish Manku and Tanish 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 Manku and Tanish 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