From c44803d9f69101c9cebf4c70905bb2d8ad764b0c Mon Sep 17 00:00:00 2001 From: EP Date: Wed, 20 Aug 2025 16:31:38 -0700 Subject: [PATCH] Rename to Tokenade Generator: add presets, tooltips, auto-copy, and clear disclaimer; clarify labels and actions --- index.html | 51 ++++++++++++++++++++++++++++++++++----------------- js/app.js | 19 +++++++++++++++++++ 2 files changed, 53 insertions(+), 17 deletions(-) diff --git a/index.html b/index.html index 36bb2b4..df6c85a 100644 --- a/index.html +++ b/index.html @@ -116,28 +116,39 @@ - +

- Token Bomb Generator - Create dense token sequences using nested emojis + 💥 Tokenade Generator + Craft dense token sequences with nested emojis and zero-width characters

+
+ + Disclaimer: These payloads can be disruptive to models, UIs, and tools. Use responsibly and avoid deploying in production or against systems without consent. + +
+
+ + + + +
-
- - - Length: {{ tokenBombOutput.length.toLocaleString() }} chars - +
+ + Length: {{ tokenBombOutput.length.toLocaleString() }} chars · Tip: Increasing depth/breadth grows size multiplicatively. + +
diff --git a/js/app.js b/js/app.js index be38529..104f437 100644 --- a/js/app.js +++ b/js/app.js @@ -60,6 +60,7 @@ window.app = new Vue({ tbIncludeVS: true, tbIncludeNoise: true, tbRandomizeEmojis: true, + tbAutoCopy: false, tokenBombOutput: '', // History of copied content @@ -1741,6 +1742,24 @@ window.app = new Vue({ // Provide a quick visual confirmation this.showNotification(' Token bomb generated', 'success'); + + if (this.tbAutoCopy && this.tokenBombOutput) { + this.$nextTick(() => this.copyToClipboard(this.tokenBombOutput)); + } + }, + + applyTokenadePreset(preset) { + if (preset === 'light') { + this.tbDepth = 2; this.tbBreadth = 3; this.tbRepeats = 3; this.tbSeparator = 'zwsp'; + this.tbIncludeVS = false; this.tbIncludeNoise = true; this.tbRandomizeEmojis = true; + } else if (preset === 'standard') { + this.tbDepth = 3; this.tbBreadth = 4; this.tbRepeats = 6; this.tbSeparator = 'zwj'; + this.tbIncludeVS = true; this.tbIncludeNoise = true; this.tbRandomizeEmojis = true; + } else if (preset === 'heavy') { + this.tbDepth = 4; this.tbBreadth = 6; this.tbRepeats = 12; this.tbSeparator = 'zwj'; + this.tbIncludeVS = true; this.tbIncludeNoise = true; this.tbRandomizeEmojis = true; + } + this.showNotification(' Preset applied', 'success'); } }, // Initialize theme and components