Skip to content

codelessly_api 6.2.0: repeating gradients, arc progress bars, dialog presentation, delay formulas - #41

Merged
BuildCodelessly merged 10 commits into
masterfrom
claude/happy-shannon-8ze4t7
Oct 24, 2026
Merged

BuildCodelessly merged 10 commits into
masterfrom
claude/happy-shannon-8ze4t7

Conversation

@BuildCodelessly

Copy link
Copy Markdown
Contributor

Summary

Model changes found by rebuilding a coded reference app (an equipment rental yard) in the editor. Each change closes a gap where the editor couldn't produce what the code-built app does. Released as 6.2.0 (version bump and CHANGELOG are included).

  • PaintModel.gradientRepeatEvery: a linear gradient repeats every N px instead of stretching across the box. Used for hazard stripes. The named constructors set it to null, and copyWith(clearGradientRepeat:) clears it.
  • Arc progress bars: ProgressBarProperties.shape: arc adds start/sweep angles, stroke width, tick count/color, a needle color and colored zone bands (ProgressBand). Used for the service-interval gauge.
  • ShowDialogAction.presentation (dialog, bottomSheet, adaptive = sheet below 600 px) and alignment.
  • DelayAction.duration: a variable or formula for the wait, used instead of milliseconds when it gives a number.
  • Computed variables: the variables sanitizer keeps a ${= ...} formula value.
  • Minimal node JSON: list, grid, page and tab views and spacers parse when fields with constructor defaults are left out (isScrollable, useFlutterListView, allowedTypes, deniedTypes, spacer reactions / positioningMode).

Tests: computed_variable_value_test, gradient_repeat_test, progress_arc_test, minimal_node_json_test, delay_duration_test. Locally all 301 tests pass, and dart analyze and dart format are clean.

Merge order: this PR, then publish 6.2.0, then the CodelesslySDK PR (needs codelessly_api ^6.2.0), then publish 8.3.0, then the CodelesslyEditor PR.


Generated by Claude Code

A variable whose value is a ${= ...} formula is a computed variable the
runtime evaluates; sanitizing it by type wiped it for lists, maps and
numbers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
Hard stops repeating at a fixed pixel period make even stripes at any box
size (hazard stripes). Null keeps today's stretch-across-the-box.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
ProgressBarProperties.shape (bar | arc) with arcStartAngle, arcSweepAngle,
arcStrokeWidth, needleColor, tickCount, tickColor and bands
(ProgressBand start/end fractions + color). Bars keep their JSON.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
…lignment

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
Hand-written node JSON (the editor's insertTree command, AI tools) may
leave out fields the constructors default, such as isScrollable,
useFlutterListView, allowedTypes and deniedTypes. fromJson now fills
those in with the constructor defaults instead of throwing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
CI's generated-code check builds it with reactions first; master's copy
was stale.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011fXBKiHRftTsgsVPHEZAWz
@BuildCodelessly
BuildCodelessly merged commit 49f63ab into master Oct 24, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants