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

feat: dim zero bytes #557

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

feat: dim zero bytes #557

wants to merge 1 commit into from

Conversation

tomilho
Copy link
Contributor

@tomilho tomilho commented Nov 18, 2024

Greys out zero bytes to make non-zero data stand out. Credits to @armandas for the CSS. Closes #419

Recording 2024-11-18 at 18 29 03

Greys out zero bytes to make non-zero data stand out.
Credits to @armandas for the CSS.
@connor4312
Copy link
Member

I think this change looks good, but I wonder if we should be thinking in the long term about how this works with generic colorization (as popularly requested in #50 among others.)

(#50 and/or finishing the GPU renderer is on my mind as good candidates for hacking over the upcoming holiday season)

@tomilho
Copy link
Contributor Author

tomilho commented Nov 18, 2024

I like your way of thinking! 😊 Both projects sound really cool to me, so I'd be more than happy to help in any way I can. Let me know what I can do!

@tomilho
Copy link
Contributor Author

tomilho commented Nov 20, 2024

I looked over the binary template as I have never used them before and I think we would be doing something similar to diffing:

  1. Parse binary template
  2. Create hex decorators (like the insertion/deletion decorators; maybe with more information e.g name, type?)
  3. Render them in the hex editor.

So, I think most the work would be figuring out the binary template process would look like...

Regarding GPU rendering, I tried the canvas changes and they are incredible (barely saw any hiccups when scrolling over a large file), so I think this should be a priority over the binary template

If you agree, I can start working on the GPU rendering. Or we can take a different approach - I'm up for anything :)

@connor4312
Copy link
Member

The canvas branch works okay, but is still technically a CPU renderer and rendering of text is only marginally better than DOM (at least last time I tested it.) I want to explore doing an approach using WebGPU, and move things a little further away from React so that rendering is better optimized. These are some pretty big changes and I still need to re-ramp on webgpu stuff, it's been a while since I touched shaders (most recently was the js-debug flame chart, though that is webgl and not the newer webgpu)

@tomilho
Copy link
Contributor Author

tomilho commented Nov 21, 2024

I'll need to learn shaders to be able to help you, but (hopefully) I don't see that being an issue. Let me know when you are ready to dive into this, in the meantime I will get up to speed on shaders stuff and explore different binary templates!

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

Successfully merging this pull request may close these issues.

Dim zero bytes
2 participants