blenderize banner

blenderize

10 devlogs
14h 37m 48s

Deep web-based 3-way merge tool that understands file formats (like ZIPs)

Made for hacking together JARs in a web browser because we’re too cheap to host custom CI on demand.

penguinencounter

it works! kind of! (well, it doesn’t crash?)

needs: UI, actual merged output, conflict resolver

Attachment
0
penguinencounter

more untested code! to be tested tomorrow

(it’s like an event loop or something. i am coming to the realization that i will somehow need to write developer documentation for all of this)

in other news I turned full line code completion back on, we’ll see if it actually saves any time

Attachment
Attachment
Attachment
Attachment
1

Comments

penguinencounter
penguinencounter 10 months ago

why didn’t this show up in the feed channel

penguinencounter

Is it binary? The answer may surprise you.

we have two different kinds of UTF-16 and you have to guess which one is correct

also JS labels are real and you Can use them

Attachment
Attachment
Attachment
0
penguinencounter

built out the planner system a bit. should be able to actually pick the right before transformer by next devlog

also we’re just pretending everything we don’t recognize is text for now. this is a bad idea

Attachment
0
penguinencounter

JavaScript is a good and well-designed language /s
(maps to the rescue)
(this is a bug fix devlog)

Attachment
0
penguinencounter

I made a Meyers diff implementation!

Special thanks to James Coglan for this set of 3 articles which makes the algorithm make sense (or, more sense than I got from reading the original paper) and also providing a Ruby implementation that I adapted to TypeScript:
https://blog.jcoglan.com/2017/02/12/the-myers-diff-algorithm-part-1/
https://blog.jcoglan.com/2017/02/15/the-myers-diff-algorithm-part-2/
https://blog.jcoglan.com/2017/02/17/the-myers-diff-algorithm-part-3/

I wish I could get hackatime time for the hour spent reading math papers to figure out how the hell all these algorithms work. oh well

Next: probably a basic 3-way merge, then a MVP

(Also, Rhythm Doctor OST is carrying me through this)

Attachment
Attachment
1

Comments

penguinencounter
penguinencounter 10 months ago

oops their name is Myers not Meyers. how did I not notice this

penguinencounter

a bit of polish

(yeah it’s 47 minutes of frontend. time to lock in on backend again)

Attachment
1

Comments

penguinencounter
penguinencounter 10 months ago

also you can’t see it because it’s a still image but I animated the progress bar

penguinencounter

made a quick browser demo for testing purposes (and finished up getting back to before I deleted everything)

next is probably getting text merges to work

Attachment
0
penguinencounter

Got the project set up and published on GH.

Also, accidentally made a circular dependency when trying to make a Promise wrapper with a progress callback. That was interesting to solve. (Builder to the rescue?)

(There’s not really much to show, because most of this is library stuff - eventually there will be a browser demo, but we’re not there yet)

Attachment
0