Skip to content

kenkoller/KyberStation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

923 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

KyberStation

No install. Works in any modern browser. Mobile, tablet, laptop, or desktop.

CI License: MIT Feedback Welcome

Quick links: 🚀 Try it · Features · Showcase · Changelog · FAQ · Gallery

Twelve blade styles rendering live, Stable, Unstable, Fire, Pulse, Plasma, Aurora, and more

Visual blade style editor, real-time simulator, and ProffieOS config generator for custom lightsabers.

Free · browser-based · MIT licensed · no accounts · no backend · hobby project · beta

33 styles · 22 effects · 19+13 ignition/retraction animations · 455+ presets · 7 board families · ~8,300 tests

Design and visualize blade styles for many boards. Export flashable ProffieOS firmware for stock Proffieboard V3 (the compile-and-flash path, documented in docs/FLASH_GUIDE.md) and ProffieOS Runtime Presets for SAVE_PRESET sabers like 89sabers, Sabertrio, KR Sabers — Phase A (reorder/rename/duplicate factory presets) + Phase C (custom colors and timing via the advanced verb), no firmware flash required and bench-validated 2026-05-16 on the 89sabers V3.9-BT. Also: real SD-card files for Xenopixel V3 (constrained effect subset). For CFX, Golden Harvest, and other boards, KyberStation generates design-reference notes only — not flashable firmware. Note: custom firmware flashing on the 89sabers V3.9-BT (and likely peer BT-equipped vendor chassis) is not currently reliable — see docs/research/PROFFIE_V39BT_FLASH_FEASIBILITY.md for the audit; runtime presets is the sanctioned path for those chassis. KyberStation's in-app deliverability panel tells you exactly what transfers to your saber before you export. Works on any device, phone, tablet, laptop, or desktop. Installable as a PWA.

Think "DAW for lightsabers", if GarageBand let you design blade animations instead of music tracks.

Beta posture: This is the first public release. KyberStation v1.0 is a design tool first, visual editor + simulator + ProffieOS code generator. To flash a generated config to a real Proffieboard, use the documented dfu-util workflow in docs/FLASH_GUIDE.md. The in-browser WebUSB FlashPanel is shipped as experimental in v1.0; see the Flash section below.

Features

Blade Engine (150+ source files across packages, ~8,300 tests)

  • 33 blade styles, Stable, Unstable, Fire, Pulse, Rotoscope, Gradient, Photon, Plasma, Crystal Shatter, Aurora, Cinder, Prism, Painted, Image Scroll, Gravity, Data Stream, Ember, Automata, Helix, Candle, Shatter, Neutron, Torrent, Moire, Cascade, Vortex, Nebula, Tidal, Mirage, Darksaber, Sith Flicker, Blade Charge, Tempo Lock
  • 22 effect types, Clash, Lockup, Blast, Drag, Melt, Lightning, Stab, Force, Shockwave, Scatter, Fragment, Ripple, Freeze, Overcharge, Bifurcate, Invert, Ghost Echo, Splinter, Coronary, Glitch Matrix, Siphon, Unstable Kylo
  • 19 ignition + 13 retraction animations with 10 easing curves and custom easing support
  • Multi-directional layer compositing with per-segment effect scoping
  • Headless engine, zero DOM dependencies, runs in browser, tests, or Electron

Combat Effects (live-triggerable, sustained or one-shot)

Lockup effect, sustained warm pulses where blades cross

  • Click-to-trigger any of 22 effects from the action bar (Clash, Lockup, Blast, Stab) or keyboard (C, L, B, S)
  • Sustained effects (Lockup, Drag, Melt) hold while the trigger is held, the visualizer shows the live held state
  • Spatial placement, blast position + radius, lockup pivot point, drag tail length all configurable
  • Modulation routing v1.1 + Wave 8 LITE, wire any of 19 modulators (11 continuous + latched signals: swing, sound, angle, twist, time, clash, battery, lockup, preon, ignition, retraction; plus 8 button/gesture events: aux-click, aux-hold, aux-double-click, gesture-twist, -stab, -swing, -clash, -shake) to any blade parameter via click-to-route, drag-to-route, or fx-button math expressions

