Skip to content

v0.5.2371

Choose a tag to compare

@github-actions github-actions released this 24 Oct 21:06

What's Changed

Content Browser / online

  • feat(online): read stepmaniaonline pack details, pages and search
  • feat(online): add pack popularity, itgdb doubles and banner fetching
  • feat(online): find beginner-friendly packs from their pages
  • feat(online): describe packs the details pages do not cover
  • feat(content-browser): add the Find Content screen
  • feat(online): read single songs out of stepmaniaonline pack zips
  • feat(content-browser): preview charts and get single songs
  • refactor(online): shift single songs with the shared offset writer
  • feat(content-browser): sync installed packs the way DeadSync does
  • fix(content-browser): delete installed packs without AllowSongDeletion
  • fix(online): keep SMO's null sync in the catalogue
  • feat(online): rip booster packs from stepmaniaonline.net
  • feat(content-browser): add the Rip Packs tab
  • fix(content-browser): bring along the pack banner a song borrows
  • feat(content-browser): BPM on the rip cards, and a kept booster's own banner
  • feat(content-browser): tell itgcontent.net each card's tempo
  • feat(content-browser): fetch a kept booster's songs three at a time
  • refactor(online): separate pack archive downloads from their source URL
  • fix(online): use per-song scratch directory for borrowed banners

Golf / scoring / ArrowCloud

  • feat: add optional golf scoring, par displays, and ArrowCloud leaderboards
  • feat: gate all golf features behind an ArrowCloud options switch
  • feat: allow score submission after successful chart Lua compilation
  • fix(online): fetch ArrowCloud boards from the v1 route as the signed-in player
  • fix: match golf HUD to reference theme and wrap gameplay extras across resolutions

Gameplay / holds / practice

  • fix(score): keep possible points advancing after failure
  • fix(gameplay): honor native easy chart failure behavior
  • fix(holds): resolve missed tails at native rounded note rows
  • fix(gameplay): retain autoplay stage failure without draining life
  • fix(holds): resolve active tails at the native rounded row
  • fix(gameplay): add the late-resolution window after the whole song
  • fix(gameplay): dispatch native autoplay rows and avoided mine judgments
  • fix(gameplay): finalize mines at the evaluation handoff
  • fix(gameplay): retain fractional song endpoint for exit timing
  • fix(gameplay): retain the native all-failed NotesEnded delay
  • fix(gameplay): retain cabinet offset in catalog song end timing
  • fix(practice): restore pre-practice music rate on exit

Audio

  • fix(audio): restart mine sounds per player and combine simultaneous mine hits
  • fix(audio): pan mine sounds to each player in two-player gameplay
  • fix(audio): stop mine sounds on gameplay exit, restart and course-stage changes
  • fix(audio): match ITGmania wheel clicks for individual presses and cap fast scrolling sounds at 15 Hz

Simfiles / timing / song library

  • feat(simfile): parse a simfile held in memory
  • feat(simfile): shift a simfile with no offset from zero
  • feat(simfile): set a pack's sync in the live catalog
  • fix(timing): match native displayed scroll rounding
  • fix(timing): match native displayed speed queries
  • fix(timing): match native float overdue-note cutoffs
  • fix(simfile): preserve native SM chart metadata whitespace
  • fix(simfile): preserve non-ASCII whitespace in SSC descriptions
  • fix(simfile): retain matched BG and FG filename spelling
  • fix(simfile): parse note columns without keysound index digits
  • fix(timing): preserve native float song offset components
  • fix(simfile): include unplayed native charts in song bounds
  • fix(simfile): preserve authored foreground order at equal beats

Player options / theme

  • fix(theme): restore Technique model textures
  • feat(options): add centered early/late text placement
  • feat(theme): add ECS15 Stamina variant
  • feat(options): add Share Rips

