docs: remove references to the source app and recording
Prepare for open-sourcing: scrub the prior-art attribution from the spec, agent guide, and code comments so the project documents its own behavior. - Reword RULES_FEATURE_SPEC.md to describe OpenAppLock's rules feature directly (drop the screen-recording source line and "as observed"/ "not demoed"/"as shown" framing) - Replace "the reference app/UI/style/defaults" comments and test names with direct descriptions of the behavior - No behavior change; comments, docs, and @Test display names only Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -26,8 +26,8 @@ enum RuleConfiguration: Hashable, Sendable {
|
||||
}
|
||||
}
|
||||
|
||||
/// The default configuration for a brand-new rule of the given kind, using
|
||||
/// the reference app's defaults (9–5 schedule, 45m/day, 5 opens/day).
|
||||
/// The default configuration for a brand-new rule of the given kind
|
||||
/// (9–5 schedule, 45m/day, 5 opens/day).
|
||||
static func `default`(for kind: RuleKind) -> RuleConfiguration {
|
||||
switch kind {
|
||||
case .schedule: .schedule(ScheduleConfig())
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
import Foundation
|
||||
|
||||
/// The three kinds of blocking rules, mirroring the reference app's "New Rule" sheet.
|
||||
/// The three kinds of blocking rules offered on the "New Rule" sheet.
|
||||
enum RuleKind: String, Codable, CaseIterable, Sendable {
|
||||
/// Block selected apps during a recurring time window.
|
||||
case schedule
|
||||
@@ -38,7 +38,7 @@ enum RuleKind: String, Codable, CaseIterable, Sendable {
|
||||
}
|
||||
}
|
||||
|
||||
/// Default name given to a brand-new rule of this kind (Opal: "In the Zone", "Time Keeper").
|
||||
/// Default name given to a brand-new rule of this kind (e.g. "In the Zone", "Time Keeper").
|
||||
var defaultRuleName: String {
|
||||
switch self {
|
||||
case .schedule: "In the Zone"
|
||||
|
||||
@@ -76,7 +76,7 @@ struct RuleSchedule: Hashable, Sendable {
|
||||
}
|
||||
|
||||
extension RuleSchedule {
|
||||
/// "09:00" style label for a minutes-from-midnight value, matching the reference UI.
|
||||
/// "09:00" style label for a minutes-from-midnight value.
|
||||
static func timeLabel(forMinutes minutes: Int) -> String {
|
||||
let clamped = ((minutes % (24 * 60)) + 24 * 60) % (24 * 60)
|
||||
return String(format: "%02d:%02d", clamped / 60, clamped % 60)
|
||||
|
||||
@@ -19,7 +19,7 @@ enum Weekday: Int, CaseIterable, Codable, Hashable, Sendable {
|
||||
static let weekends: Set<Weekday> = [.saturday, .sunday]
|
||||
static let everyDay: Set<Weekday> = Set(Weekday.allCases)
|
||||
|
||||
/// Display order used by the day picker, matching the reference UI: S M T W T F S.
|
||||
/// Display order used by the day picker: S M T W T F S.
|
||||
static let displayOrder: [Weekday] = [
|
||||
.sunday, .monday, .tuesday, .wednesday, .thursday, .friday, .saturday,
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user