├── .git-blame-ignore-revs ├── .github ├── dco.yml └── workflows │ ├── adhoc_build.yml │ ├── pull_request.yml │ └── release.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── mypy.ini ├── pyproject.toml ├── scripts ├── compare_sketch.sh ├── install_patched_orjson.sh ├── migrate_compare_sketch.sh ├── orjson.patch └── prepare_fig.sh ├── src ├── converter │ ├── __init__.py │ ├── base.py │ ├── component.py │ ├── config.py │ ├── context.py │ ├── convert.py │ ├── document.py │ ├── errors.py │ ├── font.py │ ├── font_features.py │ ├── frame.py │ ├── group.py │ ├── instance.py │ ├── layout.py │ ├── meta.py │ ├── page.py │ ├── positioning.py │ ├── prototype.py │ ├── rectangle.py │ ├── shape.py │ ├── shape_group.py │ ├── shape_path.py │ ├── slice.py │ ├── style.py │ ├── symbol.py │ ├── text.py │ ├── tree.py │ ├── user.py │ └── utils.py ├── fig2sketch.py ├── figformat │ ├── __init__.py │ ├── decodefig.py │ ├── fig2tree.py │ ├── kiwi.py │ └── vector_network.py └── sketchformat │ ├── __init__.py │ ├── common.py │ ├── document.py │ ├── layer_common.py │ ├── layer_group.py │ ├── layer_shape.py │ ├── prototype.py │ ├── serialize │ ├── __init__.py │ ├── json.py │ └── orjson.py │ ├── style.py │ └── text.py └── tests ├── __init__.py ├── converter ├── __init__.py ├── base.py ├── test_base.py ├── test_frame.py ├── test_group.py ├── test_image.py ├── test_instance.py ├── test_layout.py ├── test_positioning.py ├── test_prototype.py ├── test_rectangle.py ├── test_shape_path.py ├── test_style.py ├── test_symbol.py ├── test_text.py └── test_user.py ├── data ├── broken_images.fig ├── structure.fig └── vector.fig ├── figformat ├── __init__.py ├── test_kiwi.py └── test_vector_network.py └── integration ├── __init__.py └── test_structure.py /.git-blame-ignore-revs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/.git-blame-ignore-revs -------------------------------------------------------------------------------- /.github/dco.yml: -------------------------------------------------------------------------------- 1 | require: 2 | members: false -------------------------------------------------------------------------------- /.github/workflows/adhoc_build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/.github/workflows/adhoc_build.yml -------------------------------------------------------------------------------- /.github/workflows/pull_request.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/.github/workflows/pull_request.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/.gitignore -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/README.md -------------------------------------------------------------------------------- /mypy.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/mypy.ini -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/pyproject.toml -------------------------------------------------------------------------------- /scripts/compare_sketch.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/scripts/compare_sketch.sh -------------------------------------------------------------------------------- /scripts/install_patched_orjson.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/scripts/install_patched_orjson.sh -------------------------------------------------------------------------------- /scripts/migrate_compare_sketch.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/scripts/migrate_compare_sketch.sh -------------------------------------------------------------------------------- /scripts/orjson.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/scripts/orjson.patch -------------------------------------------------------------------------------- /scripts/prepare_fig.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/scripts/prepare_fig.sh -------------------------------------------------------------------------------- /src/converter/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/converter/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/base.py -------------------------------------------------------------------------------- /src/converter/component.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/component.py -------------------------------------------------------------------------------- /src/converter/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/config.py -------------------------------------------------------------------------------- /src/converter/context.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/context.py -------------------------------------------------------------------------------- /src/converter/convert.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/convert.py -------------------------------------------------------------------------------- /src/converter/document.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/document.py -------------------------------------------------------------------------------- /src/converter/errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/errors.py -------------------------------------------------------------------------------- /src/converter/font.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/font.py -------------------------------------------------------------------------------- /src/converter/font_features.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/font_features.py -------------------------------------------------------------------------------- /src/converter/frame.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/frame.py -------------------------------------------------------------------------------- /src/converter/group.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/group.py -------------------------------------------------------------------------------- /src/converter/instance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/instance.py -------------------------------------------------------------------------------- /src/converter/layout.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/layout.py -------------------------------------------------------------------------------- /src/converter/meta.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/meta.py -------------------------------------------------------------------------------- /src/converter/page.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/page.py -------------------------------------------------------------------------------- /src/converter/positioning.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/positioning.py -------------------------------------------------------------------------------- /src/converter/prototype.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/prototype.py -------------------------------------------------------------------------------- /src/converter/rectangle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/rectangle.py -------------------------------------------------------------------------------- /src/converter/shape.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/shape.py -------------------------------------------------------------------------------- /src/converter/shape_group.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/shape_group.py -------------------------------------------------------------------------------- /src/converter/shape_path.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/shape_path.py -------------------------------------------------------------------------------- /src/converter/slice.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/slice.py -------------------------------------------------------------------------------- /src/converter/style.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/style.py -------------------------------------------------------------------------------- /src/converter/symbol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/symbol.py -------------------------------------------------------------------------------- /src/converter/text.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/text.py -------------------------------------------------------------------------------- /src/converter/tree.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/tree.py -------------------------------------------------------------------------------- /src/converter/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/user.py -------------------------------------------------------------------------------- /src/converter/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/converter/utils.py -------------------------------------------------------------------------------- /src/fig2sketch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/fig2sketch.py -------------------------------------------------------------------------------- /src/figformat/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/figformat/decodefig.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/figformat/decodefig.py -------------------------------------------------------------------------------- /src/figformat/fig2tree.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/figformat/fig2tree.py -------------------------------------------------------------------------------- /src/figformat/kiwi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/figformat/kiwi.py -------------------------------------------------------------------------------- /src/figformat/vector_network.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/figformat/vector_network.py -------------------------------------------------------------------------------- /src/sketchformat/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/sketchformat/common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/sketchformat/common.py -------------------------------------------------------------------------------- /src/sketchformat/document.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/sketchformat/document.py -------------------------------------------------------------------------------- /src/sketchformat/layer_common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/sketchformat/layer_common.py -------------------------------------------------------------------------------- /src/sketchformat/layer_group.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/sketchformat/layer_group.py -------------------------------------------------------------------------------- /src/sketchformat/layer_shape.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/sketchformat/layer_shape.py -------------------------------------------------------------------------------- /src/sketchformat/prototype.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/sketchformat/prototype.py -------------------------------------------------------------------------------- /src/sketchformat/serialize/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/sketchformat/serialize/__init__.py -------------------------------------------------------------------------------- /src/sketchformat/serialize/json.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/sketchformat/serialize/json.py -------------------------------------------------------------------------------- /src/sketchformat/serialize/orjson.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/sketchformat/serialize/orjson.py -------------------------------------------------------------------------------- /src/sketchformat/style.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/sketchformat/style.py -------------------------------------------------------------------------------- /src/sketchformat/text.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/src/sketchformat/text.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/converter/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/converter/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/converter/base.py -------------------------------------------------------------------------------- /tests/converter/test_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/converter/test_base.py -------------------------------------------------------------------------------- /tests/converter/test_frame.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/converter/test_frame.py -------------------------------------------------------------------------------- /tests/converter/test_group.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/converter/test_group.py -------------------------------------------------------------------------------- /tests/converter/test_image.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/converter/test_image.py -------------------------------------------------------------------------------- /tests/converter/test_instance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/converter/test_instance.py -------------------------------------------------------------------------------- /tests/converter/test_layout.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/converter/test_layout.py -------------------------------------------------------------------------------- /tests/converter/test_positioning.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/converter/test_positioning.py -------------------------------------------------------------------------------- /tests/converter/test_prototype.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/converter/test_prototype.py -------------------------------------------------------------------------------- /tests/converter/test_rectangle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/converter/test_rectangle.py -------------------------------------------------------------------------------- /tests/converter/test_shape_path.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/converter/test_shape_path.py -------------------------------------------------------------------------------- /tests/converter/test_style.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/converter/test_style.py -------------------------------------------------------------------------------- /tests/converter/test_symbol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/converter/test_symbol.py -------------------------------------------------------------------------------- /tests/converter/test_text.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/converter/test_text.py -------------------------------------------------------------------------------- /tests/converter/test_user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/converter/test_user.py -------------------------------------------------------------------------------- /tests/data/broken_images.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/data/broken_images.fig -------------------------------------------------------------------------------- /tests/data/structure.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/data/structure.fig -------------------------------------------------------------------------------- /tests/data/vector.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/data/vector.fig -------------------------------------------------------------------------------- /tests/figformat/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/figformat/test_kiwi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/figformat/test_kiwi.py -------------------------------------------------------------------------------- /tests/figformat/test_vector_network.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/figformat/test_vector_network.py -------------------------------------------------------------------------------- /tests/integration/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration/test_structure.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sketch-hq/fig2sketch/HEAD/tests/integration/test_structure.py --------------------------------------------------------------------------------