diff --git a/.env.development b/.env.development
index 846bc9cf8..a11d6864c 100644
--- a/.env.development
+++ b/.env.development
@@ -6,7 +6,7 @@ DATABASE_PASSWORD=password
DATABASE_NAME=r_solutions_development
DATABASE_PORT=5432
REDIS_URL=redis://solutions_redis:6379/12
-APP_HOST=localhost
+APP_HOST=localhost:5250
RECAPTCHA_SITE_KEY=foocvi0PSRc_AyhjP7jcN
RECAPTCHA_SECRET_KEY=bar8saabKym-6u5KGh
VIOLET_SERVICE_TIMEOUT=500
diff --git a/app/controllers/comfy/admin/sales_collateral_controller.rb b/app/controllers/comfy/admin/sales_collateral_controller.rb
index 3f92711f2..d13fef443 100644
--- a/app/controllers/comfy/admin/sales_collateral_controller.rb
+++ b/app/controllers/comfy/admin/sales_collateral_controller.rb
@@ -10,4 +10,10 @@ def dashboard
@website = host
@email = email_resolved_for_apex
end
+
+ def generate
+ subdomain = Subdomain.current
+ subdomain.generate_default_sales_assets
+ redirect_to sales_collateral_path
+ end
end
\ No newline at end of file
diff --git a/app/models/comfy/cms/page.rb b/app/models/comfy/cms/page.rb
new file mode 100644
index 000000000..ef9896344
--- /dev/null
+++ b/app/models/comfy/cms/page.rb
@@ -0,0 +1,175 @@
+# frozen_string_literal: true
+
+class Comfy::Cms::Page < ActiveRecord::Base
+
+ self.table_name = "comfy_cms_pages"
+
+ include Comfy::Cms::WithFragments
+ include Comfy::Cms::WithCategories
+
+ cms_acts_as_tree counter_cache: :children_count, order: :position
+ cms_has_revisions_for :fragments_attributes
+
+ attr_accessor :content
+
+ # -- Relationships -----------------------------------------------------------
+ belongs_to :site
+ belongs_to :target_page,
+ class_name: "Comfy::Cms::Page",
+ optional: true
+
+ has_many :translations,
+ dependent: :destroy
+
+ # -- Callbacks ---------------------------------------------------------------
+ before_validation :assigns_label,
+ :assign_parent,
+ :escape_slug,
+ :assign_full_path
+ before_create :assign_position
+ after_save :sync_child_full_paths!
+ after_find :unescape_slug_and_path
+
+ # -- Validations -------------------------------------------------------------
+ validates :label,
+ presence: true
+ validates :slug,
+ presence: true,
+ uniqueness: { scope: :parent_id },
+ unless: ->(p) {
+ p.site && (p.site.pages.count.zero? || p.site.pages.root == self)
+ }
+ validate :validate_target_page
+ validate :validate_format_of_unescaped_slug
+
+ # -- Scopes ------------------------------------------------------------------
+ scope :published, -> { where(is_published: true) }
+
+ # -- Violet customizations ------
+ has_one_attached :og_image
+ has_one_attached :story_post
+ has_one_attached :landscape_post
+
+ # -- Class Methods -----------------------------------------------------------
+ # Tree-like structure for pages
+ def self.options_for_select(site:, current_page: nil, exclude_self: false)
+ options = []
+
+ options_for_page = ->(page, depth = 0) do
+ return if page.nil?
+ return if exclude_self && page == current_page
+
+ options << ["#{'. . ' * depth}#{page.label}", page.id]
+
+ page.children.order(:position).each do |child_page|
+ options_for_page.call(child_page, depth + 1)
+ end
+ end
+
+ options_for_page.call(site.pages.root)
+
+ options
+ end
+
+ # -- Instance Methods --------------------------------------------------------
+ # For previewing purposes sometimes we need to have full_path set. This
+ # full path take care of the pages and its childs but not of the site path
+ def full_path
+ read_attribute(:full_path) || assign_full_path
+ end
+
+ # Somewhat unique method of identifying a page that is not a full_path
+ def identifier
+ parent_id.blank? ? "index" : full_path[1..-1].parameterize
+ end
+
+ # Full url for a page
+ def url(relative: false)
+ [site.url(relative: relative), full_path].compact.join
+ end
+
+ # This method will mutate page object by transfering attributes from translation
+ # for a given locale.
+ def translate!
+ # If site locale same as page's or there's no translastions, we do nothing
+ if site.locale == I18n.locale.to_s || translations.blank?
+ return
+ end
+
+ translation = translations.published.find_by!(locale: I18n.locale)
+ self.layout = translation.layout
+ self.label = translation.label
+ self.content_cache = translation.content_cache
+
+ # We can't just assign fragments as it's a relation and will write to DB
+ # This has odd side-effect of preserving page's fragments and just replacing
+ # them from the translation. Not an issue if all fragments match.
+ self.fragments_attributes = translation.fragments_attributes
+ readonly!
+
+ self
+ end
+
+protected
+
+ def assigns_label
+ self.label = label.blank? ? slug.try(:titleize) : label
+ end
+
+ def assign_parent
+ return unless site
+ self.parent ||= site.pages.root unless self == site.pages.root || site.pages.count.zero?
+ end
+
+ def assign_full_path
+ self.full_path =
+ if self.parent
+ [CGI.escape(self.parent.full_path).gsub("%2F", "/"), slug].join("/").squeeze("/")
+ else
+ "/"
+ end
+ end
+
+ def assign_position
+ return unless self.parent
+ return if position.to_i.positive?
+ max = self.parent.children.maximum(:position)
+ self.position = max ? max + 1 : 0
+ end
+
+ def validate_target_page
+ return unless target_page
+ p = self
+ while p.target_page
+ if (p = p.target_page) == self
+ return errors.add(:target_page_id, "Invalid Redirect")
+ end
+ end
+ end
+
+ def validate_format_of_unescaped_slug
+ return unless slug.present?
+ unescaped_slug = CGI.unescape(slug)
+ errors.add(:slug, :invalid) unless unescaped_slug =~ %r{^\p{Alnum}[\.\p{Alnum}\p{Mark}_-]*$}i
+ end
+
+ # Forcing re-saves for child pages so they can update full_paths
+ def sync_child_full_paths!
+ return unless full_path_previously_changed?
+ children.each do |p|
+ p.update_attribute(:full_path, p.send(:assign_full_path))
+ end
+ end
+
+ # Escape slug unless it's nonexistent (root)
+ def escape_slug
+ self.slug = CGI.escape(slug) unless slug.nil?
+ end
+
+ # Unescape the slug and full path back into their original forms unless they're nonexistent
+ def unescape_slug_and_path
+ self.slug = CGI.unescape(slug) unless slug.nil?
+ self.full_path = CGI.unescape(full_path) unless full_path.nil?
+ end
+
+end
\ No newline at end of file
diff --git a/app/models/subdomain.rb b/app/models/subdomain.rb
index 74690fe8e..0371a1bee 100755
--- a/app/models/subdomain.rb
+++ b/app/models/subdomain.rb
@@ -14,6 +14,11 @@ class Subdomain < ApplicationRecord
has_one_attached :favicon
has_one_attached :og_image
has_one_attached :qr_code
+ has_one_attached :story_post
+ has_one_attached :landscape_post
+ has_one_attached :square_post
+
+
has_rich_text :email_signature
@@ -219,6 +224,73 @@ def puppeteer_capture
end
end
+ def generate_default_sales_assets
+ # Get the host
+ subdomain = Apartment::Tenant.current
+ subdomain_resolved_for_apex = subdomain == 'public' || subdomain == 'root' ? "http://#{ENV['APP_HOST']}" : "http://#{subdomain}.#{ENV['APP_HOST']}"
+ url = subdomain_resolved_for_apex
+ Puppeteer.launch(headless: true, args: ['--no-sandbox', '--headless', '--disable-gpu', '--disable-dev-shm-usage']) do |browser|
+ page = browser.new_page
+ page.goto(url)
+ page.viewport = Puppeteer::Viewport.new(width: 1080, height: 1920)
+ screenshot_settings = {
+ type: 'jpeg',
+ quality: ENV["PUPPETEER_SCREENSHOT_QUALITY"] ? ENV["PUPPETEER_SCREENSHOT_QUALITY"].to_i : 50
+ }
+ # optioanlly remove Violet Cookie banner
+ dimensions = page.evaluate(<<~JAVASCRIPT)
+ () => {
+
+ // Source - https://stackoverflow.com/a
+ // Posted by Johan Dettmar, modified by community. See post 'Timeline' for change history
+ // Retrieved 2025-11-12, License - CC BY-SA 4.0
+
+ Element.prototype.remove = function() {
+ this.parentElement.removeChild(this);
+ }
+ NodeList.prototype.remove = HTMLCollection.prototype.remove = function() {
+ for(var i = this.length - 1; i >= 0; i--) {
+ if(this[i] && this[i].parentElement) {
+ this[i].parentElement.removeChild(this[i]);
+ }
+ }
+ }
+ document.getElementById("cookie-consent-wrapper").remove();
+ }
+ JAVASCRIPT
+
+ screenshot = page.screenshot(**screenshot_settings)
+ binary_output = screenshot
+ self.story_post.attach(
+ io: StringIO.new(binary_output),
+ filename: "story.jpeg",
+ content_type: "image/jpeg",
+ identify: false
+ )
+
+ page.viewport = Puppeteer::Viewport.new(width: 1920, height: 1080)
+ screenshot = page.screenshot(**screenshot_settings)
+ binary_output = screenshot
+ self.landscape_post.attach(
+ io: StringIO.new(binary_output),
+ filename: "landscape.jpeg",
+ content_type: "image/jpeg",
+ identify: false
+ )
+
+ page.viewport = Puppeteer::Viewport.new(width: 1080, height: 1080)
+ screenshot = page.screenshot(**screenshot_settings)
+ binary_output = screenshot
+ self.square_post.attach(
+ io: StringIO.new(binary_output),
+ filename: "square.jpeg",
+ content_type: "image/jpeg",
+ identify: false
+ )
+ browser.close
+ end
+ end
+
private
def change_2fa_setting
diff --git a/app/views/comfy/admin/sales_collateral/dashboard.html.haml b/app/views/comfy/admin/sales_collateral/dashboard.html.haml
index 90a3382bf..130e9b07d 100644
--- a/app/views/comfy/admin/sales_collateral/dashboard.html.haml
+++ b/app/views/comfy/admin/sales_collateral/dashboard.html.haml
@@ -2,7 +2,9 @@
.d-flex.my-2.justify-content-between.align-items-center
.h2.mb-0
Sales Collateral
- = link_to 'Sales Collateral Builder - coming soon', sales_collateral_path, role: 'button', class: 'btn btn-primary'
+ .d-flex
+ = link_to 'Sales Collateral Builder - coming soon', sales_collateral_path, role: 'button', class: 'btn btn-primary m-2'
+ = link_to 'Refresh', sales_collateral_generate_path, role: 'button', class: 'btn btn-secondary m-2'
.card
.card-header
@@ -72,6 +74,51 @@
.m-2
= image_tag(Subdomain.current.qr_code)
+
+
+.card.my-5
+ .card-header
+ %strong
+ Outbound
+ .card-body
+ %p.m-2
+ Apex
+ #accordion
+ .card
+ #headingOne.card-header
+ %h5.mb-0
+ %button.btn.btn-link{"aria-controls" => "collapseOne", "aria-expanded" => "false", "data-target" => "#collapseOne", "data-toggle" => "collapse"}
+ Square Post:
+ #collapseOne.collapse.show{"aria-labelledby" => "headingOne", "data-parent" => "#accordion"}
+ .card-body
+ .container
+ .img-fluid
+ = image_tag(Subdomain.current.square_post) if Subdomain.current.square_post.attached?
+ .card
+ #headingTwo.card-header
+ %h5.mb-0
+ %button.btn.btn-link.collapsed{"aria-controls" => "collapseTwo", "aria-expanded" => "false", "data-target" => "#collapseTwo", "data-toggle" => "collapse"}
+ Story Post:
+ #collapseTwo.collapse{"aria-labelledby" => "headingTwo", "data-parent" => "#accordion"}
+ .card-body
+ .container
+ .img-fluid
+ = image_tag(Subdomain.current.story_post) if Subdomain.current.story_post.attached?
+ .card
+ #headingThree.card-header
+ %h5.mb-0
+ %button.btn.btn-link.collapsed{"aria-controls" => "collapseThree", "aria-expanded" => "false", "data-target" => "#collapseThree", "data-toggle" => "collapse"}
+ Landscape Post:
+ #collapseThree.collapse{"aria-labelledby" => "headingThree", "data-parent" => "#accordion"}
+ .card-body
+ .container
+ .img-fluid
+ = image_tag(Subdomain.current.landscape_post) if Subdomain.current.landscape_post.attached?
+ %p.m-2
+ CMS Pages
+ - Comfy::Cms::Page.all.each do |page|
+ = page.full_path
+
.card.my-5
.card-header
%strong
diff --git a/config/routes.rb b/config/routes.rb
index ec83d3406..b972bb6e5 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -23,6 +23,8 @@ def self.matches?(request)
get 'v2/dashboard', to: 'comfy/admin/v2/dashboard#dashboard'
get 'sales_collateral', to: 'comfy/admin/sales_collateral#dashboard'
+ get 'sales_collateral/generate', to: 'comfy/admin/sales_collateral#generate'
+ get "/sales_collateral_builder", to: redirect("/motionity/src/index.html")
# video calling, lock down new/create actions-- and allow public show action
get 'rooms', to: 'comfy/admin/rooms#new'
diff --git a/public/motionity/.gitattributes b/public/motionity/.gitattributes
new file mode 100644
index 000000000..dfe077042
--- /dev/null
+++ b/public/motionity/.gitattributes
@@ -0,0 +1,2 @@
+# Auto detect text files and perform LF normalization
+* text=auto
diff --git a/public/motionity/LICENSE b/public/motionity/LICENSE
new file mode 100644
index 000000000..c7db196a0
--- /dev/null
+++ b/public/motionity/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 Alyssa X
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/public/motionity/README.md b/public/motionity/README.md
new file mode 100644
index 000000000..3669bd38b
--- /dev/null
+++ b/public/motionity/README.md
@@ -0,0 +1,32 @@
+# Motionity
+
+
+The web-based motion graphics editor for everyone 📽
+
+Motionity is a free and open source animation editor in the web. It's a mix of After Effects and Canva, with powerful features like keyframing, masking, filters, and more, and integrations to browse for assets to easily drag and drop into your video.
+
+👉 [Try it now](https://motionity.app) for free, or [read the guide in Notion](https://motionity.notion.site/Get-started-with-Motionity-bc2a2017670d4ec6a44d5ff760ca4656)
+
+
+
+> You can support this project (and many others) through [GitHub Sponsors](https://github.com/sponsors/alyssaxuu)! ❤️
+
+Made by [Alyssa X](https://twitter.com/alyssaxuu)
+
+## Features
+
+⚡️ Keyframing with custom easing
+🎚 Image and video filters (adjustments, blur, chroma key...)
+✂️ Trim and cut videos
+👀 Layer masking
+🔊 Audio support
+🔍 Search for images, videos, shapes and more
+✨ Text animation (typewriter, scale, fade...)
+💥 Lottie support
+🧩 Pixabay integration
+...and much more - all for free & no sign in needed!
+
+#
+
+Feel free to reach out to me through email at hi@alyssax.com or [on Twitter](https://twitter.com/alyssaxuu) if you have any questions or feedback! Hope you find this useful 💜
+
diff --git a/public/motionity/preview.gif b/public/motionity/preview.gif
new file mode 100644
index 000000000..127376f5d
Binary files /dev/null and b/public/motionity/preview.gif differ
diff --git a/public/motionity/src/assets/align-bottom.svg b/public/motionity/src/assets/align-bottom.svg
new file mode 100644
index 000000000..4acc58258
--- /dev/null
+++ b/public/motionity/src/assets/align-bottom.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/align-center-h.svg b/public/motionity/src/assets/align-center-h.svg
new file mode 100644
index 000000000..1a523bf40
--- /dev/null
+++ b/public/motionity/src/assets/align-center-h.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/align-center-v.svg b/public/motionity/src/assets/align-center-v.svg
new file mode 100644
index 000000000..4a471cdc4
--- /dev/null
+++ b/public/motionity/src/assets/align-center-v.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/align-left.svg b/public/motionity/src/assets/align-left.svg
new file mode 100644
index 000000000..897ebc31a
--- /dev/null
+++ b/public/motionity/src/assets/align-left.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/align-right.svg b/public/motionity/src/assets/align-right.svg
new file mode 100644
index 000000000..91475b300
--- /dev/null
+++ b/public/motionity/src/assets/align-right.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/align-text-center-active.svg b/public/motionity/src/assets/align-text-center-active.svg
new file mode 100644
index 000000000..e175a8c8a
--- /dev/null
+++ b/public/motionity/src/assets/align-text-center-active.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/motionity/src/assets/align-text-center.svg b/public/motionity/src/assets/align-text-center.svg
new file mode 100644
index 000000000..b22d67e4b
--- /dev/null
+++ b/public/motionity/src/assets/align-text-center.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/motionity/src/assets/align-text-justify-active.svg b/public/motionity/src/assets/align-text-justify-active.svg
new file mode 100644
index 000000000..7b8c0a1de
--- /dev/null
+++ b/public/motionity/src/assets/align-text-justify-active.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/motionity/src/assets/align-text-justify.svg b/public/motionity/src/assets/align-text-justify.svg
new file mode 100644
index 000000000..0554712c6
--- /dev/null
+++ b/public/motionity/src/assets/align-text-justify.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/motionity/src/assets/align-text-left-active.svg b/public/motionity/src/assets/align-text-left-active.svg
new file mode 100644
index 000000000..1d5fe48e6
--- /dev/null
+++ b/public/motionity/src/assets/align-text-left-active.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/motionity/src/assets/align-text-left.svg b/public/motionity/src/assets/align-text-left.svg
new file mode 100644
index 000000000..2a8a606e6
--- /dev/null
+++ b/public/motionity/src/assets/align-text-left.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/motionity/src/assets/align-text-right-active.svg b/public/motionity/src/assets/align-text-right-active.svg
new file mode 100644
index 000000000..c499763af
--- /dev/null
+++ b/public/motionity/src/assets/align-text-right-active.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/motionity/src/assets/align-text-right.svg b/public/motionity/src/assets/align-text-right.svg
new file mode 100644
index 000000000..d59c59f96
--- /dev/null
+++ b/public/motionity/src/assets/align-text-right.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/motionity/src/assets/align-top.svg b/public/motionity/src/assets/align-top.svg
new file mode 100644
index 000000000..bdc45b64a
--- /dev/null
+++ b/public/motionity/src/assets/align-top.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/alyssaimg.jpeg b/public/motionity/src/assets/alyssaimg.jpeg
new file mode 100644
index 000000000..4f934ad01
Binary files /dev/null and b/public/motionity/src/assets/alyssaimg.jpeg differ
diff --git a/public/motionity/src/assets/animals.png b/public/motionity/src/assets/animals.png
new file mode 100644
index 000000000..fca5ff3e3
Binary files /dev/null and b/public/motionity/src/assets/animals.png differ
diff --git a/public/motionity/src/assets/arrow.svg b/public/motionity/src/assets/arrow.svg
new file mode 100644
index 000000000..a1614cea7
--- /dev/null
+++ b/public/motionity/src/assets/arrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/audio-active.svg b/public/motionity/src/assets/audio-active.svg
new file mode 100644
index 000000000..932c42afd
--- /dev/null
+++ b/public/motionity/src/assets/audio-active.svg
@@ -0,0 +1,25 @@
+
diff --git a/public/motionity/src/assets/audio.svg b/public/motionity/src/assets/audio.svg
new file mode 100644
index 000000000..a79b33d3c
--- /dev/null
+++ b/public/motionity/src/assets/audio.svg
@@ -0,0 +1,25 @@
+
diff --git a/public/motionity/src/assets/audio.wav b/public/motionity/src/assets/audio.wav
new file mode 100644
index 000000000..7fdc561be
Binary files /dev/null and b/public/motionity/src/assets/audio.wav differ
diff --git a/public/motionity/src/assets/audio/both-of-us-thumb.png b/public/motionity/src/assets/audio/both-of-us-thumb.png
new file mode 100644
index 000000000..997a4b75f
Binary files /dev/null and b/public/motionity/src/assets/audio/both-of-us-thumb.png differ
diff --git a/public/motionity/src/assets/audio/both-of-us.mp3 b/public/motionity/src/assets/audio/both-of-us.mp3
new file mode 100644
index 000000000..0112f8479
Binary files /dev/null and b/public/motionity/src/assets/audio/both-of-us.mp3 differ
diff --git a/public/motionity/src/assets/audio/epic-cinematic-trailer-thumb.png b/public/motionity/src/assets/audio/epic-cinematic-trailer-thumb.png
new file mode 100644
index 000000000..57173b020
Binary files /dev/null and b/public/motionity/src/assets/audio/epic-cinematic-trailer-thumb.png differ
diff --git a/public/motionity/src/assets/audio/epic-cinematic-trailer.mp3 b/public/motionity/src/assets/audio/epic-cinematic-trailer.mp3
new file mode 100644
index 000000000..2b016044d
Binary files /dev/null and b/public/motionity/src/assets/audio/epic-cinematic-trailer.mp3 differ
diff --git a/public/motionity/src/assets/audio/everything-feels-new-thumb.png b/public/motionity/src/assets/audio/everything-feels-new-thumb.png
new file mode 100644
index 000000000..107a2d71e
Binary files /dev/null and b/public/motionity/src/assets/audio/everything-feels-new-thumb.png differ
diff --git a/public/motionity/src/assets/audio/everything-feels-new.mp3 b/public/motionity/src/assets/audio/everything-feels-new.mp3
new file mode 100644
index 000000000..f85667bb6
Binary files /dev/null and b/public/motionity/src/assets/audio/everything-feels-new.mp3 differ
diff --git a/public/motionity/src/assets/audio/inspirational-background-thumb.png b/public/motionity/src/assets/audio/inspirational-background-thumb.png
new file mode 100644
index 000000000..d73852de1
Binary files /dev/null and b/public/motionity/src/assets/audio/inspirational-background-thumb.png differ
diff --git a/public/motionity/src/assets/audio/inspirational-background.mp3 b/public/motionity/src/assets/audio/inspirational-background.mp3
new file mode 100644
index 000000000..a19a53d6f
Binary files /dev/null and b/public/motionity/src/assets/audio/inspirational-background.mp3 differ
diff --git a/public/motionity/src/assets/audio/lofi-thumb.png b/public/motionity/src/assets/audio/lofi-thumb.png
new file mode 100644
index 000000000..dc3389d47
Binary files /dev/null and b/public/motionity/src/assets/audio/lofi-thumb.png differ
diff --git a/public/motionity/src/assets/audio/lofi.mp3 b/public/motionity/src/assets/audio/lofi.mp3
new file mode 100644
index 000000000..e7d40ff75
Binary files /dev/null and b/public/motionity/src/assets/audio/lofi.mp3 differ
diff --git a/public/motionity/src/assets/audio/stomping-rock-thumb.png b/public/motionity/src/assets/audio/stomping-rock-thumb.png
new file mode 100644
index 000000000..ee568c8fc
Binary files /dev/null and b/public/motionity/src/assets/audio/stomping-rock-thumb.png differ
diff --git a/public/motionity/src/assets/audio/stomping-rock.mp3 b/public/motionity/src/assets/audio/stomping-rock.mp3
new file mode 100644
index 000000000..a1b5e693e
Binary files /dev/null and b/public/motionity/src/assets/audio/stomping-rock.mp3 differ
diff --git a/public/motionity/src/assets/audio/the-podcast-intro-thumb.png b/public/motionity/src/assets/audio/the-podcast-intro-thumb.png
new file mode 100644
index 000000000..8ff73b8fb
Binary files /dev/null and b/public/motionity/src/assets/audio/the-podcast-intro-thumb.png differ
diff --git a/public/motionity/src/assets/audio/the-podcast-intro.mp3 b/public/motionity/src/assets/audio/the-podcast-intro.mp3
new file mode 100644
index 000000000..0ac9518dc
Binary files /dev/null and b/public/motionity/src/assets/audio/the-podcast-intro.mp3 differ
diff --git a/public/motionity/src/assets/audio/tropical-summer-music-thumb.png b/public/motionity/src/assets/audio/tropical-summer-music-thumb.png
new file mode 100644
index 000000000..28ec82bd8
Binary files /dev/null and b/public/motionity/src/assets/audio/tropical-summer-music-thumb.png differ
diff --git a/public/motionity/src/assets/audio/tropical-summer-music.mp3 b/public/motionity/src/assets/audio/tropical-summer-music.mp3
new file mode 100644
index 000000000..baecab89e
Binary files /dev/null and b/public/motionity/src/assets/audio/tropical-summer-music.mp3 differ
diff --git a/public/motionity/src/assets/avatar-temp.png b/public/motionity/src/assets/avatar-temp.png
new file mode 100644
index 000000000..5775891f8
Binary files /dev/null and b/public/motionity/src/assets/avatar-temp.png differ
diff --git a/public/motionity/src/assets/background.png b/public/motionity/src/assets/background.png
new file mode 100644
index 000000000..11b4ab206
Binary files /dev/null and b/public/motionity/src/assets/background.png differ
diff --git a/public/motionity/src/assets/beach.png b/public/motionity/src/assets/beach.png
new file mode 100644
index 000000000..150b02d29
Binary files /dev/null and b/public/motionity/src/assets/beach.png differ
diff --git a/public/motionity/src/assets/bevel-active.svg b/public/motionity/src/assets/bevel-active.svg
new file mode 100644
index 000000000..f7ef5e6cf
--- /dev/null
+++ b/public/motionity/src/assets/bevel-active.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/bevel.svg b/public/motionity/src/assets/bevel.svg
new file mode 100644
index 000000000..08681621a
--- /dev/null
+++ b/public/motionity/src/assets/bevel.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/blcrop.svg b/public/motionity/src/assets/blcrop.svg
new file mode 100644
index 000000000..056f8fbda
--- /dev/null
+++ b/public/motionity/src/assets/blcrop.svg
@@ -0,0 +1,17 @@
+
diff --git a/public/motionity/src/assets/bold-active.svg b/public/motionity/src/assets/bold-active.svg
new file mode 100644
index 000000000..9bb237980
--- /dev/null
+++ b/public/motionity/src/assets/bold-active.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/bold.svg b/public/motionity/src/assets/bold.svg
new file mode 100644
index 000000000..3fe1a3960
--- /dev/null
+++ b/public/motionity/src/assets/bold.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/brcrop.svg b/public/motionity/src/assets/brcrop.svg
new file mode 100644
index 000000000..dad75fcc8
--- /dev/null
+++ b/public/motionity/src/assets/brcrop.svg
@@ -0,0 +1,17 @@
+
diff --git a/public/motionity/src/assets/cars.png b/public/motionity/src/assets/cars.png
new file mode 100644
index 000000000..0563a1c16
Binary files /dev/null and b/public/motionity/src/assets/cars.png differ
diff --git a/public/motionity/src/assets/clear.svg b/public/motionity/src/assets/clear.svg
new file mode 100644
index 000000000..bdcdbd015
--- /dev/null
+++ b/public/motionity/src/assets/clear.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/motionity/src/assets/close.svg b/public/motionity/src/assets/close.svg
new file mode 100644
index 000000000..4da15f5ff
--- /dev/null
+++ b/public/motionity/src/assets/close.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/collapse.svg b/public/motionity/src/assets/collapse.svg
new file mode 100644
index 000000000..2a9f9d1d1
--- /dev/null
+++ b/public/motionity/src/assets/collapse.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/crop-icon.svg b/public/motionity/src/assets/crop-icon.svg
new file mode 100644
index 000000000..f160bcaf0
--- /dev/null
+++ b/public/motionity/src/assets/crop-icon.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/dash2-active.svg b/public/motionity/src/assets/dash2-active.svg
new file mode 100644
index 000000000..5ae238c76
--- /dev/null
+++ b/public/motionity/src/assets/dash2-active.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/dash2.svg b/public/motionity/src/assets/dash2.svg
new file mode 100644
index 000000000..33fb0714e
--- /dev/null
+++ b/public/motionity/src/assets/dash2.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/data.json b/public/motionity/src/assets/data.json
new file mode 100644
index 000000000..9e31bde60
--- /dev/null
+++ b/public/motionity/src/assets/data.json
@@ -0,0 +1 @@
+{"v":"5.7.1","fr":29.6104125976562,"ip":0,"op":148.002062291561,"w":1000,"h":1000,"nm":"textanim","ddd":0,"assets":[],"fonts":{"list":[{"fName":"SFProDisplay-Bold","fFamily":"SF Pro Display","fStyle":"Bold","ascent":70.458984375}]},"layers":[{"ddd":0,"ind":1,"ty":5,"nm":"thetext","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[482,449.123,0],"ix":2,"x":"var $bm_rt;\nvar H, W;\nH = thisComp.height;\nW = thisComp.width;\n$bm_rt = [\n H / 2,\n W / 2\n];"},"a":{"a":0,"k":[0,-36.377,0],"ix":1,"x":"var $bm_rt;\nvar sourceSize, T, L, W, H;\nsourceSize = thisLayer.sourceRectAtTime(time, false);\nT = sourceSize.top;\nL = sourceSize.left;\nW = sourceSize.width;\nH = sourceSize.height;\n$bm_rt = [\n L + W / 2,\n T + H / 2\n];"},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\nvar maxW, maxH, r, w, h, s;\nmaxW = $bm_mul(thisComp.width, 0.9);\nmaxH = $bm_mul(thisComp.height, 0.9);\nr = sourceRectAtTime(time);\nw = r.width;\nh = r.height;\ns = $bm_div(w, h) > $bm_div(maxW, maxH) ? $bm_div(maxW, w) : $bm_div(maxH, h);\n$bm_rt = $bm_mul([\n 100,\n 100\n], s);"}},"ao":0,"t":{"d":{"k":[{"s":{"sz":[2328.63940429688,46],"ps":[-187,-57.5],"s":60,"f":"SFProDisplay-Bold","t":"some text to test","j":2,"tr":0,"lh":72,"ls":0,"fc":[0,0,0]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[{"nm":"Animator 1","s":{"t":0,"xe":{"a":0,"k":0,"ix":7},"ne":{"a":0,"k":0,"ix":8},"a":{"a":0,"k":100,"ix":4},"b":1,"rn":0,"sh":1,"s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":59.000822129744,"s":[100]}],"ix":1},"r":1},"a":{"o":{"a":0,"k":0,"ix":9}}}]},"ip":0,"op":257.003581141427,"st":0,"bm":0}],"markers":[],"chars":[{"ch":"s","size":60,"style":"Bold","w":51.46,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-9.961],[-10.107,-2.148],[0,0],[0,-2.783],[5.371,0],[0.879,4.59],[0,0],[-14.453,0],[0,10.303],[10.938,2.295],[0,0],[0,2.686],[-4.932,0],[-0.439,-4.248],[0,0],[13.428,0]],"o":[[0,7.861],[0,0],[5.127,1.172],[0,3.418],[-5.664,0],[0,0],[0.928,10.303],[13.477,0],[0,-7.666],[0,0],[-5.273,-1.123],[0,-3.467],[5.273,0],[0,0],[-0.293,-10.254],[-13.33,0]],"v":[[3.76,-36.963],[18.994,-21.875],[27.93,-20.02],[34.863,-14.502],[26.172,-8.887],[16.357,-15.918],[2.441,-15.918],[26.172,1.123],[49.072,-15.967],[33.643,-30.225],[24.707,-32.129],[17.48,-37.744],[25.684,-43.457],[34.57,-36.328],[47.705,-36.328],[25.684,-53.467]],"c":true},"ix":2},"nm":"s","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"s","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"o","size":60,"style":"Bold","w":57.28,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-15.82,0],[0,17.236],[15.674,0],[0,-16.943]],"o":[[15.82,0],[0,-16.992],[-15.674,0],[0,17.188]],"v":[[28.662,1.123],[54.59,-26.221],[28.662,-53.467],[2.734,-26.221]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[6.982,0],[0,10.498],[-6.934,0],[0,-10.4]],"o":[[-7.031,0],[0,-10.4],[6.934,0],[0,10.498]],"v":[[28.662,-9.766],[17.188,-26.172],[28.662,-42.578],[40.088,-26.172]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"o","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"m","size":60,"style":"Bold","w":86.33,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-5.42,0],[0,-5.615],[0,0],[0,0],[0,0],[-5.42,0],[0,-6.055],[0,0],[0,0],[0,0],[10.254,0],[2.344,-6.592],[0,0],[7.568,0],[2.197,-6.299],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-5.859],[5.273,0],[0,0],[0,0],[0,0],[0,-5.811],[5.518,0],[0,0],[0,0],[0,0],[0,-10.547],[-7.666,0],[0,0],[-1.758,-6.836],[-7.129,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.639,0],[18.896,0],[18.896,-31.592],[27.979,-41.553],[36.426,-32.617],[36.426,0],[50.146,0],[50.146,-31.787],[59.131,-41.553],[67.676,-32.178],[67.676,0],[81.934,0],[81.934,-35.742],[64.795,-53.32],[48.535,-42.578],[48.242,-42.578],[33.643,-53.32],[18.701,-42.871],[18.408,-42.871],[18.408,-52.344],[4.639,-52.344]],"c":true},"ix":2},"nm":"m","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"m","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"e","size":60,"style":"Bold","w":55.52,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[5.225,0],[0,7.471],[0,0],[0,0],[0,0],[15.234,0],[0,-16.699],[-16.113,0],[-1.562,10.254]],"o":[[-1.318,4.004],[-7.275,0],[0,0],[0,0],[0,0],[0,-15.918],[-15.479,0],[0,16.748],[12.939,0],[0,0]],"v":[[39.307,-16.016],[28.76,-9.424],[16.748,-22.021],[16.748,-22.9],[52.832,-22.9],[52.832,-27.246],[27.979,-53.467],[2.734,-25.928],[28.516,1.123],[52.393,-16.016]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-6.25,0],[-0.293,-6.689],[0,0]],"o":[[6.348,0],[0,0],[0.488,-6.543]],"v":[[28.125,-42.92],[39.111,-31.641],[16.895,-31.641]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"e","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":" ","size":60,"style":"Bold","w":19.78,"data":{},"fFamily":"SF Pro Display"},{"ch":"t","size":60,"style":"Bold","w":35.55,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-12.305,0],[-1.465,0.342],[0,0],[1.27,0],[0,4.004],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,10.205],[2.881,0],[0,0],[-0.879,0.146],[-4.199,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[8.447,-64.404],[8.447,-52.344],[1.074,-52.344],[1.074,-41.602],[8.447,-41.602],[8.447,-14.111],[25.537,0.195],[32.324,-0.391],[32.324,-10.889],[28.857,-10.645],[22.705,-16.553],[22.705,-41.602],[32.373,-41.602],[32.373,-52.344],[22.705,-52.344],[22.705,-64.404]],"c":true},"ix":2},"nm":"t","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"t","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"x","size":60,"style":"Bold","w":52.78,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[26.172,-18.164],[36.133,0],[51.611,0],[35.4,-26.465],[51.758,-52.344],[36.23,-52.344],[26.953,-34.668],[26.66,-34.668],[17.236,-52.344],[1.172,-52.344],[17.48,-26.074],[1.074,0],[16.064,0],[25.879,-18.164]],"c":true},"ix":2},"nm":"x","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"x","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"}]}
\ No newline at end of file
diff --git a/public/motionity/src/assets/delete.svg b/public/motionity/src/assets/delete.svg
new file mode 100644
index 000000000..9a53c544d
--- /dev/null
+++ b/public/motionity/src/assets/delete.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/download-icon.svg b/public/motionity/src/assets/download-icon.svg
new file mode 100644
index 000000000..f312a0920
--- /dev/null
+++ b/public/motionity/src/assets/download-icon.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/motionity/src/assets/drop-arrow.svg b/public/motionity/src/assets/drop-arrow.svg
new file mode 100644
index 000000000..cb27d9129
--- /dev/null
+++ b/public/motionity/src/assets/drop-arrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/edgecontrol.svg b/public/motionity/src/assets/edgecontrol.svg
new file mode 100644
index 000000000..8fe63b68d
--- /dev/null
+++ b/public/motionity/src/assets/edgecontrol.svg
@@ -0,0 +1,17 @@
+
diff --git a/public/motionity/src/assets/eyedropper.svg b/public/motionity/src/assets/eyedropper.svg
new file mode 100644
index 000000000..d2eb09352
--- /dev/null
+++ b/public/motionity/src/assets/eyedropper.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/fade-in.svg b/public/motionity/src/assets/fade-in.svg
new file mode 100644
index 000000000..32258808f
--- /dev/null
+++ b/public/motionity/src/assets/fade-in.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/motionity/src/assets/filters.svg b/public/motionity/src/assets/filters.svg
new file mode 100644
index 000000000..5f870503d
--- /dev/null
+++ b/public/motionity/src/assets/filters.svg
@@ -0,0 +1,18 @@
+
diff --git a/public/motionity/src/assets/food.png b/public/motionity/src/assets/food.png
new file mode 100644
index 000000000..1af279fe5
Binary files /dev/null and b/public/motionity/src/assets/food.png differ
diff --git a/public/motionity/src/assets/forest.png b/public/motionity/src/assets/forest.png
new file mode 100644
index 000000000..8b10fada4
Binary files /dev/null and b/public/motionity/src/assets/forest.png differ
diff --git a/public/motionity/src/assets/freeze.svg b/public/motionity/src/assets/freeze.svg
new file mode 100644
index 000000000..b65d3a59a
--- /dev/null
+++ b/public/motionity/src/assets/freeze.svg
@@ -0,0 +1,24 @@
+
diff --git a/public/motionity/src/assets/frozen.svg b/public/motionity/src/assets/frozen.svg
new file mode 100644
index 000000000..e14fbf7eb
--- /dev/null
+++ b/public/motionity/src/assets/frozen.svg
@@ -0,0 +1,24 @@
+
diff --git a/public/motionity/src/assets/hand-tool-active.svg b/public/motionity/src/assets/hand-tool-active.svg
new file mode 100644
index 000000000..5aa53c3b8
--- /dev/null
+++ b/public/motionity/src/assets/hand-tool-active.svg
@@ -0,0 +1,23 @@
+
diff --git a/public/motionity/src/assets/hand-tool.svg b/public/motionity/src/assets/hand-tool.svg
new file mode 100644
index 000000000..0e8edb4e4
--- /dev/null
+++ b/public/motionity/src/assets/hand-tool.svg
@@ -0,0 +1,23 @@
+
diff --git a/public/motionity/src/assets/image-active.svg b/public/motionity/src/assets/image-active.svg
new file mode 100644
index 000000000..b4ddde496
--- /dev/null
+++ b/public/motionity/src/assets/image-active.svg
@@ -0,0 +1,23 @@
+
diff --git a/public/motionity/src/assets/image.svg b/public/motionity/src/assets/image.svg
new file mode 100644
index 000000000..c90fa480e
--- /dev/null
+++ b/public/motionity/src/assets/image.svg
@@ -0,0 +1,23 @@
+
diff --git a/public/motionity/src/assets/import.svg b/public/motionity/src/assets/import.svg
new file mode 100644
index 000000000..eb5cc1ef2
--- /dev/null
+++ b/public/motionity/src/assets/import.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/motionity/src/assets/importexport.svg b/public/motionity/src/assets/importexport.svg
new file mode 100644
index 000000000..c102b6d22
--- /dev/null
+++ b/public/motionity/src/assets/importexport.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/motionity/src/assets/italic-active.svg b/public/motionity/src/assets/italic-active.svg
new file mode 100644
index 000000000..ad11f0190
--- /dev/null
+++ b/public/motionity/src/assets/italic-active.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/motionity/src/assets/italic.svg b/public/motionity/src/assets/italic.svg
new file mode 100644
index 000000000..83955a1d5
--- /dev/null
+++ b/public/motionity/src/assets/italic.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/motionity/src/assets/loading-image.svg b/public/motionity/src/assets/loading-image.svg
new file mode 100644
index 000000000..a167f0b08
--- /dev/null
+++ b/public/motionity/src/assets/loading-image.svg
@@ -0,0 +1,12 @@
+
diff --git a/public/motionity/src/assets/loading-video.svg b/public/motionity/src/assets/loading-video.svg
new file mode 100644
index 000000000..c4df5b8aa
--- /dev/null
+++ b/public/motionity/src/assets/loading-video.svg
@@ -0,0 +1,12 @@
+
diff --git a/public/motionity/src/assets/loading.gif b/public/motionity/src/assets/loading.gif
new file mode 100644
index 000000000..54038677d
Binary files /dev/null and b/public/motionity/src/assets/loading.gif differ
diff --git a/public/motionity/src/assets/lock.svg b/public/motionity/src/assets/lock.svg
new file mode 100644
index 000000000..0eb9f2267
--- /dev/null
+++ b/public/motionity/src/assets/lock.svg
@@ -0,0 +1,24 @@
+
diff --git a/public/motionity/src/assets/locked.svg b/public/motionity/src/assets/locked.svg
new file mode 100644
index 000000000..84257b0ab
--- /dev/null
+++ b/public/motionity/src/assets/locked.svg
@@ -0,0 +1,24 @@
+
diff --git a/public/motionity/src/assets/logo.svg b/public/motionity/src/assets/logo.svg
new file mode 100644
index 000000000..c22b359bf
--- /dev/null
+++ b/public/motionity/src/assets/logo.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/motionity/src/assets/lottie.json b/public/motionity/src/assets/lottie.json
new file mode 100644
index 000000000..9e31bde60
--- /dev/null
+++ b/public/motionity/src/assets/lottie.json
@@ -0,0 +1 @@
+{"v":"5.7.1","fr":29.6104125976562,"ip":0,"op":148.002062291561,"w":1000,"h":1000,"nm":"textanim","ddd":0,"assets":[],"fonts":{"list":[{"fName":"SFProDisplay-Bold","fFamily":"SF Pro Display","fStyle":"Bold","ascent":70.458984375}]},"layers":[{"ddd":0,"ind":1,"ty":5,"nm":"thetext","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[482,449.123,0],"ix":2,"x":"var $bm_rt;\nvar H, W;\nH = thisComp.height;\nW = thisComp.width;\n$bm_rt = [\n H / 2,\n W / 2\n];"},"a":{"a":0,"k":[0,-36.377,0],"ix":1,"x":"var $bm_rt;\nvar sourceSize, T, L, W, H;\nsourceSize = thisLayer.sourceRectAtTime(time, false);\nT = sourceSize.top;\nL = sourceSize.left;\nW = sourceSize.width;\nH = sourceSize.height;\n$bm_rt = [\n L + W / 2,\n T + H / 2\n];"},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\nvar maxW, maxH, r, w, h, s;\nmaxW = $bm_mul(thisComp.width, 0.9);\nmaxH = $bm_mul(thisComp.height, 0.9);\nr = sourceRectAtTime(time);\nw = r.width;\nh = r.height;\ns = $bm_div(w, h) > $bm_div(maxW, maxH) ? $bm_div(maxW, w) : $bm_div(maxH, h);\n$bm_rt = $bm_mul([\n 100,\n 100\n], s);"}},"ao":0,"t":{"d":{"k":[{"s":{"sz":[2328.63940429688,46],"ps":[-187,-57.5],"s":60,"f":"SFProDisplay-Bold","t":"some text to test","j":2,"tr":0,"lh":72,"ls":0,"fc":[0,0,0]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[{"nm":"Animator 1","s":{"t":0,"xe":{"a":0,"k":0,"ix":7},"ne":{"a":0,"k":0,"ix":8},"a":{"a":0,"k":100,"ix":4},"b":1,"rn":0,"sh":1,"s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":59.000822129744,"s":[100]}],"ix":1},"r":1},"a":{"o":{"a":0,"k":0,"ix":9}}}]},"ip":0,"op":257.003581141427,"st":0,"bm":0}],"markers":[],"chars":[{"ch":"s","size":60,"style":"Bold","w":51.46,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-9.961],[-10.107,-2.148],[0,0],[0,-2.783],[5.371,0],[0.879,4.59],[0,0],[-14.453,0],[0,10.303],[10.938,2.295],[0,0],[0,2.686],[-4.932,0],[-0.439,-4.248],[0,0],[13.428,0]],"o":[[0,7.861],[0,0],[5.127,1.172],[0,3.418],[-5.664,0],[0,0],[0.928,10.303],[13.477,0],[0,-7.666],[0,0],[-5.273,-1.123],[0,-3.467],[5.273,0],[0,0],[-0.293,-10.254],[-13.33,0]],"v":[[3.76,-36.963],[18.994,-21.875],[27.93,-20.02],[34.863,-14.502],[26.172,-8.887],[16.357,-15.918],[2.441,-15.918],[26.172,1.123],[49.072,-15.967],[33.643,-30.225],[24.707,-32.129],[17.48,-37.744],[25.684,-43.457],[34.57,-36.328],[47.705,-36.328],[25.684,-53.467]],"c":true},"ix":2},"nm":"s","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"s","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"o","size":60,"style":"Bold","w":57.28,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-15.82,0],[0,17.236],[15.674,0],[0,-16.943]],"o":[[15.82,0],[0,-16.992],[-15.674,0],[0,17.188]],"v":[[28.662,1.123],[54.59,-26.221],[28.662,-53.467],[2.734,-26.221]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[6.982,0],[0,10.498],[-6.934,0],[0,-10.4]],"o":[[-7.031,0],[0,-10.4],[6.934,0],[0,10.498]],"v":[[28.662,-9.766],[17.188,-26.172],[28.662,-42.578],[40.088,-26.172]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"o","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"m","size":60,"style":"Bold","w":86.33,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-5.42,0],[0,-5.615],[0,0],[0,0],[0,0],[-5.42,0],[0,-6.055],[0,0],[0,0],[0,0],[10.254,0],[2.344,-6.592],[0,0],[7.568,0],[2.197,-6.299],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-5.859],[5.273,0],[0,0],[0,0],[0,0],[0,-5.811],[5.518,0],[0,0],[0,0],[0,0],[0,-10.547],[-7.666,0],[0,0],[-1.758,-6.836],[-7.129,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.639,0],[18.896,0],[18.896,-31.592],[27.979,-41.553],[36.426,-32.617],[36.426,0],[50.146,0],[50.146,-31.787],[59.131,-41.553],[67.676,-32.178],[67.676,0],[81.934,0],[81.934,-35.742],[64.795,-53.32],[48.535,-42.578],[48.242,-42.578],[33.643,-53.32],[18.701,-42.871],[18.408,-42.871],[18.408,-52.344],[4.639,-52.344]],"c":true},"ix":2},"nm":"m","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"m","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"e","size":60,"style":"Bold","w":55.52,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[5.225,0],[0,7.471],[0,0],[0,0],[0,0],[15.234,0],[0,-16.699],[-16.113,0],[-1.562,10.254]],"o":[[-1.318,4.004],[-7.275,0],[0,0],[0,0],[0,0],[0,-15.918],[-15.479,0],[0,16.748],[12.939,0],[0,0]],"v":[[39.307,-16.016],[28.76,-9.424],[16.748,-22.021],[16.748,-22.9],[52.832,-22.9],[52.832,-27.246],[27.979,-53.467],[2.734,-25.928],[28.516,1.123],[52.393,-16.016]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-6.25,0],[-0.293,-6.689],[0,0]],"o":[[6.348,0],[0,0],[0.488,-6.543]],"v":[[28.125,-42.92],[39.111,-31.641],[16.895,-31.641]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"e","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":" ","size":60,"style":"Bold","w":19.78,"data":{},"fFamily":"SF Pro Display"},{"ch":"t","size":60,"style":"Bold","w":35.55,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-12.305,0],[-1.465,0.342],[0,0],[1.27,0],[0,4.004],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,10.205],[2.881,0],[0,0],[-0.879,0.146],[-4.199,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[8.447,-64.404],[8.447,-52.344],[1.074,-52.344],[1.074,-41.602],[8.447,-41.602],[8.447,-14.111],[25.537,0.195],[32.324,-0.391],[32.324,-10.889],[28.857,-10.645],[22.705,-16.553],[22.705,-41.602],[32.373,-41.602],[32.373,-52.344],[22.705,-52.344],[22.705,-64.404]],"c":true},"ix":2},"nm":"t","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"t","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"x","size":60,"style":"Bold","w":52.78,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[26.172,-18.164],[36.133,0],[51.611,0],[35.4,-26.465],[51.758,-52.344],[36.23,-52.344],[26.953,-34.668],[26.66,-34.668],[17.236,-52.344],[1.172,-52.344],[17.48,-26.074],[1.074,0],[16.064,0],[25.879,-18.164]],"c":true},"ix":2},"nm":"x","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"x","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"}]}
\ No newline at end of file
diff --git a/public/motionity/src/assets/meditation.png b/public/motionity/src/assets/meditation.png
new file mode 100644
index 000000000..6630cbbe5
Binary files /dev/null and b/public/motionity/src/assets/meditation.png differ
diff --git a/public/motionity/src/assets/middlecontrol.svg b/public/motionity/src/assets/middlecontrol.svg
new file mode 100644
index 000000000..53fb5b55b
--- /dev/null
+++ b/public/motionity/src/assets/middlecontrol.svg
@@ -0,0 +1,17 @@
+
diff --git a/public/motionity/src/assets/middlecontrolhoz.svg b/public/motionity/src/assets/middlecontrolhoz.svg
new file mode 100644
index 000000000..ba05d9aaa
--- /dev/null
+++ b/public/motionity/src/assets/middlecontrolhoz.svg
@@ -0,0 +1,17 @@
+
diff --git a/public/motionity/src/assets/miter-active.svg b/public/motionity/src/assets/miter-active.svg
new file mode 100644
index 000000000..537975c32
--- /dev/null
+++ b/public/motionity/src/assets/miter-active.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/miter.svg b/public/motionity/src/assets/miter.svg
new file mode 100644
index 000000000..938136c9d
--- /dev/null
+++ b/public/motionity/src/assets/miter.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/mockup-active.svg b/public/motionity/src/assets/mockup-active.svg
new file mode 100644
index 000000000..e78b241b1
--- /dev/null
+++ b/public/motionity/src/assets/mockup-active.svg
@@ -0,0 +1,23 @@
+
diff --git a/public/motionity/src/assets/mockup.svg b/public/motionity/src/assets/mockup.svg
new file mode 100644
index 000000000..9cc9746aa
--- /dev/null
+++ b/public/motionity/src/assets/mockup.svg
@@ -0,0 +1,23 @@
+
diff --git a/public/motionity/src/assets/more-hoz.svg b/public/motionity/src/assets/more-hoz.svg
new file mode 100644
index 000000000..426f3df2c
--- /dev/null
+++ b/public/motionity/src/assets/more-hoz.svg
@@ -0,0 +1,25 @@
+
diff --git a/public/motionity/src/assets/more-options.svg b/public/motionity/src/assets/more-options.svg
new file mode 100644
index 000000000..792695886
--- /dev/null
+++ b/public/motionity/src/assets/more-options.svg
@@ -0,0 +1,7 @@
+
diff --git a/public/motionity/src/assets/nature.png b/public/motionity/src/assets/nature.png
new file mode 100644
index 000000000..b0d0dda7c
Binary files /dev/null and b/public/motionity/src/assets/nature.png differ
diff --git a/public/motionity/src/assets/nolayers.svg b/public/motionity/src/assets/nolayers.svg
new file mode 100644
index 000000000..a73f5b3c3
--- /dev/null
+++ b/public/motionity/src/assets/nolayers.svg
@@ -0,0 +1,7 @@
+
diff --git a/public/motionity/src/assets/office.png b/public/motionity/src/assets/office.png
new file mode 100644
index 000000000..3397b9573
Binary files /dev/null and b/public/motionity/src/assets/office.png differ
diff --git a/public/motionity/src/assets/pause-button.svg b/public/motionity/src/assets/pause-button.svg
new file mode 100644
index 000000000..5fc1920af
--- /dev/null
+++ b/public/motionity/src/assets/pause-button.svg
@@ -0,0 +1,42 @@
+
diff --git a/public/motionity/src/assets/pixabay.svg b/public/motionity/src/assets/pixabay.svg
new file mode 100644
index 000000000..efe0a7ba4
--- /dev/null
+++ b/public/motionity/src/assets/pixabay.svg
@@ -0,0 +1,10 @@
+
diff --git a/public/motionity/src/assets/play-button.svg b/public/motionity/src/assets/play-button.svg
new file mode 100644
index 000000000..dfb901d28
--- /dev/null
+++ b/public/motionity/src/assets/play-button.svg
@@ -0,0 +1,23 @@
+
diff --git a/public/motionity/src/assets/rain.png b/public/motionity/src/assets/rain.png
new file mode 100644
index 000000000..bca20bfd2
Binary files /dev/null and b/public/motionity/src/assets/rain.png differ
diff --git a/public/motionity/src/assets/repeat.svg b/public/motionity/src/assets/repeat.svg
new file mode 100644
index 000000000..e4097b7e5
--- /dev/null
+++ b/public/motionity/src/assets/repeat.svg
@@ -0,0 +1,13 @@
+
diff --git a/public/motionity/src/assets/replace-image.svg b/public/motionity/src/assets/replace-image.svg
new file mode 100644
index 000000000..380dd368c
--- /dev/null
+++ b/public/motionity/src/assets/replace-image.svg
@@ -0,0 +1,27 @@
+
diff --git a/public/motionity/src/assets/right-arrow.svg b/public/motionity/src/assets/right-arrow.svg
new file mode 100644
index 000000000..b692e9488
--- /dev/null
+++ b/public/motionity/src/assets/right-arrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/rotateicon.svg b/public/motionity/src/assets/rotateicon.svg
new file mode 100644
index 000000000..7b1d4db53
--- /dev/null
+++ b/public/motionity/src/assets/rotateicon.svg
@@ -0,0 +1,20 @@
+
diff --git a/public/motionity/src/assets/round-active.svg b/public/motionity/src/assets/round-active.svg
new file mode 100644
index 000000000..a99b7966a
--- /dev/null
+++ b/public/motionity/src/assets/round-active.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/round.svg b/public/motionity/src/assets/round.svg
new file mode 100644
index 000000000..d0a9a3ee5
--- /dev/null
+++ b/public/motionity/src/assets/round.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/scale.svg b/public/motionity/src/assets/scale.svg
new file mode 100644
index 000000000..d8047cab1
--- /dev/null
+++ b/public/motionity/src/assets/scale.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/motionity/src/assets/search.svg b/public/motionity/src/assets/search.svg
new file mode 100644
index 000000000..4935ec5b7
--- /dev/null
+++ b/public/motionity/src/assets/search.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/seeker.svg b/public/motionity/src/assets/seeker.svg
new file mode 100644
index 000000000..428571649
--- /dev/null
+++ b/public/motionity/src/assets/seeker.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/shape-active.svg b/public/motionity/src/assets/shape-active.svg
new file mode 100644
index 000000000..8f30f5bbc
--- /dev/null
+++ b/public/motionity/src/assets/shape-active.svg
@@ -0,0 +1,83 @@
+
diff --git a/public/motionity/src/assets/shape.svg b/public/motionity/src/assets/shape.svg
new file mode 100644
index 000000000..b7117e490
--- /dev/null
+++ b/public/motionity/src/assets/shape.svg
@@ -0,0 +1,83 @@
+
diff --git a/public/motionity/src/assets/shapes/arrow.svg b/public/motionity/src/assets/shapes/arrow.svg
new file mode 100644
index 000000000..4d6afb297
--- /dev/null
+++ b/public/motionity/src/assets/shapes/arrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/shapes/circle.svg b/public/motionity/src/assets/shapes/circle.svg
new file mode 100644
index 000000000..93a21fc78
--- /dev/null
+++ b/public/motionity/src/assets/shapes/circle.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/shapes/heart.svg b/public/motionity/src/assets/shapes/heart.svg
new file mode 100644
index 000000000..5be9163ae
--- /dev/null
+++ b/public/motionity/src/assets/shapes/heart.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/shapes/hexagon.svg b/public/motionity/src/assets/shapes/hexagon.svg
new file mode 100644
index 000000000..7efee63dc
--- /dev/null
+++ b/public/motionity/src/assets/shapes/hexagon.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/shapes/polygon.svg b/public/motionity/src/assets/shapes/polygon.svg
new file mode 100644
index 000000000..dea3a2919
--- /dev/null
+++ b/public/motionity/src/assets/shapes/polygon.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/shapes/rectangle.svg b/public/motionity/src/assets/shapes/rectangle.svg
new file mode 100644
index 000000000..593b1df09
--- /dev/null
+++ b/public/motionity/src/assets/shapes/rectangle.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/shapes/star.svg b/public/motionity/src/assets/shapes/star.svg
new file mode 100644
index 000000000..f080d7b50
--- /dev/null
+++ b/public/motionity/src/assets/shapes/star.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/shapes/triangle.svg b/public/motionity/src/assets/shapes/triangle.svg
new file mode 100644
index 000000000..0bf978b44
--- /dev/null
+++ b/public/motionity/src/assets/shapes/triangle.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/shrink.svg b/public/motionity/src/assets/shrink.svg
new file mode 100644
index 000000000..aece229c9
--- /dev/null
+++ b/public/motionity/src/assets/shrink.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/motionity/src/assets/skip.svg b/public/motionity/src/assets/skip.svg
new file mode 100644
index 000000000..a2ff37a1a
--- /dev/null
+++ b/public/motionity/src/assets/skip.svg
@@ -0,0 +1,26 @@
+
diff --git a/public/motionity/src/assets/slide-bottom.svg b/public/motionity/src/assets/slide-bottom.svg
new file mode 100644
index 000000000..a5225dbc8
--- /dev/null
+++ b/public/motionity/src/assets/slide-bottom.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/motionity/src/assets/slide-left.svg b/public/motionity/src/assets/slide-left.svg
new file mode 100644
index 000000000..9e2d08402
--- /dev/null
+++ b/public/motionity/src/assets/slide-left.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/motionity/src/assets/slide-right.svg b/public/motionity/src/assets/slide-right.svg
new file mode 100644
index 000000000..33d63b6a8
--- /dev/null
+++ b/public/motionity/src/assets/slide-right.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/motionity/src/assets/slide-top.svg b/public/motionity/src/assets/slide-top.svg
new file mode 100644
index 000000000..c966d3cea
--- /dev/null
+++ b/public/motionity/src/assets/slide-top.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/motionity/src/assets/space.png b/public/motionity/src/assets/space.png
new file mode 100644
index 000000000..2a897c92a
Binary files /dev/null and b/public/motionity/src/assets/space.png differ
diff --git a/public/motionity/src/assets/sponsor.svg b/public/motionity/src/assets/sponsor.svg
new file mode 100644
index 000000000..10ba2c2cb
--- /dev/null
+++ b/public/motionity/src/assets/sponsor.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/star.svg b/public/motionity/src/assets/star.svg
new file mode 100644
index 000000000..080a2d531
--- /dev/null
+++ b/public/motionity/src/assets/star.svg
@@ -0,0 +1,23 @@
+
diff --git a/public/motionity/src/assets/street.png b/public/motionity/src/assets/street.png
new file mode 100644
index 000000000..1cd7890b9
Binary files /dev/null and b/public/motionity/src/assets/street.png differ
diff --git a/public/motionity/src/assets/strike-active.svg b/public/motionity/src/assets/strike-active.svg
new file mode 100644
index 000000000..7c4a2c1dc
--- /dev/null
+++ b/public/motionity/src/assets/strike-active.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/strike.svg b/public/motionity/src/assets/strike.svg
new file mode 100644
index 000000000..7d5a0fd64
--- /dev/null
+++ b/public/motionity/src/assets/strike.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/summer.png b/public/motionity/src/assets/summer.png
new file mode 100644
index 000000000..d1fb84749
Binary files /dev/null and b/public/motionity/src/assets/summer.png differ
diff --git a/public/motionity/src/assets/tempload.svg b/public/motionity/src/assets/tempload.svg
new file mode 100644
index 000000000..b477648f7
--- /dev/null
+++ b/public/motionity/src/assets/tempload.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/text-active.svg b/public/motionity/src/assets/text-active.svg
new file mode 100644
index 000000000..3be093d85
--- /dev/null
+++ b/public/motionity/src/assets/text-active.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/text.svg b/public/motionity/src/assets/text.svg
new file mode 100644
index 000000000..526232565
--- /dev/null
+++ b/public/motionity/src/assets/text.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/thingy.svg b/public/motionity/src/assets/thingy.svg
new file mode 100644
index 000000000..3e345ea9b
--- /dev/null
+++ b/public/motionity/src/assets/thingy.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/timeline-big.svg b/public/motionity/src/assets/timeline-big.svg
new file mode 100644
index 000000000..d10cb3fbe
--- /dev/null
+++ b/public/motionity/src/assets/timeline-big.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/timeline-small.svg b/public/motionity/src/assets/timeline-small.svg
new file mode 100644
index 000000000..31ba8575c
--- /dev/null
+++ b/public/motionity/src/assets/timeline-small.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/tlcrop.svg b/public/motionity/src/assets/tlcrop.svg
new file mode 100644
index 000000000..423d60094
--- /dev/null
+++ b/public/motionity/src/assets/tlcrop.svg
@@ -0,0 +1,17 @@
+
diff --git a/public/motionity/src/assets/transparent.png b/public/motionity/src/assets/transparent.png
new file mode 100644
index 000000000..bd72208a1
Binary files /dev/null and b/public/motionity/src/assets/transparent.png differ
diff --git a/public/motionity/src/assets/travel.png b/public/motionity/src/assets/travel.png
new file mode 100644
index 000000000..c5c34bc81
Binary files /dev/null and b/public/motionity/src/assets/travel.png differ
diff --git a/public/motionity/src/assets/trcrop.svg b/public/motionity/src/assets/trcrop.svg
new file mode 100644
index 000000000..d6ff30d3f
--- /dev/null
+++ b/public/motionity/src/assets/trcrop.svg
@@ -0,0 +1,17 @@
+
diff --git a/public/motionity/src/assets/twemojis/bomb-emoji.png b/public/motionity/src/assets/twemojis/bomb-emoji.png
new file mode 100644
index 000000000..b0be2778e
Binary files /dev/null and b/public/motionity/src/assets/twemojis/bomb-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/cat-face-emoji.png b/public/motionity/src/assets/twemojis/cat-face-emoji.png
new file mode 100644
index 000000000..ca4bc9036
Binary files /dev/null and b/public/motionity/src/assets/twemojis/cat-face-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/clap-emoji.png b/public/motionity/src/assets/twemojis/clap-emoji.png
new file mode 100644
index 000000000..a1cc7e0b4
Binary files /dev/null and b/public/motionity/src/assets/twemojis/clap-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/clock-emoji.png b/public/motionity/src/assets/twemojis/clock-emoji.png
new file mode 100644
index 000000000..c9e164313
Binary files /dev/null and b/public/motionity/src/assets/twemojis/clock-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/construction-emoji.png b/public/motionity/src/assets/twemojis/construction-emoji.png
new file mode 100644
index 000000000..431a46f4e
Binary files /dev/null and b/public/motionity/src/assets/twemojis/construction-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/crying-emoji.png b/public/motionity/src/assets/twemojis/crying-emoji.png
new file mode 100644
index 000000000..cbc4c72a4
Binary files /dev/null and b/public/motionity/src/assets/twemojis/crying-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/dog-face-emoji.png b/public/motionity/src/assets/twemojis/dog-face-emoji.png
new file mode 100644
index 000000000..1c784e7d6
Binary files /dev/null and b/public/motionity/src/assets/twemojis/dog-face-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/eyes-emoji.png b/public/motionity/src/assets/twemojis/eyes-emoji.png
new file mode 100644
index 000000000..ccf9feedb
Binary files /dev/null and b/public/motionity/src/assets/twemojis/eyes-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/fire-emoji.png b/public/motionity/src/assets/twemojis/fire-emoji.png
new file mode 100644
index 000000000..e65793d3f
Binary files /dev/null and b/public/motionity/src/assets/twemojis/fire-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/gem-emoji.png b/public/motionity/src/assets/twemojis/gem-emoji.png
new file mode 100644
index 000000000..96ef12965
Binary files /dev/null and b/public/motionity/src/assets/twemojis/gem-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/ghost-emoji.png b/public/motionity/src/assets/twemojis/ghost-emoji.png
new file mode 100644
index 000000000..595d5e375
Binary files /dev/null and b/public/motionity/src/assets/twemojis/ghost-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/gift-emoji.png b/public/motionity/src/assets/twemojis/gift-emoji.png
new file mode 100644
index 000000000..ef45d9b30
Binary files /dev/null and b/public/motionity/src/assets/twemojis/gift-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/graph-emoji.png b/public/motionity/src/assets/twemojis/graph-emoji.png
new file mode 100644
index 000000000..fc1f669d4
Binary files /dev/null and b/public/motionity/src/assets/twemojis/graph-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/heart-eyes-emoji.png b/public/motionity/src/assets/twemojis/heart-eyes-emoji.png
new file mode 100644
index 000000000..95c0bb625
Binary files /dev/null and b/public/motionity/src/assets/twemojis/heart-eyes-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/heart-kiss-emoji.png b/public/motionity/src/assets/twemojis/heart-kiss-emoji.png
new file mode 100644
index 000000000..d58605a82
Binary files /dev/null and b/public/motionity/src/assets/twemojis/heart-kiss-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/hundred-100-points-emoji.png b/public/motionity/src/assets/twemojis/hundred-100-points-emoji.png
new file mode 100644
index 000000000..f348802ab
Binary files /dev/null and b/public/motionity/src/assets/twemojis/hundred-100-points-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/laughing-emoji.png b/public/motionity/src/assets/twemojis/laughing-emoji.png
new file mode 100644
index 000000000..9b2e006c8
Binary files /dev/null and b/public/motionity/src/assets/twemojis/laughing-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/mindblown-emoji.png b/public/motionity/src/assets/twemojis/mindblown-emoji.png
new file mode 100644
index 000000000..ef3d65265
Binary files /dev/null and b/public/motionity/src/assets/twemojis/mindblown-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/money-emoji.png b/public/motionity/src/assets/twemojis/money-emoji.png
new file mode 100644
index 000000000..f9fc3da38
Binary files /dev/null and b/public/motionity/src/assets/twemojis/money-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/moon-emoji.png b/public/motionity/src/assets/twemojis/moon-emoji.png
new file mode 100644
index 000000000..5f8da25ee
Binary files /dev/null and b/public/motionity/src/assets/twemojis/moon-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/nail-polish-emoji.png b/public/motionity/src/assets/twemojis/nail-polish-emoji.png
new file mode 100644
index 000000000..89c223951
Binary files /dev/null and b/public/motionity/src/assets/twemojis/nail-polish-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/party-popper-emoji.png b/public/motionity/src/assets/twemojis/party-popper-emoji.png
new file mode 100644
index 000000000..803f92801
Binary files /dev/null and b/public/motionity/src/assets/twemojis/party-popper-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/pencil-emoji.png b/public/motionity/src/assets/twemojis/pencil-emoji.png
new file mode 100644
index 000000000..fec1b9992
Binary files /dev/null and b/public/motionity/src/assets/twemojis/pencil-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/pizza-emoji.png b/public/motionity/src/assets/twemojis/pizza-emoji.png
new file mode 100644
index 000000000..431e21e0d
Binary files /dev/null and b/public/motionity/src/assets/twemojis/pizza-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/plane-emoji.png b/public/motionity/src/assets/twemojis/plane-emoji.png
new file mode 100644
index 000000000..9e1eaf997
Binary files /dev/null and b/public/motionity/src/assets/twemojis/plane-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/pleading-face-emoji.png b/public/motionity/src/assets/twemojis/pleading-face-emoji.png
new file mode 100644
index 000000000..0160f423b
Binary files /dev/null and b/public/motionity/src/assets/twemojis/pleading-face-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/point-emoji.png b/public/motionity/src/assets/twemojis/point-emoji.png
new file mode 100644
index 000000000..68e04124e
Binary files /dev/null and b/public/motionity/src/assets/twemojis/point-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/praying-hands-emoji.png b/public/motionity/src/assets/twemojis/praying-hands-emoji.png
new file mode 100644
index 000000000..0c7195b6c
Binary files /dev/null and b/public/motionity/src/assets/twemojis/praying-hands-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/raising-hands-emoji.png b/public/motionity/src/assets/twemojis/raising-hands-emoji.png
new file mode 100644
index 000000000..f26f151dc
Binary files /dev/null and b/public/motionity/src/assets/twemojis/raising-hands-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/rocket-emoji.png b/public/motionity/src/assets/twemojis/rocket-emoji.png
new file mode 100644
index 000000000..9365bceb3
Binary files /dev/null and b/public/motionity/src/assets/twemojis/rocket-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/rose-emoji.png b/public/motionity/src/assets/twemojis/rose-emoji.png
new file mode 100644
index 000000000..260abf31d
Binary files /dev/null and b/public/motionity/src/assets/twemojis/rose-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/skull-emoji.png b/public/motionity/src/assets/twemojis/skull-emoji.png
new file mode 100644
index 000000000..e80e2ae19
Binary files /dev/null and b/public/motionity/src/assets/twemojis/skull-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/smiling-emoji.png b/public/motionity/src/assets/twemojis/smiling-emoji.png
new file mode 100644
index 000000000..d68993c9a
Binary files /dev/null and b/public/motionity/src/assets/twemojis/smiling-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/sparkles-emoji.png b/public/motionity/src/assets/twemojis/sparkles-emoji.png
new file mode 100644
index 000000000..9f4d33073
Binary files /dev/null and b/public/motionity/src/assets/twemojis/sparkles-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/star-emoji.png b/public/motionity/src/assets/twemojis/star-emoji.png
new file mode 100644
index 000000000..0e01f3f79
Binary files /dev/null and b/public/motionity/src/assets/twemojis/star-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/sun-emoji.png b/public/motionity/src/assets/twemojis/sun-emoji.png
new file mode 100644
index 000000000..74458f8bf
Binary files /dev/null and b/public/motionity/src/assets/twemojis/sun-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/sunglasses-cool-emoji.png b/public/motionity/src/assets/twemojis/sunglasses-cool-emoji.png
new file mode 100644
index 000000000..8ddeaafb1
Binary files /dev/null and b/public/motionity/src/assets/twemojis/sunglasses-cool-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/surprised-emoji.png b/public/motionity/src/assets/twemojis/surprised-emoji.png
new file mode 100644
index 000000000..75056e1b6
Binary files /dev/null and b/public/motionity/src/assets/twemojis/surprised-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/target-emoji.png b/public/motionity/src/assets/twemojis/target-emoji.png
new file mode 100644
index 000000000..fe967b6da
Binary files /dev/null and b/public/motionity/src/assets/twemojis/target-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/thinking-face-emoji.png b/public/motionity/src/assets/twemojis/thinking-face-emoji.png
new file mode 100644
index 000000000..0aa0b75d7
Binary files /dev/null and b/public/motionity/src/assets/twemojis/thinking-face-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/thought-balloon-emoji.png b/public/motionity/src/assets/twemojis/thought-balloon-emoji.png
new file mode 100644
index 000000000..cc518b006
Binary files /dev/null and b/public/motionity/src/assets/twemojis/thought-balloon-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/thumbs-up-emoji.png b/public/motionity/src/assets/twemojis/thumbs-up-emoji.png
new file mode 100644
index 000000000..92d330245
Binary files /dev/null and b/public/motionity/src/assets/twemojis/thumbs-up-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/tongue-emoji.png b/public/motionity/src/assets/twemojis/tongue-emoji.png
new file mode 100644
index 000000000..7ba35fcf5
Binary files /dev/null and b/public/motionity/src/assets/twemojis/tongue-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/trophy-emoji.png b/public/motionity/src/assets/twemojis/trophy-emoji.png
new file mode 100644
index 000000000..55aac19a6
Binary files /dev/null and b/public/motionity/src/assets/twemojis/trophy-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/tulip-emoji.png b/public/motionity/src/assets/twemojis/tulip-emoji.png
new file mode 100644
index 000000000..2f36b692b
Binary files /dev/null and b/public/motionity/src/assets/twemojis/tulip-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/wave-emoji.png b/public/motionity/src/assets/twemojis/wave-emoji.png
new file mode 100644
index 000000000..6c02c7261
Binary files /dev/null and b/public/motionity/src/assets/twemojis/wave-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/winking-face-emoji.png b/public/motionity/src/assets/twemojis/winking-face-emoji.png
new file mode 100644
index 000000000..24b04c3db
Binary files /dev/null and b/public/motionity/src/assets/twemojis/winking-face-emoji.png differ
diff --git a/public/motionity/src/assets/twemojis/wip-emoji.png b/public/motionity/src/assets/twemojis/wip-emoji.png
new file mode 100644
index 000000000..250e6fccf
Binary files /dev/null and b/public/motionity/src/assets/twemojis/wip-emoji.png differ
diff --git a/public/motionity/src/assets/typewriter.svg b/public/motionity/src/assets/typewriter.svg
new file mode 100644
index 000000000..49082b37d
--- /dev/null
+++ b/public/motionity/src/assets/typewriter.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/motionity/src/assets/underline-active.svg b/public/motionity/src/assets/underline-active.svg
new file mode 100644
index 000000000..7cf8bc855
--- /dev/null
+++ b/public/motionity/src/assets/underline-active.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/underline.svg b/public/motionity/src/assets/underline.svg
new file mode 100644
index 000000000..fc7078b14
--- /dev/null
+++ b/public/motionity/src/assets/underline.svg
@@ -0,0 +1,4 @@
+
diff --git a/public/motionity/src/assets/undo.svg b/public/motionity/src/assets/undo.svg
new file mode 100644
index 000000000..ffb1d85b7
--- /dev/null
+++ b/public/motionity/src/assets/undo.svg
@@ -0,0 +1,11 @@
+
diff --git a/public/motionity/src/assets/upload-grey.svg b/public/motionity/src/assets/upload-grey.svg
new file mode 100644
index 000000000..db3e5c37a
--- /dev/null
+++ b/public/motionity/src/assets/upload-grey.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/motionity/src/assets/upload.svg b/public/motionity/src/assets/upload.svg
new file mode 100644
index 000000000..eb5cc1ef2
--- /dev/null
+++ b/public/motionity/src/assets/upload.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/motionity/src/assets/uploads-active.svg b/public/motionity/src/assets/uploads-active.svg
new file mode 100644
index 000000000..2c049aefd
--- /dev/null
+++ b/public/motionity/src/assets/uploads-active.svg
@@ -0,0 +1,23 @@
+
diff --git a/public/motionity/src/assets/uploads.svg b/public/motionity/src/assets/uploads.svg
new file mode 100644
index 000000000..53dfc2a60
--- /dev/null
+++ b/public/motionity/src/assets/uploads.svg
@@ -0,0 +1,23 @@
+
diff --git a/public/motionity/src/assets/video-active.svg b/public/motionity/src/assets/video-active.svg
new file mode 100644
index 000000000..cf0312c8f
--- /dev/null
+++ b/public/motionity/src/assets/video-active.svg
@@ -0,0 +1,27 @@
+
diff --git a/public/motionity/src/assets/video.svg b/public/motionity/src/assets/video.svg
new file mode 100644
index 000000000..ab13b922f
--- /dev/null
+++ b/public/motionity/src/assets/video.svg
@@ -0,0 +1,27 @@
+
diff --git a/public/motionity/src/assets/wallpaper.png b/public/motionity/src/assets/wallpaper.png
new file mode 100644
index 000000000..0d477bdf4
Binary files /dev/null and b/public/motionity/src/assets/wallpaper.png differ
diff --git a/public/motionity/src/assets/work.png b/public/motionity/src/assets/work.png
new file mode 100644
index 000000000..83fb0a194
Binary files /dev/null and b/public/motionity/src/assets/work.png differ
diff --git a/public/motionity/src/assets/zap.svg b/public/motionity/src/assets/zap.svg
new file mode 100644
index 000000000..3f30b5090
--- /dev/null
+++ b/public/motionity/src/assets/zap.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/motionity/src/assets/zappy.svg b/public/motionity/src/assets/zappy.svg
new file mode 100644
index 000000000..e2b5059fa
--- /dev/null
+++ b/public/motionity/src/assets/zappy.svg
@@ -0,0 +1,24 @@
+
diff --git a/public/motionity/src/favicon.ico b/public/motionity/src/favicon.ico
new file mode 100644
index 000000000..55c1f4211
Binary files /dev/null and b/public/motionity/src/favicon.ico differ
diff --git a/public/motionity/src/index.html b/public/motionity/src/index.html
new file mode 100644
index 000000000..7c28ffa7f
--- /dev/null
+++ b/public/motionity/src/index.html
@@ -0,0 +1,390 @@
+
+
+
Download settings
+Formats
+Import & export
+Save this project locally, or load an existing one.
+Import a project
+Export this project
+Uploads
Objects
Images
Text
Videos
Audio
More
Objects
Shapes
Emojis
Canvas settings
+| Preset | ++ |
|---|---|
| Size | ++ |
| Color | +
+
+
+
+
+
+ |
+
| Duration | ++ |
+ Keyframe easing
+ +Canvas settings
| Preset | |
|---|---|
| Size | |
| Color | |
| Duration |
Layout
| Position | |
|---|---|
| Size | |
| Rotation |
Layer
| Opacity | |
|---|---|
| Mask |
Layer
| Opacity | |
|---|---|
| Mask |
Layer
| Opacity | |
|---|---|
| Group | Group selection |
Layer
| Opacity | |
|---|---|
| Mask | |
| Group | Ungroup selection |
Layer
| Opacity | |
|---|---|
| Mask |
Rectangle
| Color | |
|---|---|
| Radius |
Shape
| Color |
|---|
Text
| Font | |
|---|---|
| Align | |
| Format | |
| Color | |
| Letter | |
| Line |
Stroke
| Type | |
|---|---|
| Color | |
| Width |
Shadow
| Offset | |
|---|---|
| Color | |
| Blur |
Image
Video
Text
| Content | Set |
|---|---|
| Font | |
| Color |
Start animation
| Preset | |
|---|---|
| Easing | |
| Order | Backward Forward |
| Order | Letters Words |
| Duration |
Audio
| Volume |
|---|
Objects
Shapes
Emojis
Text
Basic text
Uploads
Audio