Song Lua / runtime and compilation

  • fix(song-lua): restore wrappers after command probes
  • fix(song-lua): share startup command state snapshots
  • fix(song-lua): preserve notefield wrapper ownership
  • fix(song-lua): advance notefield wrapper clocks
  • fix(song-lua): run native Lua 5.1 and remove language emulation
  • fix(song-lua): keep callback snapshots in Lua-owned tables
  • fix(song-lua): release redundant startup actor handles
  • refactor(song-lua): allow Lua sessions to move between threads
  • feat(song-lua): retain initialized scenes for live advancement
  • feat(song-lua): connect live scenes to gameplay presentation
  • feat(song-lua): route retained gameplay screen reloads
  • refactor(song-lua): expose retained live scene indices for compiled overlays
  • fix(song-lua): release persistent child registry handles
  • fix(song-lua): share retained actor handles across live update plans
  • fix(song-lua): restore compiled gameplay and correct 7th Gear reversals
  • fix(song-lua): reuse actor handles in native snapshots
  • fix(song-lua): compile native looping spline curves
  • fix(song-lua): retain getter values in the Lua registry
  • fix(song-lua): release temporary player option wrappers
  • fix(lua): retain large actor grids on the auxiliary reference thread
  • fix(song-lua): compile fof guys instead of live Lua
  • fix(song-lua): apply compiled Mini modifiers as absolute values
  • fix(notefield): stabilize compiled spline zoom and reverse holds
  • fix(song-lua): enable runtime Lua scenes in production gameplay
  • fix(song-lua): restore compiled gameplay draw capture
  • fix(song-lua): preserve compiled startup state and match native clocks
  • feat(lua): compile closed input callbacks into native programs

Song Lua / clocks, tweens and modifiers

  • fix(song-lua): preserve sampled player transform timestamps
  • fix(song-lua): preserve queued effects during tween replay
  • fix(song-lua): use native clocks and runtime prefix schedules
  • fix(song-lua): tween auxiliary actor state
  • fix(song-lua): pause hibernating actor callbacks
  • fix(song-lua): replay native actor queues in playback order
  • fix(song-lua): complete queued effects independently of tween poses
  • fix(song-lua): preserve native music timestamps in Lua getters
  • fix(song-lua): align effect clocks with native music timestamps
  • fix(song-lua): preserve independent secondary material clocks
  • fix(song-lua): retain replayed message queue timing
  • fix(song-lua): use music time for arrow offsets
  • fix(song-lua): preserve independent spline offsets
  • fix(song-lua): retain startup self-queued commands
  • fix(song-lua): compare underlying fields in speed queries
  • fix(song-lua): apply native confusion x offsets in gameplay
  • fix(song-lua): apply native bounce and tornado suboptions
  • fix(song-lua): share raw speed fields with native aliases
  • fix(song-lua): apply native wave periods and signed strengths
  • fix(song-lua): render native parabola y and additive accelerations
  • fix(song-lua): retain default startup speed approaches
  • fix(song-lua): match native attenuation and current updates
  • fix(song-lua): implement native beat effects on every axis
  • fix(song-lua): apply native confusion spin and y offsets
  • fix(song-lua): render native z waves and sawtooth
  • fix(song-lua): apply native shrink zoom to notes and holds
  • fix(song-lua): preserve native expand phase and current
  • fix(song-lua): retain native attack flag values and aliases
  • fix(song-lua): preserve startup player tweens
  • fix(song-lua): apply screen rotation and scale to fragments
  • fix(song-lua): retain static column spline transforms
  • fix(song-lua): retain and render per lane movez values
  • fix(song-lua): preserve screen identity for queued requests
  • fix(song-lua): use native song clocks during live playback
  • fix(song-lua): match native foreground activation and clocks
  • fix(song-lua): preserve end effects and native exit timing
  • fix(song-lua): replace queued Lua broadcasts with host dispatch
  • fix(song-lua): retain native hold judgment actors and tween queues
  • fix(song-lua): apply native stage modifiers without resetting options
  • fix(song-lua): start live backgrounds at their change beat
  • fix(song-lua): advance screen-owned layer tween queues
  • fix(song-lua): keep process time independent of paused music
  • fix(song-lua): preserve source lines when expanding cmd syntax
  • fix(song-lua): read owned style for internal arrow effects
  • fix(song-lua): dispatch gameplay tap callbacks before ghost effects
  • fix(song-lua): preserve native command provenance and startup clocks
  • fix(song-lua): retain native infinite sleep durations
  • fix(song-lua): retain native transition and column cue timers
  • fix(song-lua): evaluate gameplay lead-in metrics at query time
  • fix(song-lua): preserve minimized cue beats and double replay sessions
  • fix(song-lua): rebuild Song options at chart attack boundaries
  • fix(song-lua): update transition queues after foreground callbacks
  • fix(song-lua): compute native ArrowEffects alpha and far-edge fade
  • fix(song-lua): retain each player's selected chart position clock
  • fix(song-lua): implement native generic tween and hurry queue semantics
  • fix(song-lua): match native float clocks and SCALE operation order
  • fix(song-lua): initialize foreground clock like captured native build
  • fix(song-lua): implement native arrow X effects and cached update phase
  • fix(song-lua): implement native arrow zoom and per-column Tiny
  • fix(song-lua): implement native cached arrow Y effects and Wave
  • fix(song-lua): implement native fallback drop tween
  • fix(song-lua): apply game command modifiers and rate-aware clocks
  • fix(song-lua): merge native Lua background effect callbacks
  • fix(song-lua): retain Lua background effect metadata across layers
  • fix(song-lua): preserve command-time draw submissions
  • fix(song-lua): replay option clocks and native Mini field zoom
  • fix(song-lua): implement native confusion and dizzy Z rotation
  • fix(song-lua): replay raw external clocks at original call sites
  • fix(song-lua): replay independent raw ArrowEffects clock reads
  • fix(song-lua): preserve native footer order, attack phases, and scaled AFT shear
  • fix(song-lua): match native tween overflow and post-actor failure transitions
  • fix(song-lua): initialize player options with saved Mini
  • fix(notefield): match native spline clocks and AFT geometry
  • fix(notefield): align spline sampling and hold caps with native draws
  • fix(song-lua): preserve initial effect-clock anchors and defer modifier approaches until their first setter
  • fix(song-lua): match ITGmania tween, quaternion, and effect behavior
  • fix(song-lua): preserve queued rotations and apply alignment immediately
  • fix(song-lua): preserve first timer delta for startup motion effects
  • fix(song-lua): match beatnooffset rounding and batched glow fades
  • fix(song-lua): match native shear, spin and foreground clock behavior