Code Generation

  • AST-based ProffieOS C++ code emitter, balanced angle brackets, valid template nesting
  • Full config.h generation with Layers<>, BlastL<>, InOutTrL<>, transitions, functions
  • ProffieOS 7.x compilation validated via arduino-cli (23-preset config, 264 KB / 52% flash)
  • Correct SaberBase:: enum prefixes, maxLedsPerStrip placement, CONFIG_PROP section separation
  • Xenopixel fontconfig.ini + config.ini emitter — real SD card config file generation for Xenopixel V3 boards, firmware-version-aware format output

Multi-Board Support (16 boards)

  • Proffieboard V2.2, V3.9, Lite, and Clone variants
  • CFX, Golden Harvest V3/V4, Verso
  • Xenopixel V2/V3, LGT, Asteria, Darkwolf, DamienSaber
  • Board capability matrices with compatibility scoring per preset
  • Xenopixel V3 configuration mode (constrained 8-effect subset) — visual blade effect picker (8 of ~25 firmware effects: Fire, Steady, Unstable, Rainbow, Candy, Crack, Pulse, Flashing), ignition style picker (12 of ~50 firmware ignitions), motion control panel, global settings panel, live config preview, and SD card ZIP export. Clash/lockup/blast colors and shimmer don't transfer to Xenopixel firmware (limitation of the format, not KyberStation).
  • Accurate Xenopixel blade previews — 8 engine style implementations + 10 ignition animations that approximate what real Xenopixel V3 firmware produces on hardware
  • Proffie-to-Xenopixel compatibility dialog — switch boards and see which Xenopixel effect best matches your current ProffieOS style, with human-readable degradation notes (automatic config conversion planned for a future release)
  • Xenopixel SD card import — parse existing fontconfig.ini + config.ini files to reconstruct editable presets in KyberStation
  • Firmware version awareness — 5 Xenopixel firmware versions (1.0 through 1.4.0) with version-specific config format and capability gating
  • Battery selector with manufacturer-spec discharge warnings, pick from a catalog of common 18650 + 21700 cells; Hardware panel surfaces a safety warning when configured LED count exceeds the cell's continuous-discharge headroom
  • Vendor-reality blade length captions, Hardware panel flags when configured LED count diverges from typical vendor practice for a given inch length

Flashing your saber

The recommended path for v1.0 is the dfu-util command-line workflow documented in docs/FLASH_GUIDE.md. It includes a mandatory backup step that turns "I just bricked my saber" into "I just lost 30 seconds." Most Proffieboard owners already have a terminal and arduino-cli installed; this workflow takes about 10 minutes the first time and two commands every time after.

Quick overview of the dfu-util path:

  1. Design your saber in KyberStation, export config.h from the OUTPUT panel.
  2. Drop it into a ProffieOS source tree, point ProffieOS.ino at it, compile with arduino-cli.
  3. Strip the .iap DFU suffix, enter DFU mode, back up your existing firmware, flash with dfu-util.

