amaran-light-cli 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -18
- package/dist/__tests__/autoCct.test.js +2 -2
- package/dist/__tests__/autoCct.test.js.map +1 -1
- package/dist/__tests__/autostart.test.js +1 -1
- package/dist/__tests__/autostart.test.js.map +1 -1
- package/dist/__tests__/cctUtil.test.js +19 -2
- package/dist/__tests__/cctUtil.test.js.map +1 -1
- package/dist/__tests__/intensityApi.test.js +4 -1
- package/dist/__tests__/intensityApi.test.js.map +1 -1
- package/dist/__tests__/lightControl.test.js +260 -1
- package/dist/__tests__/lightControl.test.js.map +1 -1
- package/dist/__tests__/simulateSchedule.test.js +2 -2
- package/dist/__tests__/simulateSchedule.test.js.map +1 -1
- package/dist/cli.d.ts +2 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/__tests__/integration.test.js +1 -1
- package/dist/commands/__tests__/integration.test.js.map +1 -1
- package/dist/commands/__tests__/newCommands.test.d.ts +2 -0
- package/dist/commands/__tests__/newCommands.test.d.ts.map +1 -0
- package/dist/commands/__tests__/newCommands.test.js +195 -0
- package/dist/commands/__tests__/newCommands.test.js.map +1 -0
- package/dist/commands/cmdUtils.d.ts +23 -0
- package/dist/commands/cmdUtils.d.ts.map +1 -0
- package/dist/commands/cmdUtils.js +43 -0
- package/dist/commands/cmdUtils.js.map +1 -0
- package/dist/commands/daylightSimulation/autoCct.d.ts +5 -0
- package/dist/commands/daylightSimulation/autoCct.d.ts.map +1 -0
- package/dist/commands/{autoCct.js → daylightSimulation/autoCct.js} +12 -13
- package/dist/commands/daylightSimulation/autoCct.js.map +1 -0
- package/dist/commands/{graphSchedule.d.ts → daylightSimulation/graphSchedule.d.ts} +1 -1
- package/dist/commands/daylightSimulation/graphSchedule.d.ts.map +1 -0
- package/dist/commands/daylightSimulation/graphSchedule.js +65 -0
- package/dist/commands/daylightSimulation/graphSchedule.js.map +1 -0
- package/dist/commands/daylightSimulation/printSchedule.d.ts +5 -0
- package/dist/commands/daylightSimulation/printSchedule.d.ts.map +1 -0
- package/dist/commands/daylightSimulation/printSchedule.js +65 -0
- package/dist/commands/daylightSimulation/printSchedule.js.map +1 -0
- package/dist/commands/{service.d.ts → daylightSimulation/service.d.ts} +1 -1
- package/dist/commands/daylightSimulation/service.d.ts.map +1 -0
- package/dist/commands/{service.js → daylightSimulation/service.js} +47 -35
- package/dist/commands/daylightSimulation/service.js.map +1 -0
- package/dist/commands/{simulateSchedule.d.ts → daylightSimulation/simulateSchedule.d.ts} +1 -1
- package/dist/commands/daylightSimulation/simulateSchedule.d.ts.map +1 -0
- package/dist/commands/daylightSimulation/simulateSchedule.js +123 -0
- package/dist/commands/daylightSimulation/simulateSchedule.js.map +1 -0
- package/dist/commands/{cct.d.ts → deviceControl/cct.d.ts} +1 -1
- package/dist/commands/deviceControl/cct.d.ts.map +1 -0
- package/dist/commands/{cct.js → deviceControl/cct.js} +31 -36
- package/dist/commands/deviceControl/cct.js.map +1 -0
- package/dist/commands/{color.d.ts → deviceControl/color.d.ts} +1 -1
- package/dist/commands/deviceControl/color.d.ts.map +1 -0
- package/dist/commands/deviceControl/color.js +52 -0
- package/dist/commands/deviceControl/color.js.map +1 -0
- package/dist/commands/{config.d.ts → deviceControl/config.d.ts} +1 -1
- package/dist/commands/deviceControl/config.d.ts.map +1 -0
- package/dist/commands/{config.js → deviceControl/config.js} +11 -7
- package/dist/commands/deviceControl/config.js.map +1 -0
- package/dist/commands/{discover.d.ts → deviceControl/discover.d.ts} +1 -1
- package/dist/commands/deviceControl/discover.d.ts.map +1 -0
- package/dist/commands/{discover.js → deviceControl/discover.js} +8 -4
- package/dist/commands/deviceControl/discover.js.map +1 -0
- package/dist/commands/deviceControl/effect.d.ts +5 -0
- package/dist/commands/deviceControl/effect.d.ts.map +1 -0
- package/dist/commands/deviceControl/effect.js +172 -0
- package/dist/commands/deviceControl/effect.js.map +1 -0
- package/dist/commands/deviceControl/fan.d.ts +5 -0
- package/dist/commands/deviceControl/fan.d.ts.map +1 -0
- package/dist/commands/deviceControl/fan.js +105 -0
- package/dist/commands/deviceControl/fan.js.map +1 -0
- package/dist/commands/deviceControl/firmware.d.ts +5 -0
- package/dist/commands/deviceControl/firmware.d.ts.map +1 -0
- package/dist/commands/deviceControl/firmware.js +68 -0
- package/dist/commands/deviceControl/firmware.js.map +1 -0
- package/dist/commands/deviceControl/group.d.ts +5 -0
- package/dist/commands/deviceControl/group.d.ts.map +1 -0
- package/dist/commands/deviceControl/group.js +101 -0
- package/dist/commands/deviceControl/group.js.map +1 -0
- package/dist/commands/{hsi.d.ts → deviceControl/hsi.d.ts} +1 -1
- package/dist/commands/deviceControl/hsi.d.ts.map +1 -0
- package/dist/commands/deviceControl/hsi.js +50 -0
- package/dist/commands/deviceControl/hsi.js.map +1 -0
- package/dist/commands/deviceControl/info.d.ts +5 -0
- package/dist/commands/deviceControl/info.d.ts.map +1 -0
- package/dist/commands/deviceControl/info.js +57 -0
- package/dist/commands/deviceControl/info.js.map +1 -0
- package/dist/commands/{intensity.d.ts → deviceControl/intensity.d.ts} +1 -1
- package/dist/commands/deviceControl/intensity.d.ts.map +1 -0
- package/dist/commands/deviceControl/intensity.js +41 -0
- package/dist/commands/deviceControl/intensity.js.map +1 -0
- package/dist/commands/{list.d.ts → deviceControl/list.d.ts} +1 -1
- package/dist/commands/deviceControl/list.d.ts.map +1 -0
- package/dist/commands/{list.js → deviceControl/list.js} +7 -3
- package/dist/commands/deviceControl/list.js.map +1 -0
- package/dist/commands/{power.d.ts → deviceControl/power.d.ts} +1 -1
- package/dist/commands/deviceControl/power.d.ts.map +1 -0
- package/dist/commands/deviceControl/power.js +78 -0
- package/dist/commands/deviceControl/power.js.map +1 -0
- package/dist/commands/deviceControl/preset.d.ts +5 -0
- package/dist/commands/deviceControl/preset.d.ts.map +1 -0
- package/dist/commands/deviceControl/preset.js +55 -0
- package/dist/commands/deviceControl/preset.js.map +1 -0
- package/dist/commands/deviceControl/quickshot.d.ts +5 -0
- package/dist/commands/deviceControl/quickshot.d.ts.map +1 -0
- package/dist/commands/deviceControl/quickshot.js +51 -0
- package/dist/commands/deviceControl/quickshot.js.map +1 -0
- package/dist/commands/deviceControl/scene.d.ts +5 -0
- package/dist/commands/deviceControl/scene.d.ts.map +1 -0
- package/dist/commands/deviceControl/scene.js +101 -0
- package/dist/commands/deviceControl/scene.js.map +1 -0
- package/dist/commands/{status.d.ts → deviceControl/status.d.ts} +1 -1
- package/dist/commands/deviceControl/status.d.ts.map +1 -0
- package/dist/commands/deviceControl/status.js +48 -0
- package/dist/commands/deviceControl/status.js.map +1 -0
- package/dist/commands.d.ts +1 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +34 -43
- package/dist/commands.js.map +1 -1
- package/dist/daylightSimulation/cctUtil.d.ts +5 -0
- package/dist/daylightSimulation/cctUtil.d.ts.map +1 -0
- package/dist/daylightSimulation/cctUtil.js +191 -0
- package/dist/daylightSimulation/cctUtil.js.map +1 -0
- package/dist/{constants.d.ts → daylightSimulation/constants.d.ts} +1 -18
- package/dist/daylightSimulation/constants.d.ts.map +1 -0
- package/dist/{constants.js → daylightSimulation/constants.js} +1 -13
- package/dist/daylightSimulation/constants.js.map +1 -0
- package/dist/daylightSimulation/curves/approximations.d.ts +19 -0
- package/dist/daylightSimulation/curves/approximations.d.ts.map +1 -0
- package/dist/daylightSimulation/curves/approximations.js +27 -0
- package/dist/daylightSimulation/curves/approximations.js.map +1 -0
- package/dist/daylightSimulation/curves/index.d.ts +15 -0
- package/dist/daylightSimulation/curves/index.d.ts.map +1 -0
- package/dist/daylightSimulation/curves/index.js +56 -0
- package/dist/daylightSimulation/curves/index.js.map +1 -0
- package/dist/daylightSimulation/curves/mathematical.d.ts +15 -0
- package/dist/daylightSimulation/curves/mathematical.d.ts.map +1 -0
- package/dist/daylightSimulation/curves/mathematical.js +33 -0
- package/dist/daylightSimulation/curves/mathematical.js.map +1 -0
- package/dist/daylightSimulation/curves/realistic.d.ts +43 -0
- package/dist/daylightSimulation/curves/realistic.d.ts.map +1 -0
- package/dist/daylightSimulation/curves/realistic.js +259 -0
- package/dist/daylightSimulation/curves/realistic.js.map +1 -0
- package/dist/daylightSimulation/geoipUtil.d.ts.map +1 -0
- package/dist/daylightSimulation/geoipUtil.js.map +1 -0
- package/dist/daylightSimulation/graphSchedule.d.ts +8 -0
- package/dist/daylightSimulation/graphSchedule.d.ts.map +1 -0
- package/dist/daylightSimulation/graphSchedule.js +116 -0
- package/dist/daylightSimulation/graphSchedule.js.map +1 -0
- package/dist/daylightSimulation/scheduleMaker.d.ts +33 -0
- package/dist/daylightSimulation/scheduleMaker.d.ts.map +1 -0
- package/dist/daylightSimulation/scheduleMaker.js +192 -0
- package/dist/daylightSimulation/scheduleMaker.js.map +1 -0
- package/dist/daylightSimulation/textSchedule.d.ts +9 -0
- package/dist/daylightSimulation/textSchedule.d.ts.map +1 -0
- package/dist/daylightSimulation/textSchedule.js +172 -0
- package/dist/daylightSimulation/textSchedule.js.map +1 -0
- package/dist/{cctUtil.d.ts → daylightSimulation/types.d.ts} +7 -5
- package/dist/daylightSimulation/types.d.ts.map +1 -0
- package/dist/daylightSimulation/types.js +16 -0
- package/dist/daylightSimulation/types.js.map +1 -0
- package/dist/deviceControl/autostart.d.ts.map +1 -0
- package/dist/deviceControl/autostart.js.map +1 -0
- package/dist/deviceControl/constants.d.ts +23 -0
- package/dist/deviceControl/constants.d.ts.map +1 -0
- package/dist/deviceControl/constants.js +20 -0
- package/dist/deviceControl/constants.js.map +1 -0
- package/dist/deviceControl/discovery.d.ts.map +1 -0
- package/dist/{discovery.js → deviceControl/discovery.js} +0 -2
- package/dist/deviceControl/discovery.js.map +1 -0
- package/dist/{lightControl.d.ts → deviceControl/lightControl.d.ts} +67 -78
- package/dist/deviceControl/lightControl.d.ts.map +1 -0
- package/dist/{lightControl.js → deviceControl/lightControl.js} +292 -203
- package/dist/deviceControl/lightControl.js.map +1 -0
- package/dist/deviceControl/types.d.ts +59 -0
- package/dist/deviceControl/types.d.ts.map +1 -0
- package/dist/deviceControl/types.js.map +1 -0
- package/dist/test/MockLightServer.d.ts.map +1 -1
- package/dist/test/MockLightServer.js +134 -12
- package/dist/test/MockLightServer.js.map +1 -1
- package/package.json +11 -7
- package/scripts/extract-api.ts +158 -0
- package/scripts/extract-usage.ts +199 -0
- package/scripts/release.js +11 -11
- package/CHANGELOG.md +0 -67
- package/dist/autostart.d.ts.map +0 -1
- package/dist/autostart.js.map +0 -1
- package/dist/cctUtil.d.ts.map +0 -1
- package/dist/cctUtil.js +0 -435
- package/dist/cctUtil.js.map +0 -1
- package/dist/commands/autoCct.d.ts +0 -5
- package/dist/commands/autoCct.d.ts.map +0 -1
- package/dist/commands/autoCct.js.map +0 -1
- package/dist/commands/cct.d.ts.map +0 -1
- package/dist/commands/cct.js.map +0 -1
- package/dist/commands/color.d.ts.map +0 -1
- package/dist/commands/color.js +0 -57
- package/dist/commands/color.js.map +0 -1
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/discover.d.ts.map +0 -1
- package/dist/commands/discover.js.map +0 -1
- package/dist/commands/graphSchedule.d.ts.map +0 -1
- package/dist/commands/graphSchedule.js +0 -293
- package/dist/commands/graphSchedule.js.map +0 -1
- package/dist/commands/hsi.d.ts.map +0 -1
- package/dist/commands/hsi.js +0 -59
- package/dist/commands/hsi.js.map +0 -1
- package/dist/commands/intensity.d.ts.map +0 -1
- package/dist/commands/intensity.js +0 -50
- package/dist/commands/intensity.js.map +0 -1
- package/dist/commands/list.d.ts.map +0 -1
- package/dist/commands/list.js.map +0 -1
- package/dist/commands/power.d.ts.map +0 -1
- package/dist/commands/power.js +0 -120
- package/dist/commands/power.js.map +0 -1
- package/dist/commands/printSchedule.d.ts +0 -5
- package/dist/commands/printSchedule.d.ts.map +0 -1
- package/dist/commands/printSchedule.js +0 -452
- package/dist/commands/printSchedule.js.map +0 -1
- package/dist/commands/service.d.ts.map +0 -1
- package/dist/commands/service.js.map +0 -1
- package/dist/commands/simulateSchedule.d.ts.map +0 -1
- package/dist/commands/simulateSchedule.js +0 -199
- package/dist/commands/simulateSchedule.js.map +0 -1
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -48
- package/dist/commands/status.js.map +0 -1
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js.map +0 -1
- package/dist/discovery.d.ts.map +0 -1
- package/dist/discovery.js.map +0 -1
- package/dist/geoipUtil.d.ts.map +0 -1
- package/dist/geoipUtil.js.map +0 -1
- package/dist/lightControl.d.ts.map +0 -1
- package/dist/lightControl.js.map +0 -1
- package/dist/types.d.ts +0 -41
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- /package/dist/{geoipUtil.d.ts → daylightSimulation/geoipUtil.d.ts} +0 -0
- /package/dist/{geoipUtil.js → daylightSimulation/geoipUtil.js} +0 -0
- /package/dist/{autostart.d.ts → deviceControl/autostart.d.ts} +0 -0
- /package/dist/{autostart.js → deviceControl/autostart.js} +0 -0
- /package/dist/{discovery.d.ts → deviceControl/discovery.d.ts} +0 -0
- /package/dist/{types.js → deviceControl/types.js} +0 -0
|
@@ -3,6 +3,7 @@ export declare const CCT_DEFAULTS: {
|
|
|
3
3
|
cctMaxK: number;
|
|
4
4
|
intensityMinPct: number;
|
|
5
5
|
intensityMaxPct: number;
|
|
6
|
+
maxLux: number;
|
|
6
7
|
};
|
|
7
8
|
export declare const SPECIAL_TIME_CONFIG: readonly [{
|
|
8
9
|
readonly key: "nightEnd";
|
|
@@ -57,14 +58,6 @@ export declare const SPECIAL_TIME_CONFIG: readonly [{
|
|
|
57
58
|
readonly color: import("chalk").ChalkInstance;
|
|
58
59
|
readonly emoji: "NI";
|
|
59
60
|
}];
|
|
60
|
-
export declare const DEVICE_DEFAULTS: {
|
|
61
|
-
updateInterval: number;
|
|
62
|
-
simulationDuration: number;
|
|
63
|
-
reconnectAttempts: number;
|
|
64
|
-
reconnectDelay: number;
|
|
65
|
-
commandThrottleDelay: number;
|
|
66
|
-
statusCheckDelay: number;
|
|
67
|
-
};
|
|
68
61
|
export declare const VALIDATION_RANGES: {
|
|
69
62
|
latitude: {
|
|
70
63
|
min: number;
|
|
@@ -74,21 +67,11 @@ export declare const VALIDATION_RANGES: {
|
|
|
74
67
|
min: number;
|
|
75
68
|
max: number;
|
|
76
69
|
};
|
|
77
|
-
cct: {
|
|
78
|
-
min: number;
|
|
79
|
-
max: number;
|
|
80
|
-
};
|
|
81
|
-
intensity: {
|
|
82
|
-
min: number;
|
|
83
|
-
max: number;
|
|
84
|
-
};
|
|
85
70
|
};
|
|
86
71
|
export declare const ERROR_MESSAGES: {
|
|
87
72
|
readonly invalidLatitude: `Latitude must be between ${number} and ${number}`;
|
|
88
73
|
readonly invalidLongitude: `Longitude must be between ${number} and ${number}`;
|
|
89
|
-
readonly invalidDuration: "Duration must be at least 1 second";
|
|
90
74
|
readonly invalidCurve: "Invalid curve type. Use \"hann\", \"wider-middle-small\", \"wider-middle-medium\", \"wider-middle-large\", \"cie-daylight\", \"sun-altitude\", or \"perez-daylight\"";
|
|
91
|
-
readonly deviceNotFound: (device: string) => string;
|
|
92
75
|
readonly locationUnavailable: "Could not determine location. Use --lat and --lon to specify manually.";
|
|
93
76
|
readonly nightTimesUnavailable: "Could not calculate night times for this location";
|
|
94
77
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/daylightSimulation/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY;;;;;;CAMxB,CAAC;AAGF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EActB,CAAC;AAGX,eAAO,MAAM,iBAAiB;;;;;;;;;CAG7B,CAAC;AAGF,eAAO,MAAM,cAAc;;;;;;CAOjB,CAAC"}
|
|
@@ -5,6 +5,7 @@ export const CCT_DEFAULTS = {
|
|
|
5
5
|
cctMaxK: 5500, // 5500K is the CCT of non-overcast noon sunlight
|
|
6
6
|
intensityMinPct: 5,
|
|
7
7
|
intensityMaxPct: 100,
|
|
8
|
+
maxLux: 110000, // Approximate clear sky zenith lux
|
|
8
9
|
};
|
|
9
10
|
// Special time configuration - single source of truth for colors and emojis
|
|
10
11
|
export const SPECIAL_TIME_CONFIG = [
|
|
@@ -22,29 +23,16 @@ export const SPECIAL_TIME_CONFIG = [
|
|
|
22
23
|
{ key: 'dusk', color: chalk.magenta, emoji: 'DU' },
|
|
23
24
|
{ key: 'night', color: chalk.blue, emoji: 'NI' },
|
|
24
25
|
];
|
|
25
|
-
// Device control defaults
|
|
26
|
-
export const DEVICE_DEFAULTS = {
|
|
27
|
-
updateInterval: 500, // milliseconds for smooth visual simulation
|
|
28
|
-
simulationDuration: 10, // seconds to compress full day
|
|
29
|
-
reconnectAttempts: 3,
|
|
30
|
-
reconnectDelay: 1000, // milliseconds
|
|
31
|
-
commandThrottleDelay: 250, // milliseconds between commands to avoid overwhelming server
|
|
32
|
-
statusCheckDelay: 250, // milliseconds for device status checks
|
|
33
|
-
};
|
|
34
26
|
// Validation ranges
|
|
35
27
|
export const VALIDATION_RANGES = {
|
|
36
28
|
latitude: { min: -90, max: 90 },
|
|
37
29
|
longitude: { min: -180, max: 180 },
|
|
38
|
-
cct: { min: 1000, max: 20000 },
|
|
39
|
-
intensity: { min: 0, max: 100 },
|
|
40
30
|
};
|
|
41
31
|
// Error messages
|
|
42
32
|
export const ERROR_MESSAGES = {
|
|
43
33
|
invalidLatitude: `Latitude must be between ${VALIDATION_RANGES.latitude.min} and ${VALIDATION_RANGES.latitude.max}`,
|
|
44
34
|
invalidLongitude: `Longitude must be between ${VALIDATION_RANGES.longitude.min} and ${VALIDATION_RANGES.longitude.max}`,
|
|
45
|
-
invalidDuration: 'Duration must be at least 1 second',
|
|
46
35
|
invalidCurve: 'Invalid curve type. Use "hann", "wider-middle-small", "wider-middle-medium", "wider-middle-large", "cie-daylight", "sun-altitude", or "perez-daylight"',
|
|
47
|
-
deviceNotFound: (device) => `Device "${device}" not found`,
|
|
48
36
|
locationUnavailable: 'Could not determine location. Use --lat and --lon to specify manually.',
|
|
49
37
|
nightTimesUnavailable: 'Could not calculate night times for this location',
|
|
50
38
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/daylightSimulation/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,2BAA2B;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,IAAI,EAAE,2CAA2C;IAC1D,OAAO,EAAE,IAAI,EAAE,iDAAiD;IAChE,eAAe,EAAE,CAAC;IAClB,eAAe,EAAE,GAAG;IACpB,MAAM,EAAE,MAAM,EAAE,mCAAmC;CACpD,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IACnD,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IACvD,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAC/C,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;IACpD,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;IACvD,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;IAC1D,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;IACrD,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;IACvD,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;IACzD,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;IACpD,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;IAC1D,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;IAClD,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;CACxC,CAAC;AAEX,oBAAoB;AACpB,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;IAC/B,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;CACnC,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,eAAe,EAAE,4BAA4B,iBAAiB,CAAC,QAAQ,CAAC,GAAG,QAAQ,iBAAiB,CAAC,QAAQ,CAAC,GAAG,EAAE;IACnH,gBAAgB,EAAE,6BAA6B,iBAAiB,CAAC,SAAS,CAAC,GAAG,QAAQ,iBAAiB,CAAC,SAAS,CAAC,GAAG,EAAE;IACvH,YAAY,EACV,wJAAwJ;IAC1J,mBAAmB,EAAE,wEAAwE;IAC7F,qBAAqB,EAAE,mDAAmD;CAClE,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple approximations and curves for daylight simulation.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* CIE daylight locus approximation.
|
|
6
|
+
* @param x Progress through the day (0 to 1)
|
|
7
|
+
*/
|
|
8
|
+
export declare function cieDaylightCurve(x: number): number;
|
|
9
|
+
/**
|
|
10
|
+
* Simple sun altitude-based approximation.
|
|
11
|
+
* @param x Progress through the day (0 to 1)
|
|
12
|
+
*/
|
|
13
|
+
export declare function sunAltitudeCurve(x: number): number;
|
|
14
|
+
/**
|
|
15
|
+
* Perez daylight model approximation.
|
|
16
|
+
* @param x Progress through the day (0 to 1)
|
|
17
|
+
*/
|
|
18
|
+
export declare function perezDaylightCurve(x: number): number;
|
|
19
|
+
//# sourceMappingURL=approximations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approximations.d.ts","sourceRoot":"","sources":["../../../src/daylightSimulation/curves/approximations.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAIpD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple approximations and curves for daylight simulation.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* CIE daylight locus approximation.
|
|
6
|
+
* @param x Progress through the day (0 to 1)
|
|
7
|
+
*/
|
|
8
|
+
export function cieDaylightCurve(x) {
|
|
9
|
+
return Math.sin(Math.PI * x) ** 0.8;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Simple sun altitude-based approximation.
|
|
13
|
+
* @param x Progress through the day (0 to 1)
|
|
14
|
+
*/
|
|
15
|
+
export function sunAltitudeCurve(x) {
|
|
16
|
+
return 1 - Math.cos(Math.PI * x);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Perez daylight model approximation.
|
|
20
|
+
* @param x Progress through the day (0 to 1)
|
|
21
|
+
*/
|
|
22
|
+
export function perezDaylightCurve(x) {
|
|
23
|
+
const zenithAngle = Math.PI * (0.5 - Math.abs(x - 0.5));
|
|
24
|
+
const scattering = Math.exp(-2.0 * Math.max(0, Math.cos(zenithAngle)));
|
|
25
|
+
return Math.sin(Math.PI * x) ** 0.6 * (1 - 0.2 * scattering);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=approximations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approximations.js","sourceRoot":"","sources":["../../../src/daylightSimulation/curves/approximations.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAS;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CurveType } from '../types.js';
|
|
2
|
+
export * from './approximations.js';
|
|
3
|
+
export * from './mathematical.js';
|
|
4
|
+
export * from './realistic.js';
|
|
5
|
+
export type CurveFunction = (x: number) => number;
|
|
6
|
+
export declare const CURVE_FUNCTIONS: Record<CurveType, CurveFunction>;
|
|
7
|
+
/**
|
|
8
|
+
* Parse a curve type string into a CurveType enum key
|
|
9
|
+
*/
|
|
10
|
+
export declare function parseCurveType(curve: string): keyof typeof CurveType;
|
|
11
|
+
/**
|
|
12
|
+
* Get all available curve type names
|
|
13
|
+
*/
|
|
14
|
+
export declare function getAvailableCurves(): string[];
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/daylightSimulation/curves/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;AAElD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAW5D,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,OAAO,SAAS,CA6BpE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { CurveType } from '../types.js';
|
|
2
|
+
import * as approximations from './approximations.js';
|
|
3
|
+
import * as mathematical from './mathematical.js';
|
|
4
|
+
export * from './approximations.js';
|
|
5
|
+
export * from './mathematical.js';
|
|
6
|
+
export * from './realistic.js';
|
|
7
|
+
export const CURVE_FUNCTIONS = {
|
|
8
|
+
[CurveType.HANN]: mathematical.hannCurve,
|
|
9
|
+
[CurveType.WIDER_MIDDLE_SMALL]: (x) => mathematical.widerMiddleCurve(x, 'small'),
|
|
10
|
+
[CurveType.WIDER_MIDDLE_MEDIUM]: (x) => mathematical.widerMiddleCurve(x, 'medium'),
|
|
11
|
+
[CurveType.WIDER_MIDDLE_LARGE]: (x) => mathematical.widerMiddleCurve(x, 'large'),
|
|
12
|
+
[CurveType.CIE_DAYLIGHT]: approximations.cieDaylightCurve,
|
|
13
|
+
[CurveType.SUN_ALTITUDE]: approximations.sunAltitudeCurve,
|
|
14
|
+
[CurveType.PEREZ_DAYLIGHT]: approximations.perezDaylightCurve,
|
|
15
|
+
[CurveType.PHYSICS]: (x) => Math.sin(Math.PI * x) ** 1.2,
|
|
16
|
+
[CurveType.BLACKBODY]: (x) => Math.sin(Math.PI * x) ** 1.5,
|
|
17
|
+
[CurveType.HAZY]: (x) => Math.sin(Math.PI * x) ** 0.8,
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Parse a curve type string into a CurveType enum key
|
|
21
|
+
*/
|
|
22
|
+
export function parseCurveType(curve) {
|
|
23
|
+
const normalizedCurve = curve.toLowerCase();
|
|
24
|
+
switch (normalizedCurve) {
|
|
25
|
+
case 'hann':
|
|
26
|
+
return 'HANN';
|
|
27
|
+
case 'wider-middle-small':
|
|
28
|
+
return 'WIDER_MIDDLE_SMALL';
|
|
29
|
+
case 'wider-middle-medium':
|
|
30
|
+
case 'wider-middle':
|
|
31
|
+
return 'WIDER_MIDDLE_MEDIUM';
|
|
32
|
+
case 'wider-middle-large':
|
|
33
|
+
return 'WIDER_MIDDLE_LARGE';
|
|
34
|
+
case 'cie-daylight':
|
|
35
|
+
return 'CIE_DAYLIGHT';
|
|
36
|
+
case 'sun-altitude':
|
|
37
|
+
return 'SUN_ALTITUDE';
|
|
38
|
+
case 'perez-daylight':
|
|
39
|
+
return 'PEREZ_DAYLIGHT';
|
|
40
|
+
case 'physics':
|
|
41
|
+
return 'PHYSICS';
|
|
42
|
+
case 'blackbody':
|
|
43
|
+
return 'BLACKBODY';
|
|
44
|
+
case 'hazy':
|
|
45
|
+
return 'HAZY';
|
|
46
|
+
default:
|
|
47
|
+
throw new Error('Invalid curve type. Use "hann", "wider-middle-small", "wider-middle-medium", "wider-middle-large", "cie-daylight", "sun-altitude", "perez-daylight", "physics", "blackbody", or "hazy"');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get all available curve type names
|
|
52
|
+
*/
|
|
53
|
+
export function getAvailableCurves() {
|
|
54
|
+
return Object.values(CurveType);
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/daylightSimulation/curves/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAElD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAI/B,MAAM,CAAC,MAAM,eAAe,GAAqC;IAC/D,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,SAAS;IACxC,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC;IACxF,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC;IAC1F,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC;IACxF,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,gBAAgB;IACzD,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,gBAAgB;IACzD,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,kBAAkB;IAC7D,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG;IAChE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG;IAClE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG;CAC9D,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5C,QAAQ,eAAe,EAAE,CAAC;QACxB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,oBAAoB;YACvB,OAAO,oBAAoB,CAAC;QAC9B,KAAK,qBAAqB,CAAC;QAC3B,KAAK,cAAc;YACjB,OAAO,qBAAqB,CAAC;QAC/B,KAAK,oBAAoB;YACvB,OAAO,oBAAoB,CAAC;QAC9B,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC;QACxB,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC;QACxB,KAAK,gBAAgB;YACnB,OAAO,gBAAgB,CAAC;QAC1B,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB;YACE,MAAM,IAAI,KAAK,CACb,wLAAwL,CACzL,CAAC;IACN,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mathematical curve functions for Daylight Simulation
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Hann window function
|
|
6
|
+
* @param x Progress through the day (0 to 1)
|
|
7
|
+
*/
|
|
8
|
+
export declare function hannCurve(x: number): number;
|
|
9
|
+
/**
|
|
10
|
+
* Curve with a wider plateau in the middle
|
|
11
|
+
* @param x Progress through the day (0 to 1)
|
|
12
|
+
* @param width Width of the plateau
|
|
13
|
+
*/
|
|
14
|
+
export declare function widerMiddleCurve(x: number, width?: 'small' | 'medium' | 'large'): number;
|
|
15
|
+
//# sourceMappingURL=mathematical.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mathematical.d.ts","sourceRoot":"","sources":["../../../src/daylightSimulation/curves/mathematical.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,OAAO,GAAG,QAAQ,GAAG,OAAkB,GAAG,MAAM,CAgBlG"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mathematical curve functions for Daylight Simulation
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Hann window function
|
|
6
|
+
* @param x Progress through the day (0 to 1)
|
|
7
|
+
*/
|
|
8
|
+
export function hannCurve(x) {
|
|
9
|
+
return 0.5 * (1 - Math.cos(2 * Math.PI * x));
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Curve with a wider plateau in the middle
|
|
13
|
+
* @param x Progress through the day (0 to 1)
|
|
14
|
+
* @param width Width of the plateau
|
|
15
|
+
*/
|
|
16
|
+
export function widerMiddleCurve(x, width = 'medium') {
|
|
17
|
+
const widthConfig = {
|
|
18
|
+
small: { start: 0.35, end: 0.65 }, // Narrow plateau (30% of day)
|
|
19
|
+
medium: { start: 0.2, end: 0.8 }, // Medium plateau (60% of day)
|
|
20
|
+
large: { start: 0.1, end: 0.9 }, // Wide plateau (80% of day)
|
|
21
|
+
};
|
|
22
|
+
const { start: plateauStart, end: plateauEnd } = widthConfig[width];
|
|
23
|
+
if (x < plateauStart) {
|
|
24
|
+
return Math.sin(((x / plateauStart) * Math.PI) / 2);
|
|
25
|
+
}
|
|
26
|
+
else if (x > plateauEnd) {
|
|
27
|
+
return Math.cos((((x - plateauEnd) / (1 - plateauEnd)) * Math.PI) / 2);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return 1;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=mathematical.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mathematical.js","sourceRoot":"","sources":["../../../src/daylightSimulation/curves/mathematical.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,QAAsC,QAAQ;IACxF,MAAM,WAAW,GAAG;QAClB,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,8BAA8B;QACjE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,8BAA8B;QAChE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,4BAA4B;KAC9D,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAEpE,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;SAAM,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Realistic daylight calculation functions based on sun position and atmospheric models.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Realistic daylight calculation based on sun altitude.
|
|
6
|
+
* @param altitude Sun altitude in radians
|
|
7
|
+
* @param maxAltitude Maximum sun altitude for the day in radians
|
|
8
|
+
*/
|
|
9
|
+
export declare function calculateRealisticSunAltitude(altitude: number, maxAltitude: number): [cctFactor: number, intensityFactor: number, rawIntensity: number];
|
|
10
|
+
/**
|
|
11
|
+
* CIE daylight model with atmospheric path modeling.
|
|
12
|
+
* @param altitude Sun altitude in radians
|
|
13
|
+
* @param maxAltitude Maximum sun altitude for the day in radians
|
|
14
|
+
*/
|
|
15
|
+
export declare function calculateRealisticCIEDaylight(altitude: number, maxAltitude: number): [cctFactor: number, intensityFactor: number, rawIntensity: number];
|
|
16
|
+
/**
|
|
17
|
+
* Perez daylight model with turbidity and atmospheric effects.
|
|
18
|
+
* @param altitude Sun altitude in radians
|
|
19
|
+
* @param maxAltitude Maximum sun altitude for the day in radians
|
|
20
|
+
*/
|
|
21
|
+
export declare function calculateRealisticPerezDaylight(altitude: number, maxAltitude: number): [cctFactor: number, intensityFactor: number, rawIntensity: number];
|
|
22
|
+
/**
|
|
23
|
+
* Physics-based Atmospheric model.
|
|
24
|
+
* Uses Beer-Lambert law for intensity and exponential decay for CCT.
|
|
25
|
+
* @param altitude Sun altitude in radians
|
|
26
|
+
* @param maxAltitude Maximum sun altitude for the day in radians
|
|
27
|
+
*/
|
|
28
|
+
export declare function calculateRealisticPhysicsDaylight(altitude: number, maxAltitude: number): [cctFactor: number, intensityFactor: number, rawIntensity: number];
|
|
29
|
+
/**
|
|
30
|
+
* Blackbody Sun model.
|
|
31
|
+
* Simulates the sun as a blackbody shifting through the atmosphere.
|
|
32
|
+
* @param altitude Sun altitude in radians
|
|
33
|
+
* @param maxAltitude Maximum sun altitude for the day in radians
|
|
34
|
+
*/
|
|
35
|
+
export declare function calculateRealisticBlackbodyDaylight(altitude: number, maxAltitude: number): [cctFactor: number, intensityFactor: number, rawIntensity: number];
|
|
36
|
+
/**
|
|
37
|
+
* Hazy/Turbid model.
|
|
38
|
+
* Simulates a sky with high particulate matter (smog/mist).
|
|
39
|
+
* @param altitude Sun altitude in radians
|
|
40
|
+
* @param maxAltitude Maximum sun altitude for the day in radians
|
|
41
|
+
*/
|
|
42
|
+
export declare function calculateRealisticHazyDaylight(altitude: number, maxAltitude: number): [cctFactor: number, intensityFactor: number, rawIntensity: number];
|
|
43
|
+
//# sourceMappingURL=realistic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realistic.d.ts","sourceRoot":"","sources":["../../../src/daylightSimulation/curves/realistic.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAwCpE;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAqCpE;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAsCpE;AAcD;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAmCpE;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CA8BpE;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CA8BpE"}
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Realistic daylight calculation functions based on sun position and atmospheric models.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Realistic daylight calculation based on sun altitude.
|
|
6
|
+
* @param altitude Sun altitude in radians
|
|
7
|
+
* @param maxAltitude Maximum sun altitude for the day in radians
|
|
8
|
+
*/
|
|
9
|
+
export function calculateRealisticSunAltitude(altitude, maxAltitude) {
|
|
10
|
+
// Convert altitude to degrees for easier calculations
|
|
11
|
+
const altitudeDeg = (altitude * 180) / Math.PI;
|
|
12
|
+
const maxAltitudeDeg = (maxAltitude * 180) / Math.PI;
|
|
13
|
+
// CCT: Based on real-world color temperature at different sun angles
|
|
14
|
+
let cctFactor;
|
|
15
|
+
if (altitudeDeg < -6) {
|
|
16
|
+
cctFactor = 0; // Before civil twilight - minimum CCT
|
|
17
|
+
}
|
|
18
|
+
else if (altitudeDeg < 0) {
|
|
19
|
+
// Civil twilight: 4000-5000K range
|
|
20
|
+
cctFactor = 0.3 + ((altitudeDeg + 6) / 6) * 0.2; // 0.3 to 0.5
|
|
21
|
+
}
|
|
22
|
+
else if (altitudeDeg < 30) {
|
|
23
|
+
// Morning/afternoon: 5000-6500K
|
|
24
|
+
cctFactor = 0.5 + (altitudeDeg / 30) * 0.3; // 0.5 to 0.8
|
|
25
|
+
}
|
|
26
|
+
else if (altitudeDeg < 60) {
|
|
27
|
+
// High sun: 5500-7000K
|
|
28
|
+
cctFactor = 0.8 + ((altitudeDeg - 30) / 30) * 0.2; // 0.8 to 1.0
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
// Very high sun: 6500-7500K
|
|
32
|
+
cctFactor = 1.0;
|
|
33
|
+
}
|
|
34
|
+
// Calculate raw intensity factor based on absolute altitude
|
|
35
|
+
const calculateIntensity = (altDeg) => {
|
|
36
|
+
if (altDeg < -6)
|
|
37
|
+
return 0;
|
|
38
|
+
if (altDeg < 0)
|
|
39
|
+
return ((altDeg + 6) / 6) ** 2 * 0.05;
|
|
40
|
+
if (altDeg < 10)
|
|
41
|
+
return 0.05 + (altDeg / 10) * 0.15;
|
|
42
|
+
if (altDeg < 30)
|
|
43
|
+
return 0.2 + ((altDeg - 10) / 20) * 0.4;
|
|
44
|
+
return 0.6 + ((altDeg - 30) / 60) * 0.4;
|
|
45
|
+
};
|
|
46
|
+
const rawIntensity = calculateIntensity(altitudeDeg);
|
|
47
|
+
const maxDailyIntensity = calculateIntensity(maxAltitudeDeg);
|
|
48
|
+
// Normalize: Scale the current intensity so that at maxAltitude it reaches 1.0
|
|
49
|
+
let intensityFactor = maxDailyIntensity > 0.01 ? rawIntensity / maxDailyIntensity : 0;
|
|
50
|
+
intensityFactor = Math.min(1.0, intensityFactor);
|
|
51
|
+
return [Math.max(0, Math.min(1, cctFactor)), Math.max(0, Math.min(1, intensityFactor)), rawIntensity];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* CIE daylight model with atmospheric path modeling.
|
|
55
|
+
* @param altitude Sun altitude in radians
|
|
56
|
+
* @param maxAltitude Maximum sun altitude for the day in radians
|
|
57
|
+
*/
|
|
58
|
+
export function calculateRealisticCIEDaylight(altitude, maxAltitude) {
|
|
59
|
+
const altitudeDeg = (altitude * 180) / Math.PI;
|
|
60
|
+
const maxAltitudeDeg = (maxAltitude * 180) / Math.PI;
|
|
61
|
+
let cctFactor;
|
|
62
|
+
if (altitudeDeg < -6) {
|
|
63
|
+
cctFactor = 0;
|
|
64
|
+
}
|
|
65
|
+
else if (altitudeDeg < 0) {
|
|
66
|
+
cctFactor = 0.4 + ((altitudeDeg + 6) / 6) ** 1.5 * 0.2;
|
|
67
|
+
}
|
|
68
|
+
else if (altitudeDeg < 15) {
|
|
69
|
+
cctFactor = 0.6 - Math.sin((altitudeDeg * Math.PI) / 30) * 0.1;
|
|
70
|
+
}
|
|
71
|
+
else if (altitudeDeg < 45) {
|
|
72
|
+
cctFactor = 0.5 + ((altitudeDeg - 15) / 30) * 0.4;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
cctFactor = 0.9 + Math.min(0.1, ((altitudeDeg - 45) / 45) * 0.1);
|
|
76
|
+
}
|
|
77
|
+
const calculateRawIntensity = (altDeg) => {
|
|
78
|
+
if (altDeg < -6)
|
|
79
|
+
return 0;
|
|
80
|
+
if (altDeg < 0)
|
|
81
|
+
return ((altDeg + 6) / 6) ** 3 * 0.03;
|
|
82
|
+
if (altDeg < 15) {
|
|
83
|
+
const altRad = Math.max(0.01, (altDeg * Math.PI) / 180);
|
|
84
|
+
const airMass = 1 / Math.sin(altRad);
|
|
85
|
+
return Math.min(0.25, 1 / airMass ** 0.7);
|
|
86
|
+
}
|
|
87
|
+
if (altDeg < 40)
|
|
88
|
+
return 0.25 + ((altDeg - 15) / 25) * 0.55;
|
|
89
|
+
if (altDeg < 70)
|
|
90
|
+
return 0.8 + ((altDeg - 40) / 30) * 0.15;
|
|
91
|
+
return 0.95 + ((altDeg - 70) / 20) * 0.05;
|
|
92
|
+
};
|
|
93
|
+
const rawIntensity = calculateRawIntensity(altitudeDeg);
|
|
94
|
+
const maxDailyIntensity = calculateRawIntensity(maxAltitudeDeg);
|
|
95
|
+
const intensityFactor = maxDailyIntensity > 0.001 ? rawIntensity / maxDailyIntensity : 0;
|
|
96
|
+
return [Math.max(0, Math.min(1, cctFactor)), Math.max(0, Math.min(1, intensityFactor)), rawIntensity];
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Perez daylight model with turbidity and atmospheric effects.
|
|
100
|
+
* @param altitude Sun altitude in radians
|
|
101
|
+
* @param maxAltitude Maximum sun altitude for the day in radians
|
|
102
|
+
*/
|
|
103
|
+
export function calculateRealisticPerezDaylight(altitude, maxAltitude) {
|
|
104
|
+
const altitudeDeg = (altitude * 180) / Math.PI;
|
|
105
|
+
const maxAltitudeDeg = (maxAltitude * 180) / Math.PI;
|
|
106
|
+
let cctFactor;
|
|
107
|
+
if (altitudeDeg < -6) {
|
|
108
|
+
cctFactor = 0;
|
|
109
|
+
}
|
|
110
|
+
else if (altitudeDeg < 0) {
|
|
111
|
+
cctFactor = 0.35 + ((altitudeDeg + 6) / 6) ** 2 * 0.25;
|
|
112
|
+
}
|
|
113
|
+
else if (altitudeDeg < 25) {
|
|
114
|
+
const goldenHourEffect = Math.exp(-((altitudeDeg - 12.5) ** 2) / 100);
|
|
115
|
+
cctFactor = 0.6 - goldenHourEffect * 0.15 + (altitudeDeg / 25) * 0.3;
|
|
116
|
+
}
|
|
117
|
+
else if (altitudeDeg < 50) {
|
|
118
|
+
cctFactor = 0.75 + ((altitudeDeg - 25) / 25) * 0.2;
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
cctFactor = Math.min(1.0, 0.95 + ((altitudeDeg - 50) / 40) * 0.05);
|
|
122
|
+
}
|
|
123
|
+
const calculateRawIntensity = (altDeg) => {
|
|
124
|
+
if (altDeg < -6)
|
|
125
|
+
return 0;
|
|
126
|
+
if (altDeg < 5)
|
|
127
|
+
return (Math.max(0, altDeg + 6) / 11) ** 4 * 0.15;
|
|
128
|
+
if (altDeg < 20) {
|
|
129
|
+
const zenithAngle = Math.max(0.01, ((90 - altDeg) * Math.PI) / 180);
|
|
130
|
+
const relativeLuminance = Math.exp(-0.2 / Math.max(0.01, Math.cos(zenithAngle)));
|
|
131
|
+
return Math.min(0.4, relativeLuminance * 0.35 + 0.05);
|
|
132
|
+
}
|
|
133
|
+
if (altDeg < 45)
|
|
134
|
+
return 0.25 + ((altDeg - 20) / 25) * 0.65;
|
|
135
|
+
if (altDeg < 80)
|
|
136
|
+
return 0.9 + ((altDeg - 45) / 35) * 0.1;
|
|
137
|
+
return 1.0;
|
|
138
|
+
};
|
|
139
|
+
const rawIntensity = calculateRawIntensity(altitudeDeg);
|
|
140
|
+
const maxDailyIntensity = calculateRawIntensity(maxAltitudeDeg);
|
|
141
|
+
const intensityFactor = maxDailyIntensity > 0.001 ? rawIntensity / maxDailyIntensity : 0;
|
|
142
|
+
return [Math.max(0, Math.min(1, cctFactor)), Math.max(0, Math.min(1, intensityFactor)), rawIntensity];
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Kasten-Young air mass formula.
|
|
146
|
+
* Accurate even at low altitudes/horizon.
|
|
147
|
+
* @param altitudeDeg Altitude in degrees
|
|
148
|
+
*/
|
|
149
|
+
function calculateAirMass(altitudeDeg) {
|
|
150
|
+
// The Kasten-Young formula is valid for altitude > -0.5 deg.
|
|
151
|
+
// Below that, the atmosphere is essentially opaque for direct sunlight.
|
|
152
|
+
const gamma = Math.max(-0.5, altitudeDeg);
|
|
153
|
+
return 1 / (Math.sin((gamma * Math.PI) / 180) + 0.50572 * (gamma + 6.07995) ** -1.6364);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Physics-based Atmospheric model.
|
|
157
|
+
* Uses Beer-Lambert law for intensity and exponential decay for CCT.
|
|
158
|
+
* @param altitude Sun altitude in radians
|
|
159
|
+
* @param maxAltitude Maximum sun altitude for the day in radians
|
|
160
|
+
*/
|
|
161
|
+
export function calculateRealisticPhysicsDaylight(altitude, maxAltitude) {
|
|
162
|
+
const altitudeDeg = (altitude * 180) / Math.PI;
|
|
163
|
+
const maxAltitudeDeg = (maxAltitude * 180) / Math.PI;
|
|
164
|
+
// CCT: Exponential approach to zenith CCT
|
|
165
|
+
// Factors: 0 at horizon/twilight, 1 at zenith
|
|
166
|
+
let cctFactor;
|
|
167
|
+
if (altitudeDeg < -6) {
|
|
168
|
+
cctFactor = 0;
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
// k=0.05 gives a nice natural curve
|
|
172
|
+
cctFactor = 1 - Math.exp(-0.05 * (altitudeDeg + 6));
|
|
173
|
+
}
|
|
174
|
+
// Intensity: Beer-Lambert Law
|
|
175
|
+
// I = I0 * tau ^ m
|
|
176
|
+
const calculateIntensity = (altDeg) => {
|
|
177
|
+
if (altDeg < -6)
|
|
178
|
+
return 0;
|
|
179
|
+
// Direct Component (Beer-Lambert)
|
|
180
|
+
const m = calculateAirMass(altDeg);
|
|
181
|
+
const tau = 0.75; // Standard clear sky transmittance
|
|
182
|
+
const direct = tau ** m;
|
|
183
|
+
// Ambient Component (Diffuse twilight glow)
|
|
184
|
+
// Reaches ~5% of possible direct intensity at horizon
|
|
185
|
+
const ambient = altDeg < 0 ? ((altDeg + 6) / 6) ** 2 * 0.05 : 0.05 + (altDeg / 90) * 0.05;
|
|
186
|
+
return direct + ambient;
|
|
187
|
+
};
|
|
188
|
+
const rawIntensity = calculateIntensity(altitudeDeg);
|
|
189
|
+
const maxDailyIntensity = calculateIntensity(maxAltitudeDeg);
|
|
190
|
+
const intensityFactor = maxDailyIntensity > 0.001 ? rawIntensity / maxDailyIntensity : 0;
|
|
191
|
+
return [Math.max(0, Math.min(1, cctFactor)), Math.max(0, Math.min(1, intensityFactor)), rawIntensity];
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Blackbody Sun model.
|
|
195
|
+
* Simulates the sun as a blackbody shifting through the atmosphere.
|
|
196
|
+
* @param altitude Sun altitude in radians
|
|
197
|
+
* @param maxAltitude Maximum sun altitude for the day in radians
|
|
198
|
+
*/
|
|
199
|
+
export function calculateRealisticBlackbodyDaylight(altitude, maxAltitude) {
|
|
200
|
+
const altitudeDeg = (altitude * 180) / Math.PI;
|
|
201
|
+
const maxAltitudeDeg = (maxAltitude * 180) / Math.PI;
|
|
202
|
+
let cctFactor;
|
|
203
|
+
if (altitudeDeg < -6) {
|
|
204
|
+
cctFactor = 0;
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
// Shifts faster at the beginning, then stabilizes.
|
|
208
|
+
// Simulates the Rayleigh scattering effect where blue light is lost at low angles.
|
|
209
|
+
cctFactor = 1 - Math.exp(-0.08 * (altitudeDeg + 6));
|
|
210
|
+
}
|
|
211
|
+
const calculateIntensity = (altDeg) => {
|
|
212
|
+
if (altDeg < -6)
|
|
213
|
+
return 0;
|
|
214
|
+
const m = calculateAirMass(altDeg);
|
|
215
|
+
const tau = 0.7;
|
|
216
|
+
const direct = tau ** m;
|
|
217
|
+
// Blackbody ambient is slightly warmer/weaker initially
|
|
218
|
+
const ambient = altDeg < 0 ? ((altDeg + 6) / 6) ** 2 * 0.04 : 0.04 + (altDeg / 90) * 0.04;
|
|
219
|
+
return direct + ambient;
|
|
220
|
+
};
|
|
221
|
+
const rawIntensity = calculateIntensity(altitudeDeg);
|
|
222
|
+
const maxDailyIntensity = calculateIntensity(maxAltitudeDeg);
|
|
223
|
+
const intensityFactor = maxDailyIntensity > 0.001 ? rawIntensity / maxDailyIntensity : 0;
|
|
224
|
+
return [Math.max(0, Math.min(1, cctFactor)), Math.max(0, Math.min(1, intensityFactor)), rawIntensity];
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Hazy/Turbid model.
|
|
228
|
+
* Simulates a sky with high particulate matter (smog/mist).
|
|
229
|
+
* @param altitude Sun altitude in radians
|
|
230
|
+
* @param maxAltitude Maximum sun altitude for the day in radians
|
|
231
|
+
*/
|
|
232
|
+
export function calculateRealisticHazyDaylight(altitude, maxAltitude) {
|
|
233
|
+
const altitudeDeg = (altitude * 180) / Math.PI;
|
|
234
|
+
const maxAltitudeDeg = (maxAltitude * 180) / Math.PI;
|
|
235
|
+
let cctFactor;
|
|
236
|
+
if (altitudeDeg < -6) {
|
|
237
|
+
cctFactor = 0;
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
// Hazy skies have more scattering even at high angles,
|
|
241
|
+
// so CCT doesn't reach "pure blue" as easily (approximated by slower exponent)
|
|
242
|
+
cctFactor = 1 - Math.exp(-0.03 * (altitudeDeg + 6));
|
|
243
|
+
}
|
|
244
|
+
const calculateIntensity = (altDeg) => {
|
|
245
|
+
if (altDeg < -6)
|
|
246
|
+
return 0;
|
|
247
|
+
const m = calculateAirMass(altDeg);
|
|
248
|
+
const tau = 0.5; // Significant turbidity
|
|
249
|
+
const direct = tau ** m;
|
|
250
|
+
// Hazy ambient is stronger due to more scattering (Mie scattering)
|
|
251
|
+
const ambient = altDeg < 0 ? ((altDeg + 6) / 6) ** 1.5 * 0.08 : 0.08 + (altDeg / 90) * 0.04;
|
|
252
|
+
return direct + ambient;
|
|
253
|
+
};
|
|
254
|
+
const rawIntensity = calculateIntensity(altitudeDeg);
|
|
255
|
+
const maxDailyIntensity = calculateIntensity(maxAltitudeDeg);
|
|
256
|
+
const intensityFactor = maxDailyIntensity > 0.001 ? rawIntensity / maxDailyIntensity : 0;
|
|
257
|
+
return [Math.max(0, Math.min(1, cctFactor)), Math.max(0, Math.min(1, intensityFactor)), rawIntensity];
|
|
258
|
+
}
|
|
259
|
+
//# sourceMappingURL=realistic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realistic.js","sourceRoot":"","sources":["../../../src/daylightSimulation/curves/realistic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geoipUtil.d.ts","sourceRoot":"","sources":["../../src/daylightSimulation/geoipUtil.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAgB9D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geoipUtil.js","sourceRoot":"","sources":["../../src/daylightSimulation/geoipUtil.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAS/B,MAAM,UAAU,iBAAiB,CAAC,EAAW;IAC3C,iFAAiF;IACjF,wCAAwC;IACxC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QAC9C,4CAA4C;QAC5C,4BAA4B;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,EAAE,EAAE,GAAG,CAAC,EAAsB;KAC/B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Schedule } from './scheduleMaker.js';
|
|
2
|
+
export interface GraphScheduleOptions {
|
|
3
|
+
width?: number;
|
|
4
|
+
height?: number;
|
|
5
|
+
metrics?: 'cct' | 'intensity' | 'lux' | 'both' | 'all';
|
|
6
|
+
}
|
|
7
|
+
export declare function graphSchedule(schedule: Schedule, options?: GraphScheduleOptions): Promise<Buffer>;
|
|
8
|
+
//# sourceMappingURL=graphSchedule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphSchedule.d.ts","sourceRoot":"","sources":["../../src/daylightSimulation/graphSchedule.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;CACxD;AAyBD,wBAAsB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkH3G"}
|