Song Lua / actors, rendering and theme compatibility

  • fix(song-lua): match native bitmap lookup and boolean methods
  • fix(song-lua): match native actor identity and bitmap arguments
  • fix(song-lua): match native sprite load return values
  • fix(song-lua): match native texture filenames
  • fix(song-lua): support zigzag and orthographic camera resets
  • fix(song-lua): match native unlit model material colors
  • fix(song-lua): preserve native model mesh pass order
  • fix(song-lua): preserve model cameras and depth placement
  • fix(song-lua): preserve independent signed model scales
  • fix(song-lua): retain native model texture update history
  • refactor(song-lua): separate model projection, view and world-space matrices
  • fix(song-lua): emit separate native model material passes
  • fix(song-lua): preserve per-draw model sampler state
  • fix(song-lua): bind native model animation images
  • fix(song-lua): expose native texture image dimensions
  • fix(song-lua): retain manual judgment frame draws
  • fix(song-lua): honor native model culling modes
  • fix(song-lua): honor native model alpha cutoff
  • fix(song-lua): preserve native screen and overlay depth
  • fix(song-lua): preserve Simply Love combo child access
  • fix(song-lua): preserve native null renderer capabilities
  • fix(song-lua): advance owned judgment sprites from gameplay
  • fix(song-lua): preserve authored foreground actor names
  • fix(song-lua): omit inactive players from Simply Love underlay
  • fix(song-lua): keep background entries on one update path
  • fix(song-lua): instantiate empty foreground declarations independently
  • fix(song-lua): retain requested foreground directory chunk names
  • fix(song-lua): advance DensityGraph and native foreground lifecycle
  • fix(song-lua): fail judged autoplay players in overlay Off
  • fix(song-lua): retain authored foreground file chunk names
  • fix(song-lua): run owned draw callbacks at the live screen boundary
  • fix(song-lua): advance owned NoteField column renderers
  • fix(song-lua): match native Color palette constants
  • fix(song-lua): provide native Sprite.LinearFrames
  • fix(song-lua): round foreground start timing to native note rows
  • fix(song-lua): restore native HSVA vertex color conversion
  • fix(song-lua): retain native cached background activations
  • fix(song-lua): retain native dummy actor slots after Lua load failures
  • fix(song-lua): implement fallback Sprite cropto alias
  • fix(song-lua): retain the native Cancel transition child
  • fix(song-lua): preserve the native Quad default texture
  • fix(song-lua): load the native OniGameOver bitmap resource
  • fix(song-lua): load the score display blank frame child
  • fix(song-lua): inherit native ActorFrame methods for PercentageDisplay
  • fix(song-lua): construct native lyric text layers with font and commands
  • fix(song-lua): preserve native Player AttackDisplay and hold indices
  • fix(song-lua): load the inherited NoteField Board bitmap child
  • fix(song-lua): select a leaf Combo when current theme fonts are unavailable
  • fix(song-lua): load native In bitmaps and visual poses
  • fix(song-lua): initialize Simply Love background filters from saved profile opacity
  • fix(song-lua): load the Underlay BackgroundFilter from initial profile inputs
  • fix(song-lua): load the native Underlay DifficultyMeter frame and children
  • fix(song-lua): initialize life meter visibility and type from saved profile options
  • fix(song-lua): load Standard LifeMeter children and native life lifecycle
  • fix(song-lua): construct Standard meter child snapshots from native actor sequence
  • fix(song-lua): pass the saved NPS graph layout into the shared BPM hierarchy
  • fix(song-lua): construct native shared BPM hierarchy and timing updates
  • fix(song-lua): construct native Underlay Header Quad and Init
  • fix(song-lua): honor the saved Step Statistics pane selection
  • fix(song-lua): load original native StepStatistics actors and runtime commands
  • fix(song-lua): initialize AMV texture and preserve getter observation scope
  • fix(song-lua): carry declared song banner paths into the Lua compilation context
  • fix(song-lua): retain native Danger Quad resources and health lifecycle
  • fix(song-lua): load native SongInfoBar children and title lifecycle
  • fix(song-lua): load original NoteField container and child lifecycle
  • fix(song-lua): construct native StepsDisplay resources and chart lifecycle
  • fix(song-lua): preserve native nonfinite actor scalars and ending observer phase
  • fix(song-lua): load ActorMultiVertex textures with native reset semantics
  • fix(song-lua): apply empty BitmapText height zoom before text assignment
  • fix(song-lua): run interactive scenes with native input and live draw parity
  • fix(song-lua): refresh live proxy targets after foreground startup
  • fix(song-lua): preserve theme scope for background fit lookup
  • fix(song-lua): preserve native StretchTo scale and GetZoom
  • fix(song-lua): retain native gameplay overlay actors and their observation profile
  • fix(song-lua): retain native gameplay decorations and skip empty Actor geometry
  • fix(song-lua): retain the native background loader Lua caller
  • fix(song-lua): load Simply Love combo milestone actors
  • fix(song-lua): match native song bounds and UpperLeft background ownership
  • fix(song-lua): initialize native gameplay HUD text
  • fix(song-lua): prepare background actors before player judgments
  • fix(song-lua): restore Mawaru note visibility and depth mask parity
  • fix(song-lua): restore Mawaru Titan scene depth parity
  • fix(song-lua): install actor methods when constructing or reloading native gameplay theme actors
  • fix(song-lua): match ITGmania base zoom, child ordering, and fade alpha

Song Lua / API and gameplay compatibility

  • fix(song-lua): preserve authored offsets and numeric prefixes
  • fix(song-lua): replay native subscriber identity order
  • fix(song-lua): preserve strict multitap edges during playback
  • fix(song-lua): match native text method inheritance
  • fix(song-lua): remove nonnative child indexing probes
  • fix(song-lua): match native actor class inheritance
  • fix(song-lua): match native proxy class and target behavior
  • fix(song-lua): preserve native definition concatenation
  • fix(song-lua): match native value iterator lookups
  • fix(song-lua): retain multitap hits during native replay
  • fix(song-lua): size scheduling storage for all actor targets
  • fix(song-lua): provide native song option rate strings
  • fix(song-lua): match native actor initialization order
  • fix(song-lua): preserve noteskins on option assignment
  • fix(song-lua): retain static startup option targets
  • fix(song-lua): separate option levels and advance current targets
  • fix(song-lua): parse callback arguments in cmd expressions
  • fix(song-lua): implement stateful RageFile access
  • fix(song-lua): expose the native gameplay screen type
  • fix(song-lua): preserve chart owned easing libraries
  • fix(song-lua): dispatch begin before actor on commands
  • fix(song-lua): apply failure modes to gameplay state
  • fix(song-lua): expose native event mode and song chart metadata
  • fix(song-lua): expose loaded song and chart timing getters
  • fix(song-lua): separate current and total stage dance points
  • fix(song-lua): retain each chart's timing for Lua getters
  • fix(song-lua): match native empty and failed stage grades
  • fix(song-lua): match native chart selection and change messages
  • fix(song-lua): match Simply Love mode metrics and timing windows
  • fix(song-lua): reload startup scenes and load their selected charts
  • fix(song-lua): retain the Lua VM across gameplay reloads
  • fix(song-lua): track explicit Lua broadcast provenance
  • fix(song-lua): rebuild actor update plans on scene reentry
  • fix(song-lua): match native dance point percentages
  • fix(song-lua): observe song options in complete native replays
  • fix(song-lua): preserve the configured display aspect ratio
  • fix(song-lua): initialize native autoplay before scene loading
  • fix(song-lua): preserve missing screen children
  • fix(song-lua): load explicit children in native traversal order
  • fix(song-lua): preserve native actor ancestry during loading
  • fix(song-lua): replay observed native subscriber identities
  • fix(song-lua): use final factory ownership and refresh identities on reload
  • fix(song-lua): rebuild song options when gameplay enters its outro
  • fix(song-lua): own the gameplay Debug text actor
  • fix(song-lua): collapse actor paths before loading Lua chunks
  • fix(song-lua): exclude false-condition actor subtrees before initialization
  • fix(song-lua): support volume on owned RageSound objects
  • fix(song-lua): initialize live screen actor positions through pose setters
  • fix(song-lua): apply native integer margins to player actor positions
  • fix(song-lua): share native player life writes with gameplay
  • fix(song-lua): dispatch native tap row judgments before scoring
  • fix(song-lua): dispatch native hold judgments before scoring
  • fix(song-lua): provide native recursive table debug helper
  • fix(song-lua): expose gameplay screen only after initialization
  • fix(song-lua): provide native table.find key lookup
  • fix(song-lua): match direct taps and scalar deceleration
  • fix(song-lua): dispatch End on gameplay navigation
  • fix(song-lua): retain native actor names independently of Lua attributes
  • fix(song-lua): dispatch a sole subscriber without an ordering rank
  • fix(song-lua): retain owned theme scene for empty song layers
  • fix(song-lua): retain native numeric option query paths
  • fix(song-lua): resolve screen startup message command aliases
  • fix(song-lua): initialize live song position with native reset BPS
  • fix(song-lua): return native Steps arrays without internal getters
  • fix(song-lua): seed native gameplay CPU Steps on screen initialization
  • fix(song-lua): retain native gameplay screen child ownership and order
  • fix(song-lua): expose native zero-based DayOfYear
  • fix(song-lua): accept numeric song selector enum values
  • fix(song-lua): honor completed transition next-screen target
  • fix(song-lua): resolve whole-song end with pack sync and absolute hint
  • fix(song-lua): align music fade with native transition end
  • fix(song-lua): dispatch listeners with missing ordering coverage
  • fix(song-lua): expose writable GameState class methods
  • fix(song-lua): expose configured native video driver preference
  • fix(song-lua): preserve all scoped Lua chunk return values
  • fix(song-lua): defer live actor construction to preserve sparse declarations
  • fix(song-lua): parse native cmd argument expression boundaries
  • fix(song-lua): construct native dummy Actor for untyped declarations
  • fix(song-lua): capture function metadata in broadcast parameters
  • fix(song-lua): implement Simply Love SM message helpers
  • fix(song-lua): propagate Screen commands to song children
  • fix(song-lua): load the Out transition Quad directly with native theme commands
  • fix(song-lua): populate native Steps measure density from loaded notes
  • fix(song-lua): load declared song banners and native fallback resources
  • fix(song-lua): preserve initial timing windows in native judgment labels
  • fix(song-lua): keep theme setup broadcasts outside authored song output
  • fix(song-lua): preserve native frame delta for option approach
  • fix(song-lua): apply live fail policy before gameplay updates
  • fix(song-lua): load canonical Windows scenes and reduce live upload cost
  • fix(song-lua): use native float timing queries
  • fix(song-lua): implement deprecated hidden fallback helper
  • fix(song-lua): dispatch native step messages after presses
  • fix(song-lua): preserve native tap judgment enum ranks
  • fix(song-lua): preserve native immediate failure outro frames
  • fix(song-lua): reset native song positions before gameplay reload
  • fix(song-lua): carry reload styles and native sound durations
  • fix(song-lua): preserve complete native Steps catalog order
  • fix(song-lua): preserve native frame trees and command statistics semantics
  • fix(song-lua): resolve LoadActor paths from Lua callers
  • fix(song-lua): preserve sound pitch and broadcast argument arity
  • fix(song-lua): expose native song note bounds independently of audio length
  • fix(song-lua): apply pack sync offset to frozen catalog note bounds
  • fix(song-lua): match native display aspect and Versus child construction
  • fix(song-lua): match native Windows math and input behavior
  • fix(song-lua): play ActorSound immediately, retain the played file and ignore missing sound readers