Full step-by-step instructions, vendor-customized-board warnings (89sabers, KR, Saberbay), and recovery procedure live in FLASH_GUIDE.md. For per-chassis compatibility status (which vendor sabers are bench-confirmed vs TBD vs known-not-working under each delivery path), see the public hardware compatibility matrix — community-PR-able as more boards get tested. 89sabers V3.9-BT owners: see docs/research/PROFFIE_V39BT_FLASH_FEASIBILITY.md — custom-firmware flashing on this chassis has not produced a booting saber across 9 bench attempts (including W2-prime with 89Sabers' actual factory source); the runtime-preset Card Writer is the recommended workflow.

WebUSB FlashPanel (experimental, v1.0):

  • KyberStation also includes a one-click in-browser WebUSB FlashPanel.
  • The protocol is implemented and verified against a comprehensive mock test suite, but on real hardware the manifest phase has a known issue that can leave the chip stuck in DFU mode after a successful write, particularly on vendor-customized boards (89sabers, KR, Saberbay, Vader's Vault).
  • For v1.0, the FlashPanel is shipped behind an EXPERIMENTAL badge with a 3-checkbox disclaimer gate: you must acknowledge (1) responsibility for the flash, (2) that you have backed up your existing firmware via dfu-util, and (3) that you have a recovery plan. Proceed remains disabled until all three are checked.
  • Use the dfu-util workflow as your reliable path; treat the FlashPanel as an experiment. The mandatory-backup acknowledgement turns "I just bricked my saber" into "I just lost 30 seconds."
  • The manifest-phase fix is planned for a future stabilization release.

Help us improve hardware coverage. If you flash your saber and hit anything unexpected, please file a hardware report with your saber vendor, board variant, OS, and what happened.

Blade Topologies (8 configurations)

  • Single, Staff, Crossguard, Triple, Quad-Star, Inquisitor Ring, Split Blade, Accent LEDs
  • Per-segment effect scoping, ring rotation, configurable blade lengths (24"–40")

Sound System

  • Sound font parser and Web Audio playback engine
  • SmoothSwing pair crossfade simulation
  • 13 stackable audio filters, LP/HP/BP, distortion, reverb, delay, tremolo, chorus, flanger, phaser, bitcrusher, pitch shift, compressor
  • Dynamic filter parameters driven by swing speed, blade angle, twist, LFO, or noise
  • 6 built-in filter chain presets

User Presets & Collections

  • One-click Save Preset from the action bar, snapshots the current config to your local library with auto-named entries
  • "My Presets" sidebar section in the gallery with click-to-load, delete, and color swatches
  • Save any blade configuration as a reusable preset in your personal library
  • Tag, search, sort, duplicate, and organize presets
  • Export/import preset collections as .kyberstation-collection.json bundles
  • Thumbnail auto-capture from the blade canvas (engine-rendered MiniSaber preview)

Font Library

  • Directory picker scans your local sound font collection (Chromium browsers)
  • Auto-detects format (Proffie, CFX, Generic), SmoothSwing pairs, completeness
  • Load, pair with presets, and persist folder selection across sessions via IndexedDB

Saber Profiles & Card Presets

  • Create named saber profiles with multiple card configs ("Dueling Set", "Display Set")
  • Inline rename + private workbench notes + description per profile, keep build journals or vendor notes attached to a saber without exposing them in the generated config
  • Click-to-rename card presets in the queue, quick relabel without opening a modal
  • One-click Add to Queue from the action bar, drops the current config into the active profile's card queue with auto-generated name
  • Card Preset Composer, add from Gallery, My Presets, or current editor state
  • 4 built-in starter templates (OT Essentials, Prequel Collection, Dark Side Pack, Dueling Minimalist)
  • Storage budget estimation per preset entry with real font sizes when library connected
  • SD Card Writer, generate a ZIP with config.h and font directories, ready to extract

Gallery

A blade cycling through eight canonical saber colors

  • 354+ character presets across canon, Legends, kinetic-style cuts, and pop-culture sources (LOTR, Marvel, DC, Zelda, mythology, anime, gaming, kids' cartoons, Power Rangers, mascots)
  • Grid view as default with view toggle, color/style/era filter rail, click-to-open detail modal showing full config + load/share actions
  • Every preset is continuity-tagged so you can filter to just canon
  • Surprise Me randomizer pulls from the full ignition + retraction + modulation catalogs

Sharing

  • Kyber Code system, compact config URLs with deflate compression + base64url encoding
  • Single config, preset collection, and card template import/export
  • Animated GIF export (idle hum loop + ignition cycle) and 1200×675 share-card PNG with QR scan-to-open

Accessibility

  • Reduced motion auto-sync from OS prefers-reduced-motion
  • Keyboard-only drag-and-drop alternative (Alt+Arrow keys)
  • ARIA labels, focus traps, and color-only indicator text fallbacks
  • Responsive grid layouts, 44px minimum touch targets
  • 9 scene themes for full UI theming

Desktop Workbench Layout

  • Horizontal blade canvas with multi-column panel workspace below
  • Responsive 1–4 column grid (adapts to viewport width)
  • Drag-and-drop panel reordering between columns via HTML5 DnD
  • Saveable layout presets, create, load, delete custom arrangements
  • Header bar with undo/redo, FPS counter, share (Kyber Code), global pause, settings

Mobile Shell

  • Vertical-stack layout with sidebar drawer at 375px and up, purpose-built for phones, not a squashed desktop
  • Bottom tab bar for primary navigation between editor, gallery, and saved sabers
  • Full editing parity for color, style, and effect tuning, design a saber from your phone

Marketing Pages

  • /features, long-form ledger of 10 feature pillars with deep-link anchors and inline ProffieOS code peeks
  • /showcase, curated 20-saber tour grouped JEDI / SITH / STYLE / CROSS, click-through to editor via Kyber Code
  • /changelog, auto-rendered from CHANGELOG.md with per-release anchors
  • /faq, 13 entries answered in the humble hobby-project tone, native <details>/<summary>

Visualization Stack & Debug Mode

  • 13 toggleable analysis layers below the blade canvas (pixel strip, R/G/B channels, luminance, power draw, hue, saturation, effect overlay, swing response, transition progress, storage budget)
  • Per-pixel debug overlay: hover for RGB/hex/HSL/mA/SW color name, click to pin info cards, range selection
  • Visualization toolbar with quick-toggle icons for each layer

Fullscreen Preview

  • Immersive blade preview with auto-hiding controls
  • Horizontal and vertical blade orientations
  • Mobile device motion support (accelerometer/gyroscope drives swing speed and blade angle)
  • Full keyboard shortcut support for effect triggers

Settings & Customization

  • Performance tiers: Full, Medium, Lite (via CSS class system)
  • Aurebesh mode: Off, Labels, Full (toggle all UI text to Star Wars script)
  • UI sounds: Star Wars-style beep/chirp feedback with Web Audio synthesis (default off)
  • 30 scene themes (9 base + 21 extended) with material, corner, border, and ambient properties
  • Global pause toggle freezes all animations app-wide
  • Undo/redo with 50-entry history and human-readable labels

Status

KyberStation editor, workbench with blade preview, sidebar, and analysis rail

v0.21.1: Polyglot Release (2026-05-12)

First big consolidation past launch. 118 commits since v0.20.3 spanning the May 2026 sprint cycle:

  • Xenopixel V3 full board support — second-board parity with Proffieboard: 8 blade effect styles, 10 ignition animations, real fontconfig.ini / config.ini generation, 5 firmware versions, SD card import, Proffie→Xenopixel compatibility analysis
  • Fredrik Style Editor integration — Phases 1–7: tree walking, variant cycling, AST-to-tree renderer with inline editing, layer controls, style transformations, template insertion palette
  • Template-eval interpreter — new packages/template-eval workspace parses real ProffieOS C++ template syntax into evaluable ASTs; engine bridge wires it as a new render mode; registry expanded 153 → 372 entries
  • Visualizer 3D blade + Hardware Preview mode — Three.js / React-Three-Fiber blade mesh with emissive LED material and orbit controls (Phases 1–2 of the Visualizer Upgrade Plan)
  • Fett263 Prop File Editor Level 1 — toggle panel for ~30–40 Fett263 #defines; covers ~90% of Proffie users' prop customization without authoring a full prop file
  • 40 new Preset Cartography presets — KOTOR-adjacent, animated series, creative-community designs; library at 455
  • Mouse-driven swing simulation + slow-motion playback + renderer-level golden-hash regression tests for card snapshots and the workbench blade pipeline
  • Comprehensive 4-wave audit cleanup — accuracy, hygiene, dead code, structural; CLAUDE.md compressed 3,043 → 573 lines, 44 historical docs archived

Tests: 8,283 across 7 packages. Typecheck clean across 13 workspace packages.

v0.16.0: Launch (2026-04-30)

The first publicly-released version. Includes:

  • Save Preset + Add to Queue action-bar buttons, one-click flow from "I built something" to "it's saved" or "it's on a card"
  • Battery selector with manufacturer-spec power warnings, pick from a catalog of common 18650 / 21700 cells; Hardware panel surfaces a safety banner when LED count outruns the cell's continuous-discharge headroom
  • Profile rename + private workbench notes + description, keep build journals attached to a saber without exposing them in the generated config
  • Gallery grid view as default, with click-to-open detail modal and color/style/era filter rail
  • Mobile shell, vertical-stack layout with sidebar drawer, designed for 375px and up
  • Marketing pages, /features, /showcase, /changelog, /faq for visitors who want context before opening the editor
  • Full Modulation Routing v1.1 Core + Wave 8 LITE, 19 modulators (11 continuous + latched signals from v1.1 Core; 8 button/gesture events from Wave 8 LITE: aux-click, aux-hold, aux-double-click, gesture-twist, -stab, -swing, -clash, -shake), click-to-route + true HTML5 drag-to-route, per-binding expression editing via fx button popover, reciprocal hover highlighting, AST-level template injection in codegen so the generated config.h flashes LIVE ProffieOS templates instead of snapshot values
  • 4 new engine effects, Sith Flicker (unstable-weapon flicker), Blade Charge (visible buildup), Tempo Lock (beat-locked rhythm), Unstable Kylo (crossguard pulse)
  • 27 new kinetic-style presets for the Surprise Me / kinetic gallery filter
  • Vertical Saber Card layout + 4 layouts × 5 themes (20 combos) for share-card export
  • Animated saber GIF export, idle hum loop + ignition cycle from the My Crystal panel, headless workbench renderer port
  • 354+ character presets across canon, Legends, kinetic-style cuts, and pop-culture sources (LOTR, Marvel, DC, Zelda, mythology, anime, gaming, kids' cartoons, Power Rangers, mascots), every preset is continuity-tagged so you can filter to just canon
  • AST-based ProffieOS code generator, emits balanced templates that compile against ProffieOS 7.x without modification
  • dfu-util workflow as the recommended flash path (docs/FLASH_GUIDE.md) with mandatory firmware backup; in-browser WebUSB FlashPanel as experimental behind a 3-checkbox disclaimer gate
  • Kyber Glyph v2 sharing, ?s=<glyph> URL handler round-trips full configs including modulation bindings; v1 / v2 backward compatible

See the CHANGELOG for the full Added / Changed / Fixed list and the prior version entries.

Phase 1 Bug Fixes (Complete)

  • Stutter ignition timing corrected
  • Crystal Shatter retraction animation fixed
  • Photon/pixel render sync resolved
  • Responsive breakpoints tuned for mobile and tablet viewports
  • Hex color input added to the color panel
  • Gallery preset tag contrast improved for readability
  • Canvas RGB graph improvements: Y-axis labels, consistent spacing

ProffieOS Codegen Validation (Complete)

  • Generated config.h compiles against ProffieOS 7.x without modification
  • 23-preset config compiled successfully (264 KB, 52% of available flash)
  • Validated via arduino-cli with Proffieboard V3 FQBN

Phase 4-5: UI Redesign & New Effects (Complete)

  • Desktop workbench layout with responsive multi-column panels replacing sidebar
  • Visualization stack with 13 analysis layers and per-pixel debug mode
  • 24 new engine effects (Phase 4): 8 styles, 7 effects, 5 ignitions, 4 retractions
  • Fullscreen preview with device motion support for mobile
  • Global pause system, undo/redo history, share via Kyber Code URLs
  • Settings modal with performance tiers, Aurebesh mode, UI sounds, layout presets
  • Hardware defaults corrected: LED count 132→144, volume 2000→1500, zoom constrained
  • 30 scene themes with material/corner/border CSS properties

Phase 6: Engine Expansion (Complete)

  • 13 new engine components: 7 styles (Torrent, Moire, Cascade, Vortex, Nebula, Tidal, Mirage), 6 effects (Invert, Ghost Echo, Splinter, Coronary, Glitch Matrix, Siphon), 3 ignitions (Hyperspace, Summon, Seismic), 3 retractions (Implode, Evaporate, Spaghettify)
  • Engine totals: 33 styles, 22 effects, 19 ignitions, 13 retractions (87 animation components)

v0.11.1: Landing Page + Design Review Polish (Complete)

  • Replaced redirect('/editor') with a real first-impression landing: live BladeEngine hero (4 iconic preset rotation: Luke ROTJ, Anakin, Kylo Ren, Ahsoka), value strip, CTAs, release strip, footer.
  • Full design-audit polish pass shipped: alert-color token discipline (raw hex replaced with rgb(var(--*)) theme tokens), skeleton + error-state coverage across async panels, colour-glyph pairing via new <StatusSignal> primitive for colorblind redundancy.
  • .reduced-motion class and @media (prefers-reduced-motion: reduce) now both hide ambient decorations (opacity: 0) instead of just stopping animation, matching the behaviour of .ambient-off.
  • CI infrastructure fixes: lint scripts replaced with a clearly-labeled placeholder (eslint was referenced but never installed); /editor and /m pages now wrap useSearchParams() in Suspense to satisfy static prerender under output: 'export'.

v0.11.2: Color Naming Math (Complete)

  • Colour picker name display rewritten as a three-tier algorithm (apps/web/lib/namingMath.ts): ~147 landmark HSL points (every curated name preserved + 42 additions across yellow-green / indigo / Legends deep-cuts) → 10-modifier grammar (Pale, Deep, Vivid, Muted, Dawn-, Dusk-, Shadowed, Bleached, Ember-, Frost-) → coordinate-mood fallback ({Mood} {Sector} {HEX}-{HEX}).
  • Fine-adjustment variety fixed: small nudges in the colour picker now produce different names instead of repeating the same landmark.
  • "Unknown Crystal" fall-through removed, every RGB now returns a distinctive, in-universe name (verified across 2,000-RGB random scan).
  • 83 new tests pinning determinism, coverage, modifier precedence, landmark preservation, and mood-word length budget. saberColorNames.ts is now a thin re-export shim so existing callers (ColorPanel, PixelDebugOverlay) need no changes.

Quick Start

Prerequisites

  • Node.js 20+
  • pnpm 9+

Install & Run

git clone https://github.com/kenkoller/KyberStation.git
cd KyberStation
pnpm install
pnpm dev

Open http://localhost:3000 in your browser. You'll land on the identity page, click Open Editor to start building, Launch Wizard for a guided 3-step onboarding, or Browse Gallery to jump straight to curated presets.

Development

pnpm dev              # Start dev server
pnpm build            # Build all packages + app
pnpm test             # Run all tests (Vitest)
pnpm test:engine      # Engine tests only
pnpm test:codegen     # Codegen tests only
pnpm lint             # ESLint check
pnpm typecheck        # TypeScript strict check

Architecture

Monorepo powered by pnpm workspaces. Engine-first design, the simulation engine is the source of truth, and the UI is a thin rendering layer.

kyberstation/
├── apps/web/              # Next.js 14 web application (App Router)
│   ├── app/               # Pages: landing, editor, share link handler
│   ├── components/        # Editor panels, shared UI, layout
│   ├── hooks/             # useBladeEngine, useAnimationFrame, etc.
│   ├── stores/            # Zustand stores (13 total: blade, ui, layout, layer, visualization, history, userPreset, presetList, saberProfile, audioFont, audioMixer, accessibility, timeline)
│   └── lib/               # Config I/O, Kyber Code encoding, IndexedDB
├── packages/engine/       # Headless blade simulation engine
│   ├── styles/            # 29 style implementations
│   ├── effects/           # 21 effect types
│   ├── ignition/          # 19 ignition + 13 retraction animations
│   ├── functions/         # ProffieOS function emulators
│   └── motion/            # IMU/motion simulation
├── packages/codegen/      # AST-based ProffieOS C++ code generator
├── packages/presets/      # Character preset library (all eras)
├── packages/sound/        # Sound font parser, player, filter chain
├── packages/boards/       # 16 board profiles + compatibility scoring
├── scripts/               # local-build.mjs, local-dev.mjs (no-Turbo runners)
└── docs/                  # Architecture, contributing, ProffieOS reference

Tech Stack

Layer Technology
Framework Next.js 14 (App Router)
Language TypeScript (strict mode)
UI React 18, Tailwind CSS, Radix UI
State Zustand
Rendering HTML5 Canvas 2D
Audio Web Audio API
Code Generation Custom AST → C++ emitter
Storage IndexedDB (Dexie.js), fonts, presets, profiles, library handles
Testing Vitest + React Testing Library
Build pnpm workspaces (Turborepo optional)

Feedback

KyberStation is a hobby project built by one person. Outside pull requests are not currently accepted while the project is still taking shape, this policy will likely change as things stabilize. In the meantime, bug reports, feature ideas, and style requests are the most useful way to help.

The Contributing Guide documents the repo structure and how new styles, effects, boards, and presets are added, useful reference even if you can't submit a PR yet. This project follows a Code of Conduct.

License

KyberStation itself is MIT-licensed.

Upstream acknowledgements

  • ProffieOS (the firmware this tool targets) is licensed under GNU GPL-3.0. KyberStation does not contain any ProffieOS source code; it emits C++ configs intended to be compiled into ProffieOS. When a user compiles a generated config and distributes the resulting firmware, GPL-3.0 obligations apply to that combined work, most importantly, the Corresponding Source (including the generated config) must be made available to recipients. KyberStation's emitter includes a GPL-3.0 attribution header in every generated config.h to make this relationship explicit.
  • Community style snippets committed under packages/codegen/tests/fixtures/fett263/ are GPL-3.0 derivatives of ProffieOS examples (mostly Fett263's published style library). They are kept in a dedicated subdirectory with their own attribution comments; see that folder's README.md for the contribution policy. The rest of KyberStation remains MIT.

Credits & Thanks

KyberStation stands on the shoulders of years of saber-community work. Massive thanks to:

  • Fredrik Hübinette, creator of ProffieOS and the Proffieboard hardware. Without ProffieOS, this tool wouldn't exist. The whole Neopixel saber community owes him.
  • Fett263, the Style Library, edit-mode conventions, dual-mode ignition pattern, and prop file work that KyberStation's codegen targets. Most of what KyberStation generates is a visual editor for things Fett263 figured out.
  • The Crucible and Proffieboard communities, the Q&A archive, the troubleshooting threads, the patient answers to beginner questions. Real reference material.
  • The saber vendors (89sabers, KR Sabers, Saberbay, Vader's Vault, and others), for shipping the hardware that makes this hobby possible.
  • The font makers (Kyberphonic, Greyscale, and the many ProffieOS-format font authors), the audio half of every saber.

KyberStation is a hobby project. It exists because of the work above.

About

Standalone desktop + web app for designing, previewing, and exporting custom lightsaber blade styles for Proffieboard V3.9 / ProffieOS 7.x.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors