Giter VIP home page Giter VIP logo

inferno's People

Contributors

aayush9029 avatar alix-michel avatar bwhtmn avatar czajnikowski avatar daprice avatar fosterbass avatar frankschlegel avatar guspan-tanadi avatar john-flanagan avatar kotarofujita avatar matt54 avatar nickkohrn avatar psalzappdev avatar sammcode avatar twodayslate avatar twostraws avatar wazawoo avatar ynagatomo avatar yo1995 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

inferno's Issues

Add parameters for genie effect

Currently, the genie effect has no parameters. It always comes in and out from the top right. More configuration options should be added.

  • change start/end suck position
  • change start/end suck size (thickness/windowing)
  • bias strength

I have a prototype for a Shimmer effect.

I have a naive prototype for a Shimmer effect (a la SwiftUI-Shimmer ) that I would like to add to the library.

I was able to get the shine working, but the animatable value isn't working correctly. It's pivoting at the top leading corner, and I'd like it to simply slide horizontally. If anyone, has any pointers, that would be much appreciated.

I tried to use the same "uv" method that Paul showed here.

Screen.Recording.2024-03-26.at.11.21.30.AM.mov

Question about contribution and distribution

Hey @twostraws ๐Ÿ‘‹

I'd like to showcase one more effect in your repo, kind of a scan-glitch effect, here's a WIP/sneak peek:

Screen.Recording.2024-02-21.at.15.14.03.mov

However, while it's a great idea to showcase it in your repo, it's not necessarily a good idea to keep it there from a "distribution" point of view... It's a small piece of code that ideally should be maintained independently in a separate repo. I think that it'd be a good idea to develop it in a separate Swift package and integrate it with your repo using SPM.

What do you think?

Create a Package.swift file for easier project integration

It would be great to allow users to bring Inferno into their project using Swift Package Manager, which would mean importing the shaders and helper files ready for use. Obviously the sample project will be in the check out, but we don't actually want to include that in their build.

ContentPreviewSelector does not seem to work on iOS and iPadOS

Is anybody else experiencing a weird behavior of the ContentPreviewSelector (i.e. selecting emoji, image, shape or symbol to apply a shader to)? Almost all of the time the segmented picker does not work on iPhone and iPad, but does work fine on macOS and visionOS. It won't change the segment when tapped on.

I can't find any problem with this picker in the code, so I'm wondering if somebody else has observed this as well?

Note: I am using Xcode 15.2 and the Simulator for iOS 17.2 and iPadOS 17.2, as well as a physical iPhone 15 Pro running iOS 17.3.1.

Create SwiftUI View extensions to apply each shader more easily

The goal here is to make the shaders easily to apply by wrapping them in View extensions. So, rather than writing this:

Image(systemName: "figure.walk.circle")
    .font(.system(size: 300))
    .colorEffect(
        ShaderLibrary.checkerboard(
            .color(.red),
            .float(50)
        )
    )

Users might* instead write this:

Image(systemName: "figure.walk.circle")
    .font(.system(size: 300))
    .checkerboardEffect(size: 50, replacement: .red)

I've put the asterisk next to "might" because that's just a suggestion for the spelling. Other options that come to mind:

  • .checkerboard() <-- Might mean some shaders clash with other modifiers?
  • .infernoEffect(.checkerboard(size: 50, replacement: .red)) <-- uses enum associated values, and means we have only one top-level View modifier rather than one for each shader.

Two tips:

  1. You don't need to convert them all. In fact, it's better to convert a small number at a time then commit that change, to avoid clashes with other developers.
  2. You're welcome to submit other API naming ideas โ€“ I'd rather have a discussion about it and reach a consensus than just dive in with the first option that comes to mind ๐Ÿ™‚

Thank you!

Add screenshots to the README

It would be great to have screenshots of each shader working right in the README, alongside their example code. You don't need to do them all in order to contribute โ€“ even just adding one would be great!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.