Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pre PR discussion - adding image import support to the asset editor #9892

Open
talkol opened this issue Feb 28, 2024 · 3 comments
Open

Pre PR discussion - adding image import support to the asset editor #9892

talkol opened this issue Feb 28, 2024 · 3 comments

Comments

@talkol
Copy link

talkol commented Feb 28, 2024

I opened this issue originally in pxt-arcade repo but after analyzing the codebase it looks like the PR needs to be in this repo


I want to work on a PR for this feature. Before I start working on it, I want to verify with the team that the feature is welcome.

Is your feature request related to a problem? Please describe.
Importing an external image file to the editor is currently cumbersome. The best current alternative is https://github.com/riknoll/pxt-arcade-asset-tool which is great but a bit complicated for children to use.

Describe the solution you'd like
I want the image editor in Make Code arcade to have easy support for importing images from local files.

Describe alternatives you've considered
The alternative I considered appears in https://arcade.makecode.com/developer/images under the section "Importing custom art and palettes". As a tech savvy person I could make it work, but children I helped struggled with this method.

Additional context
The feature I want to add will be under the image editor (Create New Asset - Image). The current pixel image editor has two top tabs - "Editor" and "Gallery". I want to add a third option named "Import". If someone clicks on "Import", they would see a dialog that allows them to upload/drag a local image file (JPG, PNG, etc). They would be able to select a new image size post import - since most external images are too big for Make Code's resolution. The aspect ratio would be taken from the uploaded image and maintained, so if the user changes with to "160px" (Make Code screen width), the height would be adjusted automatically.

Once the user confirms the import, the image would be resized and the number of colors reduced to match the default Make Code palette. The user would be returned to the "Editor" tab, with the resized image pixels visible on screen. The flow is very similar to choosing an image from the "Gallery" tab.

@riknoll - as a member of the team and the creator of pxt-arcade-asset-tool, I will appreciate your feedback before I start working on this feature.

@Jaqster
Copy link
Member

Jaqster commented Feb 28, 2024

Hi @talkol - I will chime in here. One of the main reasons we didn't want to go down this path is for child safety. Currently, we only scan content when a project is shared - and even then we don't scan images. When we open the gates for 3rd party media uploads, we need to be very careful to put in place content scanning and review filters. It's a big chunk of work. Also, slightly less of a reason, but something we've talked about, is that we want to encourage children to be creative in MakeCode and author their own art/music/etc. Happy to have a further discussion on this topic, but wanted to give you the background context and our reasoning behind not offering this capability.

@juliekol
Copy link

I understand the concern about child safety, but if somebody wanted to doodle an obscene picture, they still can. Moreover, the image importer https://github.com/riknoll/pxt-arcade-asset-tool allows adding custom images to games as well, so anyone set on creating abusive content would find a way.

Sharing a game has the "report inappropriate" functionality which helps mitigate these issues.

I still think preventing image upload is not the way to go. It's like preventing Google Slides or Powerpoint from uploading images for the fear that children may upload an abusive image for a presentation they make for school. Censorship is not the answer.

Almost all game makers, https://scratch.mit.edu included, have this functionality built in. This creates a glass ceiling pushing young developers away from MakeCode when they want to incorporate a bit nicer graphics.

@snowyu
Copy link

snowyu commented Jul 23, 2024

And it is also difficult to reuse image resources from other makecode projects.

What you should learn here is programming, not wasting too much time on drawing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants