Skip to content

Releases: alex-1974/raster-d

v0.5.5

Choose a tag to compare

@github-actions github-actions released this 27 Oct 17:49
69fee76

What's Changed

Full Changelog: v0.5.4...v0.5.5

v0.5.4

Choose a tag to compare

@github-actions github-actions released this 27 Oct 10:24
8149827

What's Changed

Full Changelog: v0.5.3...v0.5.4

raster-d v0.5.3

Choose a tag to compare

@alex-1974 alex-1974 released this 26 Oct 19:38
46a7239

raster-d v0.5.3 release notes

raster-d v0.5.3 extends bounded, synchronous data-plane execution to
multiple independently backed source views. It remains generic: RGB, mask,
histogram and colour semantics belong to consumers such as imagery-d.

Public API

  • withViewsParallelPhases for source-only multi-view analysis;
  • withViewsIntoParallelPhases for multi-view analysis followed by a
    destination transform;
  • independent view and plane validation with common logical extents;
  • callback-scoped grouped affine windows with the existing bounded phase
    barriers, stable worker indices and alias checks.

The source-view collection is homogeneous by sample type. This keeps the
public callback strongly typed and allocation-free while supporting RGB data
plus a separately backed byte mask.

Qualification

  • DMD and LDC unit tests pass, including DIP1000 probes;
  • all PR #272 release gates pass;
  • the release benchmark covers the imagery-shaped RGB plus separate-mask
    workload with worker-local 65,536-bin histograms and deterministic
    reduction before the three-channel float transform.

v0.5.2

Choose a tag to compare

@github-actions github-actions released this 25 Oct 21:44
326ade0

What's Changed

Full Changelog: v0.5.0...v0.5.2

raster-d v0.5.1

Choose a tag to compare

@alex-1974 alex-1974 released this 25 Oct 20:00

raster-d v0.5.1 release notes

raster-d v0.5.1 adds a generic, opt-in parallel row-kernel primitive to the
callback-scoped data-plane API. It is independent of imagery-d and does not
install a process-wide scheduler.

Public API

  • parallelRows
  • ParallelRowsResult
  • withPlanesIntoParallel

The callback receives callback-scoped source/destination windows and a
half-open logical row range. It must be @safe nothrow, write only its assigned
rows, and must not retain borrowed arguments. All workers are joined before
return. Failed callbacks may leave partial destination writes.

Qualification

  • DMD and LDC unit tests pass.
  • LDC ThreadSanitizer unit tests pass.
  • Tests cover negative row strides, ROI geometry, alias rejection, callback
    failure, sequential fallback and multi-worker coverage.
  • The release benchmark covers 1024×768 and 1920×1080 with multiple worker
    limits and chunk sizes.

Persistent worker reuse, queueing, cancellation and affinity remain caller
responsibilities and are not part of raster-d's public scheduler contract.

v0.5.0

Choose a tag to compare

@alex-1974 alex-1974 released this 24 Oct 19:13
359033c

Highlights

  • Added public callback-scoped strided row access for planar and interleaved kernels.
  • Exposed validated row data and sample stride through RasterPlaneRow and WritableRasterPlaneRow.
  • DMD RGB benchmark improved from 3.78 ns/pixel to 1.79 ns/pixel with no material LDC regression.
  • Added release notes and external-consumer benchmark evidence.

Full changelog: v0.4.1...v0.5.0

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 24 Oct 18:03
7bf356f

What's Changed

Full Changelog: v0.4.0...v0.4.1

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 11:45
d5b8593

What's Changed

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 12:37
c7ddd0d

What's Changed

  • perf(strict-sum): inline checked ulong accumulation by @alex-1974 in #209
  • chore(release): integrate published v0.2.0 into develop preserving development history by @alex-1974 in #247
  • docs: correct v0.2.0 publication status without rewriting release history by @alex-1974 in #248
  • docs: make divideInto DDox example exercise divideInto by @alex-1974 in #249
  • feat(histogram): add exact generic ubyte histogram256 reduction by @alex-1974 in #252
  • feat(histogram): add generic caller-buffered numeric interval histograms by @alex-1974 in #253
  • docs(readme): acknowledge AI-assisted development by @alex-1974 in #256
  • fix(release): repair multiline v0.3 status-test fixtures by @alex-1974 in #257
  • fix(release): distinguish v0.3 candidate docs from stale v0.2 claims by @alex-1974 in #258
  • docs(release): prepare publication-neutral raster-d v0.3.0 metadata by @alex-1974 in #259
  • release: prepare raster-d v0.3.0 candidate and full qualification by @alex-1974 in #255

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 20:16
2f24158

What's Changed

  • docs(release): record v0.1.0 tag publication state by @alex-1974 in #83
  • chore(release): forward-integrate v0.1.0 into develop by @alex-1974 in #84
  • docs(release): reconcile completed v0.1 publication state by @alex-1974 in #122
  • docs(api): inventory current raster public surface by @alex-1974 in #123
  • docs(api): define v0.2 raster family boundary by @alex-1974 in #124
  • docs(api): design Raster owning type by @alex-1974 in #125
  • docs(api): define Raster ownership construction family by @alex-1974 in #126
  • docs(api): define ergonomic raster view family by @alex-1974 in #127
  • test(roi): freeze subregion semantics by @alex-1974 in #128
  • docs(api): define explicit clone semantics by @alex-1974 in #129
  • test(api): freeze M1 UFCS ergonomics by @alex-1974 in #130
  • feat(api): add v0.2 transformInto bridge by @alex-1974 in #131
  • feat(api): add allocating transform convenience by @alex-1974 in #132
  • feat(api): add zipTransformInto primitive by @alex-1974 in #133
  • feat(api): add arithmetic wrappers over zipTransformInto by @alex-1974 in #134
  • feat(api): reconcile v0.2 copy and fill family by @alex-1974 in #135
  • docs(api): define generic reduction semantics by @alex-1974 in #136
  • feat(api): add generic strict sum reduction by @alex-1974 in #137
  • feat(api): add min max and minMax reductions by @alex-1974 in #138
  • feat(api): add generic mean reduction by @alex-1974 in #139
  • feat(api): define exact raster conversion policy by @alex-1974 in #140
  • feat(api): add generic exact convertRasterInto by @alex-1974 in #141
  • feat(api): add allocating exact conversion by @alex-1974 in #142
  • feat(api): add reusable raster sample traits by @alex-1974 in #143
  • docs(api): audit fixed 3x3 neighbourhood family by @alex-1974 in #144
  • feat(api): add compile-time neighbourhood shape by @alex-1974 in #145
  • feat(api): add generic applyNeighbourhoodInto by @alex-1974 in #146
  • feat(api): add generic raster border policies by @alex-1974 in #147
  • feat(api): add fixed-kernel convolution family by @alex-1974 in #148
  • research(perf): add prepared convolution qualification harness by @alex-1974 in #149
  • docs(research): define generic raster resampling boundary by @alex-1974 in #150
  • fix(bench): run prepared convolution from merged develop state by @alex-1974 in #151
  • research(perf): isolate prepared convolution state benefit by @alex-1974 in #152
  • perf(bench): establish v0.2 benchmark families by @alex-1974 in #153
  • bench(m5): add binary transform arithmetic family by @alex-1974 in #154
  • docs(perf): qualify binary transform arithmetic family by @alex-1974 in #155
  • bench(m5): add fill copy benchmark family by @alex-1974 in #156
  • docs(perf): qualify fill copy benchmark family by @alex-1974 in #157
  • bench(m5): add conversion benchmark family by @alex-1974 in #158
  • docs(perf): qualify conversion benchmark family by @alex-1974 in #159
  • bench(m5): add allocated transform benchmark by @alex-1974 in #160
  • docs(perf): qualify unary transform benchmark family by @alex-1974 in #161
  • bench(m5): add reduction family benchmark by @alex-1974 in #162
  • docs(perf): qualify reduction benchmark family by @alex-1974 in #163
  • bench(m5): add neighbourhood family benchmark by @alex-1974 in #164
  • docs(perf): qualify neighbourhood benchmark family by @alex-1974 in #165
  • docs(perf): complete M5.2 layout specialization evaluation by @alex-1974 in #166
  • bench(m5): add neighbourhood codegen diagnostic by @alex-1974 in #167
  • fix(neighbourhood): preserve stride initialization in release by @alex-1974 in #168
  • docs(perf): correct post-fix M5 evidence by @alex-1974 in #169
  • perf(neighbourhood): add signed-affine executor by @alex-1974 in #170
  • docs(perf): qualify M5.2 signed-affine layout execution by @alex-1974 in #171
  • bench(m5): add signed-affine codegen diagnostic by @alex-1974 in #172
  • bench(m5): add affine multiversion diagnostic by @alex-1974 in #173
  • perf(neighbourhood): multiversion small sample strides on LDC by @alex-1974 in #174
  • bench(m5): add convolution codegen diagnostic by @alex-1974 in #175
  • perf(convolution): expand fixed kernel at compile time by @alex-1974 in #176
  • docs(m5): record fixed convolution qualification by @alex-1974 in #177
  • bench(m5): add reduction codegen diagnostic by @alex-1974 in #179
  • perf(reduction): remove canonical strict-sum codegen cliff by @alex-1974 in #180
  • perf(extrema): expose updates to DMD hot loop by @alex-1974 in #182
  • bench(m5): isolate binary multiply codegen signal by @alex-1974 in #183
  • docs(m5): close M5.3 codegen audit by @alex-1974 in #184
  • bench(m5): qualify explicit SIMD convolution by @alex-1974 in #185
  • docs(m5): close SIMD qualification by @alex-1974 in #186
  • docs(m5): reconcile caller-owned scheduling by @alex-1974 in #187
  • docs(m5): define prepared-state qualification policy by @alex-1974 in #188
  • bench(m5): establish comparable C++ convolution gate by @alex-1974 in #189
  • docs(m5): close comparable C++ performance gate by @alex-1974 in #191
  • chore(repo): harden v0.2 package and documentation by @alex-1974 in #192
  • fix(backing): remove package-wide DIP1000 dependency by @alex-1974 in #197
  • bench(release): establish v0.2 feature-freeze baseline by @alex-1974 in #200
  • docs(bench): record v0.2 feature-freeze baseline by @alex-1974 in #201
  • validation(api): audit v0.2 public contract by @alex-1974 in #203
  • docs(api): record completed v0.2 API freeze by @alex-1974 in #204
  • docs(view): begin post-freeze source Ddoc review by @alex-1974 in #205
  • docs(api): remove milestone references from frozen Ddoc by @alex-1974 in #206
  • docs(safety): clarify raster lease and trusted access contracts by @alex-1974 in #207
  • docs(v0.2): clarify stride units and lease/view lifetime limits by @alex-1974 in #210
  • docs(v0.2): explain raster data and first-use workflows by @alex-1974 in #212
  • docs(v0.2): add a complete zero-copy ROI how-to by @alex-1974 in #213
  • docs(v0.2): add checked raster sum how-to by @alex-1974 in #214
  • docs(v0.2): explain exact raster sample conversion by @alex-1974 in #215
  • docs(v0.2): explain fixed convolution and halo requirements by @alex-1974 in #217
  • docs(release): require final exact-head publication-status audit by @alex-1974 in #218
  • docs(v0.2): reconcile README and changelog with frozen release candidate by @alex-1974 in #219
  • ci(release): guard README and changelog agai...
Read more