Song Lua / diagnostics

  • fix(song-lua): capture runtime wrappers and audit native effects
  • feat(song-lua): retain source broadcast parameter snapshots before listener dispatch
  • feat(song-lua): trace live commands and point query results
  • feat(song-lua): trace queued actor calls and remaining tween time
  • feat(song-lua): trace host query arguments and results during construction and callbacks
  • fix(song-lua): trace player queries through shared actor methods
  • fix(song-lua): compare modifier traces with native player identities
  • fix(song-lua): trace native actor ancestry and child queries
  • feat(song-lua): extend live tracing to scalar actor mutations
  • feat(song-lua): trace callback, proxy target and texture operations with native value types
  • fix(song-lua): preserve native selector and request observations
  • fix(song-lua): trace dynamic dispatch under capture observer profile
  • fix(song-lua): observe owned stage at native overlay probe phase

Noteskin / model rendering

  • fix(noteskin): retain repeated model texture states
  • fix(noteskin): preserve native same-name model mesh merging
  • fix(noteskin): parse model geometry with optional comment headers
  • fix(noteskin): match ITGmania Lua startup context
  • fix(noteskin): resolve screen globals in actor commands
  • fix(noteskin): preserve implicit sprite sheet animation
  • fix(noteskin): handle explosion draworder with ITGmania semantics
  • fix(noteskin): honor native texture padding for note color offsets
  • fix(noteskin): preserve mine explosion animation across hits
  • fix(noteskin): match native base rotation order for sprites
  • fix(noteskin): match ITGmania rainbow effect behavior

