My 2022(/2) resolutions

I’m writing here just to not forget my coding goals:

Code cleanup: easier maintenance for the future

  1. move ETL to synfig-core (WIP #2686 #2699 #2704 #2705 #2706 #2707 #2709 #2708 #2711 #2713#2715 #2718 #2733 #2735 #2773 #2710 #2791 -more to be done-)
  2. create os::pipe (WIP #2491 ← waiting for testing on Windows and MacOS and code review)
  3. port synfig studio to Gtk 3.18 without deprecated API (WIP)
  4. port remaining layers to Cobra Renderer engine (WIP 2362 #2551 #2562 -more to be done-)

Precious features: do not curse Synfig that much when starting to learning it

  1. create Tool Selection
  2. create dialog to let user fix missing files (WIP #2472 ← missing review -more to be done-)

Add-ons: making it easier for new contributors

  1. provide support for (real) Synfig Studio modules
  2. provide Python & Lua API for modules/plugins scripting

Why not?

  1. copy and paste not only layers, but also value nodes and values; and not only in-app

Dreams: because we don’t have enough time or patience

  1. fix or change skeleton code…
  2. bring OpenGL back (Vulkan would be more than a dream…)
  3. Make Brush tool work
  4. Make it available on Android

Never: because I don’t have any idea how to do it

  1. Allow canvas instancing that would allow to override parameters, current time and include more layers, without affecting other instances
  2. Boolean operation on (any) shapes
11 Likes

I have to say this sounds really interesting :), would probably be difficult in the sense that it would take a long time, but if that’s ever started I’d be totally down to help with it.

Directly on Android it seems difficult, unless…

It would be easier to develop directly a specific app which would handle .sif files instead.
And better on a tablet than on a phone, with a Bluetooth mouse, because of usability, ouch…

This is more realistic and would make miracles!
I did some tests on my side with pybind11, starting from studio::App class but no matter what I tried it failed.
The type of the singleton returned by the Instance() is not the same type as the private App() constructor… :crazy_face:
We definitely need scripting features…

1 Like

Yes. My (future) intention is to use libsynfig and libsynfigapp with a new Android GUI app.
Tablets, of course. Phone would be too much limited IMO.

I already did some successful tests a year ago, with SWIG, that allow us to provide multiple languages, if wanted. But I prefer to cleanup some stuff before doing it, in order to provide an API relatively stable.

2 Likes

So maybe we could use Qt for the Android version.

Something else that could be nice is to provide an OSC compability once the api would be available.
This could permit to use a phone or a tablet as a provider of touch control for the parameters in Synfig.
There are configurable GUI possibilities with OpenStageControl for example or even with external input with PureData.
One click on a layer/parameter and a slider, color selector, switch appearing on the companion phone/tablet.

Also instead of using right-click and a cascade of sub-menus, a circular menu in the style of Fly-Pie could be more intuitive for productivity.

Yes, I am a dreamer :stuck_out_tongue:

1 Like

I’m not a fan of Qt. It’s a Java wanna be (in API/code style) aaand I always fear that happens what recently happened with Java.
Anyway, if someone wants to, good for Synfig users :slight_smile:

If we have a UI/UX designer… That’s not difficult to implement.

Reporting current status:

Code cleanup: easier maintenance for the future

  1. move ETL to synfig-core (WIP #2686 #2699 #2704 #2705 #2706 #2707 #2709 #2708 #2711 #2713#2715 #2718 #2733 #2735 #2773 #2791 #2808 #2840 #2848 #2854 #2870 #2871 #2873 #2874 #2881 #2888 #2889 #2890 #2910 #2922 #2924 #2925 #2949 #2710 ← missing review -a few more to be done-)
  2. create os::pipe (DONE #2491)
  3. port synfig studio to Gtk 3.18 without deprecated API (WIP #2935 #2942 #2947 #2948 #2975 #2978 #2979 #2982 #2983 #2985← missing review -more being doing-)
  4. port remaining layers to Cobra Renderer engine (WIP 2362 #2551 #2562 ← missing review -more to be done-)

Precious features: do not curse Synfig that much when starting to learning it

  1. create Tool Selection (I’ll propose it as a GSoC project for 2023)
  2. create dialog to let user fix missing files (WIP #2472 #2904 #2905 #2936 -more being doing-)

(edited on 2023-01-16)

5 Likes

Fantastic work you accomplished this year! Hooray!!!

Cheering you on for the coming year 2023 :slight_smile:

3 Likes

After a long break due to real life, here I am with a doubt (somehow related to item #6) :

What is the best way to show an external resource file is missing? And how to allow a replacement to all references?

Here below is what I am currently testing. The bottom half (labeled as “External Resources”) has two different ways. The first one is a small adaptation of the current appearance of Canvas Dependencies dialog: I added an Open button and a Status icon.
Below is another proposal.
image

Any comments are welcome (but may be be ignored XD)

1 Like

IMO I think the bottom one looks easier/more Intuitive to use.

Yes, the last one looks more natural to me as well.

1 Like