Update Logs
If something in Roadmap is finished, or I fixed some bugs/implemented some new features/wrote some Wiki, I'll put them here.
2023-07-09
- Supported
condition(c4d3d92).
2023-07-02
- Implemented
replaceAllmanually, for better compatibility ([0e87296]https://github.com/carefree0910/carefree-drawboard/commit/0e8729675e4ea4dd35442c802ba202d4ebd3722b). - Enhanced
MetaPlugin(9ab56c8). - Supported
minW,minH,maxW,maxH(2731144). - Enhanced
ColorPicker(b31893a, f73d981, 72c811e).
2023-06-25
- Introduced
image_grouptemplate (5433f5d). - Supported specifying
expandPivot(a49b6eb). - Supported recognizing
pivotwhenuseModal(c27673d). - Supported using ratio (e.g.,
0.8) forw&h(cea22f5).
2023-06-18
- Supported
custom_embeddingsfor the Live Demo (eea5e24). - We'll now use
sqliteto manage projects (cf0cf3e). - Fixed & Enhanced
workflowstuffs for the Live Demo (c1d4cbd, 4cbb002, etc.).
2023-06-11
- Documentation is now available!
- Now trace stack will be logged when exception (bbdb810).
Which is extremely useful for debugging.
- Implemented
workflowstuffs for the Live Demo (260f7c7, 20cf989, 9772184, etc.). - Allowed
Noneresponse (f905b34).This is useful when we detect exceptions during
processand decide to manuallysend_exception. In which case, we can returnNoneat theprocessmethod, and the frontend will only toast the exception message without doing anything else. - Enhanced
TextField(a35fe10).Now we can select a
TextNodeas the binding of theTextField, in which case the Injections will be maintained automatically.
2023-06-04
- Simplified
MetaPlugin(8710160). - Optimized rendering of
Floating(2b25baa).This is a significant and important optimization, which makes sure that the rendering stay smooth even tens of plugins are used.
- Supported
no_offload(8cb2fc8). - Supported specifying
requirements.txt(3cd9b39). - Supported hot-reloading options of
I18NSelectField(201b3bc).
2023-05-28
- Supported adding
frame(056e006). - Supported
keepOpen(8272f26), which can let certain plugins stay expanded even if we click on the drawboard 🎨. - Bundled some icons to boost loading speed.
- Enhanced styles of
CFSelect&CFTextarea, to make them more consistent with other components. - Allowed to load the page after timeout (d01041b).
- Unified
CFFormLabel(d2a8f8d). - Supported
ImageField(8555c33, 75a5c11). - Implemented
I18NSelectField(ddde4d8). - Implemented
BasicEditorPlugin(1cae642).Now we can adjust
x,y,w,hof the selectedNodeelegantly.
2023-05-21
- Improved accessibility, now we can use runtime environment variables, so deployment will be much easier.
Beware that these variables shoud NOT contain any sensitive information, since they will be exposed to the frontend!
- Supported
IListField(392c027). - Supported editing text color in
TextEditor(010d7e5). - Supported editing the text align in the
TextEditor(6e3e7b0). - Supported 'input & search' in
SelectField(6d6073d). - Fixed project management system with
FileLock(97ca37d and some following commits). - Supported
I18NinISelectField(607fef4). - Implemented
PythonMarkdownPlugin(d33e097).As the name indicates, it can show a piece of markdown sent from the backend.
- Implemented
ShortcutsPlugin(5fef73b).Now there will be a bulb at the
lb(left bottom) corner of the drawboard. After you click it, you can see most of the shortcuts.
2023-05-14
- Implemented
ISelectLocalField(102a887). - Extracted some common settings to the env (see Environment Variables for more details).
- Wrote Design Details of the plugin system.
- Supported
requirements¬ification(b295e03). - Improved accessibility, now the
--unifiedmode can let you deploycarefree-drawboard🎨 to your own server with zero modifications. - Improved user experience by hiding plugins when users:
- clicked on the drawboard 🎨.
- pressed the
Esckey.
2023-05-07
- Supported
PluginGroup(which is also a plugin), so we can manage plugins better (605eabd). - Introduced
nodeConstraintRulessystem (ecaf5fd). - Supported socket-based constraints (i.e., send socket message to the backend to see if we should show the plugin or not) (8dd450b).
This serves as a universal fallback.
- Replaced some events with mobx store, which improves the performance/maintainability quite a lot.
- Implemented
cfdraw buildCLI, which can be used to build the frontend assets. - Supported
extra_responses.So we can deliver some extra data to the frontend.
- Implemented
send_exception.So we can send exceptions to the frontend more easily.
- Optimized the positioning system (a6e8501 and some commits around it).
- Supported
i18nstuffs at backend side (e3c8ce4).So we can specify the
label,tooltip, and (almost) any other messages in an internationalized way at backend side (e.g.,Python). - Implemented a (simple)
ChatPlugin(cbe5911). - Unified
useOnMessage(f2dd7cf), so now implementing new plugins will be much easier and much less error-prone. - Implemented the
carefree-creatorexample.And therefore launched the first public available, production ready, AI magics powered drawboard 🎨 (click here to try it out).
- Supported adding blank canvas.
Which is essential for techniques such as
outpainting. - Implemented
ISelectLocalField(102a887).
2023-04-30
- Some nice
CircularProgressare introduced atpendingstatus &workingstatus (6899641). - Internal plugins (e.g.,
sync) can now bypass theRequestQueueand be executed immediately (5f60042). - Introduced
ElapsedTimessystem (ceab3d4). - Supported
tooltipfor plugins (ae5d114). - Upgraded general styles (c544865, a6e6f38).
- Fixed known issue: interactions on the drawboard 🎨 will be interrupted if the mouse slipped pass any plugin (be1b433).
- Supported specifying more settings via backend (i.e.,
Python) (c4853b2). - Some meta data will now be injected to the
PNGimages processed by the drawboard 🎨 (cec4195, 5cfb178). - Introduced authentication system (now will only check for
userId). - Introduced loading page (2029161).
- Supported deleting projects (56edbe5).
- Introduced Auto Save.
- Supported guarding the loading page until target resources are loaded (See Loading Page for more details).
- Supported icon loading animation (1a16b2d).
- Supported specifying
numRows(815409f).So we can make some fields (typically, the
ITextField) larger, which may provide better user experience. - Supported
IBooleanField&ISelectField(2cd8c95, 0c28ff3).
2023-04-23
- Hosting is now supported.
- Google Colab example is now provided.
- Tornado integration is now supported.
- Removed
tornadostuffs and replaced them withFastAPI.Rapid changes, huh?
httpstuffs are deprecated,socketstuffs are ready.RequestQueueis implemented (pretty nicely).
2023-04-16
- Implemented
SyncSocketPlugin&useSyncPython(4c06392).- Now we can send Definitions & Settings from
PythontoReactvia WebSocket instead of file system. - This also ease the migration from
Pythonto other programming languages, because all communications between frontend and backend are now based on a static set of APIs (see Extensibility for more details).
- Now we can send Definitions & Settings from
- Somehow wrote a brief guide on how to write plugins in other programming languages (the Extensibility section).
- Supported
Hide All/Show Allplugins (516b0f3).