Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: add optional onType code shaking animations, aka Power Mode from Atom #69

Open
mbalc opened this issue Jul 25, 2024 · 4 comments
Labels
enhancement New feature or request

Comments

@mbalc
Copy link

mbalc commented Jul 25, 2024

There is one extension dedicated currently for VSCode that tries to recreate Power Mode from Atom, but the result is slightly disappointing, in my opinion.

Meanwhile, this extension seems to have a great codebase foundation to implement features from that extension in a much better way.

As the most core feature of Power Mode, I suggest code shakes to be implemented first.

Here's a preview of how the whole experience looks like in Atom (the shaking+particles effect kicks in after Combo: 50+)
https://www.youtube.com/watch?v=Jg5aZxWmsnw

(also haha funey issu numbah)

@BrandonKirbyson BrandonKirbyson added the enhancement New feature or request label Jul 25, 2024
@BrandonKirbyson
Copy link
Owner

Ok thanks for mentioning this, actually thought about doing something like that since the extension could somewhat easily incorporate this like you said. Could you maybe list any settings you would ideally want to see, or any other possible features besides the code shaking. Also, what is the current extension lacking (so I don't make the same mistake)? Thanks

@mbalc
Copy link
Author

mbalc commented Jul 26, 2024

Features

The Power Mode extension for Atom is a popular package that enhances the coding experience by adding visual and interactive effects. Here are the main features:

  1. Particle Effects:
    Generates particle effects around the cursor when typing, simulating a "powerful" typing experience.
  2. Screen Shake:
    Adds a screen shake effect when typing, giving a dynamic feel to the coding process.
  3. Customizable Effects:
    Allows users to customize the particle effects, including color, size, and type of particles.
  4. Combo Counter:
    Displays a combo counter that increases with continuous typing and shows flavor text for multiples of 10, adding a gamified element to coding.
  5. Sound Effects:
    Optionally adds sound effects to keystrokes, enhancing the immersive experience.
  6. Themes and Presets:
    Offers various themes and presets for different visual styles and effects.
  7. Performance Settings:
    Provides settings to adjust the intensity and performance impact of the effects, ensuring smooth operation on different hardware.

Settings

  1. Enable/Disable Effects:
    Toggle the particle effects and screen shake on or off.
  2. Particle Settings:
    Particle Color: Customize the color of the particles.
    Particle Size: Adjust the size of the particles.
    Particle Velocity: Change the speed at which particles move.
    Particle Life Span: Set how long particles remain visible before disappearing.
    Particle Count: Control the number of particles generated per keystroke.
  3. Screen Shake Settings:
    Enable/Disable Screen Shake: Toggle the screen shake effect.
    Shake Intensity: Adjust the strength of the screen shake.
    Shake Duration: Set how long the screen shake lasts.
  4. Combo Counter Settings:
    Enable/Disable Combo Counter: Toggle the combo counter display.
    Combo Threshold: Set the number of keystrokes for the screen shakes and particles to start happening.
    Combo Reset Time: Adjust the time it takes for the combo counter to reset after stopping typing.
  5. Sound Effects:
    Enable/Disable Sound Effects: Toggle sound effects for keystrokes.
    Sound Volume: Adjust the volume of the sound effects.
  6. Themes and Presets:
    Select Theme: Choose from various pre-configured themes and presets for different visual styles.
  7. Performance Settings:
    Performance Mode: Adjust settings to optimize performance on different hardware, such as reducing particle count or disabling certain effects.

Issues of the current solution

For me personally, the biggest deal breaker there is how the shakes are implemented, they seem laggy in practice:

  • the text can only be off set into 4 different positions (default, off downward, off rightward, off toward bottom right)
  • directions too often get repeated on a subsequent character, causing no new offset to happen,
  • if you stop typing, the text resets to default after 1s of inactivity and that just feels weird - in the original it returned back in just a moment
  • the combo bar is not attached absolutely to the editor edge, but instead, when scrolling, it gets reattached to the end of the topmost line

@BrandonKirbyson
Copy link
Owner

Ok, thanks so much. Very detailed! I'll get to this soon and maybe have it released next week.

@BrandonKirbyson
Copy link
Owner

Sorry but I'm currently very busy so unfortunately I probably can't finish this feature anytime soon. For now if you really want it, you could use Animations: Open Custom CSS (live-updating css modifier file) to try and add some of the features or edit the current Power Mode extension's styles.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants