Watermark toggle is compile-time, so a clean export cannot be produced at all #52

Open
opened 2026-09-05 15:05:40 +00:00 by ImBenji · 0 comments
Owner

kAllowWatermarkToggle is kDebugMode (lib/constants.dart:74), so a release build always stamps the watermark regardless of the canvas-settings toggle the user can see.

CanvasStateProvider.showWatermark exists, persists through the save file (map_serialisation.dart), and is wired into the settings UI. The flag above is what stops it meaning anything in a shipped build.

Consequences right now:

  • no clean export exists for a portfolio piece, a sample, a demo clip, or an authority conversation
  • the toggle is visible but inert in release, which reads as a bug rather than a gate

This is also exactly the switch a paid tier needs, so doing it properly means making it read an entitlement rather than a const - see the commerce issue. Doing it as a plain runtime flag first is still worth it and is the cheaper half.

STRATEGY.md section 11 puts this in the current quarter at 5-10 hrs and calls it a prerequisite for the authority conversation. Found during the roadmap audit on 2026-09-05.

`kAllowWatermarkToggle` is `kDebugMode` (`lib/constants.dart:74`), so a release build always stamps the watermark regardless of the canvas-settings toggle the user can see. `CanvasStateProvider.showWatermark` exists, persists through the save file (`map_serialisation.dart`), and is wired into the settings UI. The flag above is what stops it meaning anything in a shipped build. Consequences right now: - no clean export exists for a portfolio piece, a sample, a demo clip, or an authority conversation - the toggle is visible but inert in release, which reads as a bug rather than a gate This is also exactly the switch a paid tier needs, so doing it properly means making it read an entitlement rather than a const - see the commerce issue. Doing it as a plain runtime flag first is still worth it and is the cheaper half. STRATEGY.md section 11 puts this in the current quarter at 5-10 hrs and calls it a prerequisite for the authority conversation. Found during the roadmap audit on 2026-09-05.
ImBenji added this to the Arcs & Angles project 2026-09-05 15:05:40 +00:00
ImBenji added the enhancement label 2026-09-05 15:13:49 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: IMBENJI.NET/Metro-Map-Maker#52