Skip to content

Instantly share code, notes, and snippets.

View wjt's full-sized avatar

Will Thompson wjt

View GitHub Profile
@wjt
wjt / 70c60831e77e26f1efda45ef9560cf02f8d81340.patch
Created February 4, 2026 17:53
Threadbare PR 1865 conflict resolution
commit 70c60831e77e26f1efda45ef9560cf02f8d81340
Merge: 1c1ec84f b2cc145e
Author: Will Thompson <wjt@endlessaccess.org>
Date: Wed Feb 4 17:45:26 2026 +0000
Merge remote-tracking branch 'origin/main' into issue_1847
diff --cc scenes/game_elements/props/filling_barrel/filling_barrel.tscn
index 507aac10,1bc0eea5..7f44c0bc
--- a/scenes/game_elements/props/filling_barrel/filling_barrel.tscn
@wjt
wjt / crow-jam.strudel.js
Created January 28, 2026 09:21
A crow-based livecoding jam from a work retreat
$: s(`
bd ~ [bd bd] ~,
~ sd ~ sd,
hh*2 hh hh*2 [hh oh]
`)
.bank("tr909").dec(.4)
.gain(slider(0, 0, 1, 0.1))
.lpf(slider(9100, 100, 20000, 250))
.hpf(slider(10100, 100, 20000, 250))
.jux(rev)
#!/usr/bin/env python3
# Copyright The Threadbare Authors
# SPDX-License-Identifier: MPL-2.0
import json
import subprocess
import csv
import sys
import re
NO_CREDIT_LICENSES = {
{"Protocol":0,"Id":"539e63778261a8d644de4977c35008a2","Path":"/media/Music/Rolo Tomassi/In the Echo of All Dreams/Rolo Tomassi - In the Echo of All Dreams - 01 Woodburn.flac","EncoderPath":null,"EncoderProtocol":null,"Type":0,"Container":"flac","Size":37871254,"Name":"Rolo Tomassi - In the Echo of All Dreams - 01 Woodburn","IsRemote":false,"ETag":"16be8aef6b61229f0274530ec5d969a6","RunTimeTicks":1968730420,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"UseMostCompatibleTranscodingProfile":false,"RequiresOpening":false,"OpenToken":null,"RequiresClosing":false,"LiveStreamId":null,"BufferMs":null,"RequiresLooping":false,"SupportsProbing":true,"VideoType":null,"IsoType":null,"Video3DFormat":null,"MediaStreams":[{"Codec":"flac","CodecTag":null,"Language":null,"ColorRange":null,"ColorSpace":null,"ColorTransfer":null,"ColorPrimaries":null,"DvVersionMajor":null,"DvVersion
#!/bin/bash
set -ex
source=scenes/tileset.tres
declare -A targets=(
[tiles/bridges.tres]="tiles for bridges (and their shadows)"
[tiles/elevation.tres]="cliff tiles (plain and mines)"
[tiles/exterior_floors.tres]="grass, sand, and dirt tiles"
[tiles/foam.tres]="foam tiles"
[tiles/void_chromakey.tres]="chromakey Void texture"
@wjt
wjt / tilemaplayer_diff.gd
Created October 29, 2025 10:12
Kludgy script to diff the TileMapLayers in two versions of a scene
# SPDX-FileCopyrightText: The Threadbare Authors
# SPDX-License-Identifier: MPL-2.0
@tool
extends EditorScript
const OLD = "res://orig.tscn"
const NEW = "res://scenes/quests/lore_quests/quest_001/3_stealth_level/stealth_level.tscn"
func _run() -> void:
var old: Node = load(OLD).instantiate(PackedScene.GenEditState.GEN_EDIT_STATE_INSTANCE)
# SPDX-FileCopyrightText: The Threadbare Authors
# SPDX-License-Identifier: MPL-2.0
@tool
extends EditorScript
const TILESET_PATHS := [
"scenes/quests/story_quests/shjourney/2_shjourney_intro/tilesetIntro02.tres",
"scenes/quests/story_quests/shjourney/3_shjourney_intro/tilesetIntro.tres",
"scenes/quests/story_quests/shjourney/4_Laberinto/tileselaberinto.tres",
"scenes/quests/story_quests/shjourney/5_shjourney_sequence_puzzle/tilesetMinijuego02.tres",
#!/usr/bin/python3
import argparse
import subprocess
import sys
import os
import shlex
def main():
parser = argparse.ArgumentParser()
@wjt
wjt / meld
Created December 11, 2023 16:59
I save this file as ~/.local/bin/meld
#!/usr/bin/python3
import argparse
import subprocess
import sys
import os
import shlex
def main():
parser = argparse.ArgumentParser()
#!/usr/bin/env python3
from gi.repository import GLib
import argparse
import itertools
def main():
parser = argparse.ArgumentParser()
parser.add_argument("wordlist", type=argparse.FileType("r"))