Textures / assets / rendering

  • fix(texture): clear hidden RGB like native textures
  • fix(texture): prepare distinct native model images
  • fix(texture): preserve native 16-bit PNG samples in sprite loads
  • fix(texture): match native indexed BMP and GIF decoding
  • fix(texture): prepare tiny sprites without resizing geometry
  • fix(render): retain clamp sampling on skewed render-target sprites
  • fix(texture): preserve GIF logical canvas dimensions, frame offsets and transparent pixels
  • fix(texture): correct indexed BMP palette sizing, top-down rows and 4-bit pixel ordering
  • fix(texture): apply bitmap color keys after decoding and remove incorrect BMP extension rejections

Song Lua / performance

  • perf(song-lua): remove redundant live actor state work
  • perf(song-lua): reduce VM lookup and replay trace overhead
  • perf(song-lua): reuse raw VM reads and replay bookkeeping
  • perf(song-lua): reduce draw capture allocation churn
  • perf(song-lua): batch baked state reads and reserve draw commands
  • perf(song-lua): batch vector and vertex-color reads
  • perf(song-lua): cache compiled transforms and material frame ages
  • perf(song-lua): reserve and route converted draw frames
  • perf(song-lua): cache sparse simulation component queries
  • perf(song-lua): emit meshes directly into shared storage
  • perf(song-lua): borrow buffered reads and index virtual files
  • perf(song-lua): reuse file-open path and snapshot buffers
  • perf(song-lua): borrow unchanged scripts and accelerate syntax scans
  • perf(song-lua): stream command parsing and count newline bytes
  • perf(song-lua): reuse numeric text and streamline value conversions
  • perf(song-lua): compare ASCII enums and inline value dispatch
  • perf(song-lua): borrow compatibility strings and stream version checks
  • perf(song-lua): format time ordinal and color strings directly
  • perf(song-lua): precompute named colors and borrow lookup inputs
  • perf(song-lua): size URL output and borrow query text
  • perf(song-lua): reserve option arrays and borrow lookup inputs
  • perf(song-lua): reuse native tween poses during live playback
  • perf(song-lua): skip compiler capture history during live playback
  • perf(song-lua): reuse sprite frame arrays during live playback
  • perf(song-lua): reuse native storage for live actor vectors
  • perf(song-lua): keep live colors in native tween state
  • perf(song-lua): keep live scalar transforms in native tween state
  • perf(song-lua): mutate live vertex colors in place
  • perf(song-lua): compact native tween state
  • perf(song-lua): own immediate render flags natively
  • perf(song-lua): own base zoom and alignment natively
  • perf(song-lua): reuse published text and attribute payloads
  • perf(song-lua): reduce compile finalization allocations
  • perf(song-lua): remove redundant live compile preparation
  • perf(song-lua): avoid function metadata and nested snapshot tables
  • perf(song-lua): avoid temporary wrappers in VM reads
  • perf(song-lua): reduce key allocations during capture
  • perf(song-lua): retain unused callback receivers inline
  • perf(song-lua): decode numeric setter prefixes inline
  • perf(song-lua): compact native method setup storage
  • perf(song-lua): inline short native forwarding values
  • perf(song-lua): consume captured finalization events
  • perf(song-lua): reuse validated asset strings
  • perf(song-lua): borrow foreign assets and recorded sound paths
  • perf(song-lua): inline transient comparison text
  • perf(song-lua): borrow compatibility callback strings
  • perf(song-lua): borrow capture inputs and move sound paths
  • perf(song-lua): remove reload and capture input copies
  • perf(song-lua): remove draw extraction and actor text copies
  • perf(lua): streamline compiler arguments and captured-state reads
  • perf(lua): reduce captured-state restoration and table read costs
  • perf(song-lua): compile input predicates and streamline dispatch
  • perf(lua): compile actor input snapshots and trim compiler copies
  • perf(lua): share callback state and reuse input schemas
  • perf(lua): compile timed interactions and reuse field schemas
  • perf(lua): compile finite string state and streamline interaction preparation
  • perf(lua): reuse native program and initial byte storage
  • perf(lua): compile actor movement and batch method inspection
  • perf(lua): borrow native schemas and reuse retry bytecode
  • perf(lua): prune register clearing and streamline native predicates
  • perf(lua): borrow callback handles and share compiled group code
  • perf(lua): reuse callback compilation and byte constants
  • perf(lua): reuse dump buffers and combine native checks
  • perf(lua): compile indexed input state and restore FoF loading

Performance

  • perf: remove redundant scans, zeroing, and clock allocations
  • perf: remove temporary font strings and redundant chart work
  • perf: simplify timing storage and speed lookup
  • perf: eliminate unused timing allocation and lookup work
  • perf: remove retained tween operations and redundant chart scans
  • perf: discard unused BPM timestamps and simplify timing and title queries
  • perf: reuse BPM group buffers and remove redundant timing work
  • perf: remove redundant BPM copies and tag scans
  • perf: remove redundant timing and grouping work
  • perf: remove redundant timing, scoring, and search work
  • perf: remove redundant profile snapshots and migration work
  • perf: reuse player timing and remove redundant event copies
  • perf: reduce font fallback and color conversion overhead
  • perf: remove redundant chart and notefield work
  • perf: remove compositor conversion and attribute expiry work
  • perf: remove redundant WAV buffering and environment math
  • perf(audio): reduce resampler copies and settled-gain work
  • perf: reuse noteskin buffers and skip redundant glow and target work
  • perf(score): reduce cache churn and speed score snapshots
  • perf(assets): reduce artwork loading overhead
  • perf(profile): remove redundant persistence and option copies
  • perf(noteskin): remove redundant parsing, fallback copies and cache allocations
  • perf(input): remove keymap hashing and redundant binding copies
  • perf: streamline shared buffers, audio padding, and gain caches
  • perf: stream SMX GIFs and reuse SRPG catalog state
  • perf(import): skip discarded preparation and redundant resolver work
  • perf(score): remove cached-request and online callback allocations
  • perf(online): borrow leaderboard and unlock metadata
  • perf(online): remove redundant pack browser allocations
  • perf(online): remove transient allocations from content search
  • perf(online): remove browser parsing and snapshot copies
  • perf(online): streamline catalogue search and metadata scans
  • perf(online): remove redundant banner scans and pack-page copies
  • perf(online): remove metadata copies and repeated archive scans
  • perf(online): reduce snapshot copies, sorting work, and match-key allocations
  • perf(theme): remove content browser index and text copies
  • perf(theme): remove redundant UI text conversions
  • perf(simfile): remove cache materialization and validation churn
  • perf(simfile): reduce library scan allocations and indirection
  • perf(simfile): remove temporary metadata string allocations
  • perf(simfile): streamline library ownership and BPM scans
  • perf(simfile): remove redundant timing and tag parsing work
  • perf(simfile): remove redundant song selection work
  • perf: remove redundant audio, light, and asset scanning work
  • perf(gameplay): remove empty event work and streamline crossover cues
  • perf(chart): streamline titles, difficulty lookup and edit indices
  • perf(rules): skip redundant stream parsing and allocation
  • perf: remove redundant timing lookups and font metadata queries
  • perf: reuse resource buffers and eliminate model merge copies
  • perf: remove transient option and workshop allocations
  • perf: remove redundant UI resource work
  • perf(theme): remove transient query, pack, and help allocations
  • perf(theme): remove redundant menu text buffers and repeated scans
  • perf(theme): streamline preview setup, progress text, and download views
  • perf(theme): move menu items and borrow leaderboard rows
  • perf(theme): avoid redundant scorebox and browser allocations
  • perf: remove browser and palette text allocation round trips
  • perf(theme): remove temporary score and diagnostic text copies
  • perf(theme): remove profile, palette and shop queue buffers
  • perf(theme): remove preview, import and navigation copies
  • perf(theme): remove short UI text buffers and playlist sort keys
  • perf(theme): remove overlay text copies and Workshop body buffers
  • perf(shell): move loaded payloads and reuse cache serialization
  • perf(theme): reuse option lists and remove lookup buffers
  • perf: remove temporary pack and lobby text buffers
  • perf: remove redundant profile loading and option snapshots
  • perf(course): move stage plans and share graph snapshots
  • perf(course): skip redundant resolution and singleton hashing
  • perf(theme): remove redundant wheel, anchor and graph scans
  • perf(content-browser): rip with sixteen workers over connections kept open
  • perf(gameplay): bypass song Lua work for ordinary charts
  • perf(assets): remove texture copies and repeated pixel addressing
  • perf(assets): streamline indexed pixels and vectorize color keying

Platform / build / maintenance

  • fix(win7): exclude WinRT Bluetooth startup dependencies
  • build(win7): check release executables for unsupported startup imports
  • fix(shell): forget a measurement once its fix is changed again
  • fix(build): repair merged timing and benchmark targets
  • chore(notefield): remove unnecessary parentheses
  • chore(song-lua): preserve native Lua resource line endings
  • chore(perf): add song Lua compiler and pipeline resource benchmarks
  • chore(perf): support Lua compilation benchmarks without diagnostic features
  • refactor(updater): use release asset metadata for Workshop download progress and size checks
  • chore: replace deprecated atomic fetch_update with try_update
  • build(lua): adopt local deadlib-lua fork
  • build: move shared fixtures into the deadsync-tests submodule and skip submodule downloads in release checkouts

New Contributors

Full Changelog: v0.5.1809...v0.5.2371