Skip to content

CLI: scratchblocks output #131

@towerofnix

Description

@towerofnix

Following #129, we should be able to export to the other formats sb-edit has complete or partial support for.

Some notes:

  • scratchblocks conversion (Scratchblocks Export #15) does support exporting every sprite at once, though it discards / ignores assets like costumes, sounds, initial sprite position/state, etc. But that's OK, since scratchblocks isn't a programming language (boo hoo).
    • Again, since it's not a programming language, we don't have precedent for a specific format to represent the entire project at once by. The interface outputs a mapping of target name to string including all its scripts. It's not the interface's job to make a call on what to do with the output; the CLI needs to choose an output structure.
    • Any output structure will work; personally, we'd just put all the results in a folder and write a txt for each target, containing exactly the string output by toScratchblocks.
  • There's no standard file extension for scratchblocks (spoilers: .sb is used by Scratch 1.4 projects) so we can never infer this output type; it's up to the user to specify -ot scratchblocks / --output-type scratchblocks. Otherwise we'll just export the default (when to a folder), which is leopard.
  • We don't really need to support .zip output for scratchblocks, but it would be nice, because leopard-zip and sb3 are both already portable / easy-to-share output types.
    • The CLI uses JSZip for zipping Leopard output (it's certainly not part of toLeopard's own behavior). There's not really any logic to factor out here since we're skipping costume/sound output and JSZip's own interface is pretty dead simple.

Metadata

Metadata

Assignees

No one assigned

    Labels

    command-lineFeatures or improvements for sb-edit CLIfmt: scratchblocksPertains to scratchblocks format (forum BBCode)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions