All posts
v0.3.0

v0.3.0

Added

  • Smooch wavetable oscillator (OSC_WAVETABLE) with multi-bank support and band-limited mipmap tables
  • Userspace state primitives: state, get, set cells backed by a new STATE_OP opcode for stateful patches in Akkado source
  • Edge-triggered operators via the new EDGE_OP (replaces SAH) with mode-dispatched edge primitives
  • UFCS method-call syntax: x.foo(y) falls through to foo(x, y)
  • Pattern event arrays with typed prefixes and auto-coercion of patterns to scalar values
  • Pattern transforms: swing, swingBy, ply, linger, zoom, segment, early, late, palindrome, compress, iter, iterBack
  • Pattern generators: run, binary, binaryN
  • Mini-notation record suffix for per-event fields, e.g. c4{vel:0.8, dur:0.5}
  • Custom-property accessor with bend, aftertouch, dur transforms
  • Voicing system: anchor, mode, voicing, addVoicings builtins
  • Live audio input: in() builtin + INPUT opcode wired through the host
  • Optional step parameter on range(); extended optional params across array utility builtins
  • nkido-cli render mode for offline rendering, plus a Python polyphony experiment harness
  • /embed route with a patches system and 10 landing-page demo patches
  • web-v* tag pattern for web-only production deploys
  • Hippocratic Code of Conduct

Changed

  • poly() signature reordered with a higher voice ceiling; debugger panel and F1 docs polished
  • Renamed foldreduce in the arrays reference; rebuilt arrays test coverage
  • Smooch wavetable position smoothed at audio rate to suppress UI-cadence sidebands
  • Hot-swap reliability: Ctrl+Enter is guaranteed to refresh audio even when block topology changes

Removed

  • product array builtin (replaced by reduce)

Fixed

  • phaser dry+wet summing; stages and feedback are now exposed as parameters
  • Audio input panel showed "Audio not initialized" before pressing play
  • Nested polyrhythms dropped voices; sample polyrhythms ([bd, hh]) now play both samples simultaneously
  • poly() cycle-alignment at rational BPMs and required-input metadata
  • stepper-demo array-through-closure binding with STATE_OP-gated writes
  • Velocity-shorthand propagation in mini-notation
  • Step-highlighting froze on the edited line and stayed frozen until recompile