Skip to content

Design specification for "SB3" #194

Closed
scratchfoundation/scratch-parser
#32
@thisandagain

Description

@thisandagain

Serialization Requirements

  • Serialization format must represent the program
  • Serialization format must represent the program's current state (backgrounds, variables / lists, sprites, etc.)
  • Serialization format must be able to be packaged along side assets (sounds, images, etc.)
  • Serialization format should use space efficiently
    • Compression
    • Duplication (see "lists" issue in SB2)
    • Representation (balance with "readability"?)
  • Serialization format should be able to be strongly validated (JSON schema)

Package Requirements

  • Package format must include all information needed to replicate and execute the program without an internet connection. Possible exceptions:
    • Cloud Variables
    • Extensions
  • Package format should use space efficiently

Considerations / Questions

  • How do we represent Scratch extensions (e.g. SB2)?
  • How do we ensure that the addition of new blocks / functionality in the future can be easily accommodated (flexibility)?
  • How do we accommodate SB3 files in our projects / asset infrastructure?
  • How do we handle issues of backwards compatibility?
    • SB2 -> SB3 conversion
    • SB3 files should throw a friendly error message to Scratch < 3.0 clients

Related

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions