@almadar/ui 5.43.0 → 5.44.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/dist/avl/index.cjs +8 -151
- package/dist/avl/index.js +9 -152
- package/dist/components/game/molecules/three/index.cjs +128 -17
- package/dist/components/game/molecules/three/index.js +128 -17
- package/dist/components/game/templates/GameCanvas3DBattleTemplate.d.ts +8 -1
- package/dist/components/game/templates/GameCanvas3DCastleTemplate.d.ts +8 -1
- package/dist/components/game/templates/GameCanvas3DWorldMapTemplate.d.ts +8 -1
- package/dist/components/index.cjs +125 -145
- package/dist/components/index.js +126 -146
- package/dist/providers/index.cjs +8 -151
- package/dist/providers/index.js +9 -152
- package/dist/runtime/index.cjs +8 -151
- package/dist/runtime/index.js +9 -152
- package/package.json +1 -1
package/dist/avl/index.cjs
CHANGED
|
@@ -31854,13 +31854,13 @@ var init_MapView = __esm({
|
|
|
31854
31854
|
shadowSize: [41, 41]
|
|
31855
31855
|
});
|
|
31856
31856
|
L.Marker.prototype.options.icon = defaultIcon;
|
|
31857
|
-
const { useEffect:
|
|
31857
|
+
const { useEffect: useEffect78, useRef: useRef70, useCallback: useCallback118, useState: useState115 } = React91__namespace.default;
|
|
31858
31858
|
const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
|
|
31859
31859
|
const { useEventBus: useEventBus3 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
|
|
31860
31860
|
function MapUpdater({ centerLat, centerLng, zoom }) {
|
|
31861
31861
|
const map = useMap();
|
|
31862
|
-
const prevRef =
|
|
31863
|
-
|
|
31862
|
+
const prevRef = useRef70({ centerLat, centerLng, zoom });
|
|
31863
|
+
useEffect78(() => {
|
|
31864
31864
|
const prev = prevRef.current;
|
|
31865
31865
|
if (prev.centerLat !== centerLat || prev.centerLng !== centerLng || prev.zoom !== zoom) {
|
|
31866
31866
|
map.setView([centerLat, centerLng], zoom);
|
|
@@ -31871,7 +31871,7 @@ var init_MapView = __esm({
|
|
|
31871
31871
|
}
|
|
31872
31872
|
function MapClickHandler({ onMapClick }) {
|
|
31873
31873
|
const map = useMap();
|
|
31874
|
-
|
|
31874
|
+
useEffect78(() => {
|
|
31875
31875
|
if (!onMapClick) return;
|
|
31876
31876
|
const handler = (e) => {
|
|
31877
31877
|
onMapClick(e.latlng.lat, e.latlng.lng);
|
|
@@ -36908,7 +36908,7 @@ var init_RichBlockEditor = __esm({
|
|
|
36908
36908
|
"border-b border-border bg-muted/30 px-2 py-2"
|
|
36909
36909
|
),
|
|
36910
36910
|
children: TOOLBAR_ENTRIES.map((entry) => {
|
|
36911
|
-
const
|
|
36911
|
+
const Icon2 = entry.icon;
|
|
36912
36912
|
const entryLabel = t(entry.labelKey);
|
|
36913
36913
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
36914
36914
|
Button,
|
|
@@ -36920,7 +36920,7 @@ var init_RichBlockEditor = __esm({
|
|
|
36920
36920
|
title: entryLabel,
|
|
36921
36921
|
onClick: () => handleAppend(entry.type),
|
|
36922
36922
|
children: [
|
|
36923
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36923
|
+
/* @__PURE__ */ jsxRuntime.jsx(Icon2, { size: 14 }),
|
|
36924
36924
|
/* @__PURE__ */ jsxRuntime.jsx(Typography, { as: "span", variant: "caption", className: "ml-1 hidden text-xs sm:inline", children: entryLabel })
|
|
36925
36925
|
]
|
|
36926
36926
|
},
|
|
@@ -47580,133 +47580,6 @@ var init_SimulationCanvas = __esm({
|
|
|
47580
47580
|
SimulationCanvas.displayName = "SimulationCanvas";
|
|
47581
47581
|
}
|
|
47582
47582
|
});
|
|
47583
|
-
function SimulationControls({
|
|
47584
|
-
running,
|
|
47585
|
-
speed,
|
|
47586
|
-
parameters,
|
|
47587
|
-
onPlay,
|
|
47588
|
-
onPause,
|
|
47589
|
-
onStep,
|
|
47590
|
-
onReset,
|
|
47591
|
-
onSpeedChange,
|
|
47592
|
-
onParameterChange,
|
|
47593
|
-
className
|
|
47594
|
-
}) {
|
|
47595
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "md", className, children: [
|
|
47596
|
-
/* @__PURE__ */ jsxRuntime.jsxs(HStack, { gap: "sm", align: "center", children: [
|
|
47597
|
-
running ? /* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", variant: "secondary", onClick: onPause, icon: LucideIcons2.Pause, children: "Pause" }) : /* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", variant: "primary", onClick: onPlay, icon: LucideIcons2.Play, children: "Play" }),
|
|
47598
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", variant: "ghost", onClick: onStep, icon: LucideIcons2.SkipForward, disabled: running, children: "Step" }),
|
|
47599
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", variant: "ghost", onClick: onReset, icon: LucideIcons2.RotateCcw, children: "Reset" })
|
|
47600
|
-
] }),
|
|
47601
|
-
/* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "xs", children: [
|
|
47602
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "caption", color: "muted", children: [
|
|
47603
|
-
"Speed: ",
|
|
47604
|
-
speed.toFixed(1),
|
|
47605
|
-
"x"
|
|
47606
|
-
] }),
|
|
47607
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
47608
|
-
"input",
|
|
47609
|
-
{
|
|
47610
|
-
type: "range",
|
|
47611
|
-
min: 0.1,
|
|
47612
|
-
max: 5,
|
|
47613
|
-
step: 0.1,
|
|
47614
|
-
value: speed,
|
|
47615
|
-
onChange: (e) => onSpeedChange(parseFloat(e.target.value)),
|
|
47616
|
-
className: "w-full"
|
|
47617
|
-
}
|
|
47618
|
-
)
|
|
47619
|
-
] }),
|
|
47620
|
-
Object.entries(parameters).map(([name, param]) => /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "xs", children: [
|
|
47621
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Typography, { variant: "caption", color: "muted", children: [
|
|
47622
|
-
param.label,
|
|
47623
|
-
": ",
|
|
47624
|
-
param.value.toFixed(2)
|
|
47625
|
-
] }),
|
|
47626
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
47627
|
-
"input",
|
|
47628
|
-
{
|
|
47629
|
-
type: "range",
|
|
47630
|
-
min: param.min,
|
|
47631
|
-
max: param.max,
|
|
47632
|
-
step: param.step,
|
|
47633
|
-
value: param.value,
|
|
47634
|
-
onChange: (e) => onParameterChange(name, parseFloat(e.target.value)),
|
|
47635
|
-
className: "w-full"
|
|
47636
|
-
}
|
|
47637
|
-
)
|
|
47638
|
-
] }, name))
|
|
47639
|
-
] });
|
|
47640
|
-
}
|
|
47641
|
-
var init_SimulationControls = __esm({
|
|
47642
|
-
"components/game/organisms/physics-sim/SimulationControls.tsx"() {
|
|
47643
|
-
init_atoms2();
|
|
47644
|
-
SimulationControls.displayName = "SimulationControls";
|
|
47645
|
-
}
|
|
47646
|
-
});
|
|
47647
|
-
function SimulationGraph({
|
|
47648
|
-
label,
|
|
47649
|
-
unit,
|
|
47650
|
-
data,
|
|
47651
|
-
maxPoints = 200,
|
|
47652
|
-
width = 300,
|
|
47653
|
-
height = 120,
|
|
47654
|
-
color = "#e94560",
|
|
47655
|
-
className
|
|
47656
|
-
}) {
|
|
47657
|
-
const canvasRef = React91.useRef(null);
|
|
47658
|
-
const visibleData = data.slice(-maxPoints);
|
|
47659
|
-
React91.useEffect(() => {
|
|
47660
|
-
const canvas = canvasRef.current;
|
|
47661
|
-
if (!canvas || visibleData.length < 2) return;
|
|
47662
|
-
const ctx = canvas.getContext("2d");
|
|
47663
|
-
if (!ctx) return;
|
|
47664
|
-
ctx.clearRect(0, 0, width, height);
|
|
47665
|
-
ctx.fillStyle = "#0f0f23";
|
|
47666
|
-
ctx.fillRect(0, 0, width, height);
|
|
47667
|
-
ctx.strokeStyle = "#1a1a3e";
|
|
47668
|
-
ctx.lineWidth = 0.5;
|
|
47669
|
-
for (let i = 0; i < 5; i++) {
|
|
47670
|
-
const y = height / 5 * i;
|
|
47671
|
-
ctx.beginPath();
|
|
47672
|
-
ctx.moveTo(0, y);
|
|
47673
|
-
ctx.lineTo(width, y);
|
|
47674
|
-
ctx.stroke();
|
|
47675
|
-
}
|
|
47676
|
-
let minVal = Infinity;
|
|
47677
|
-
let maxVal = -Infinity;
|
|
47678
|
-
for (const pt of visibleData) {
|
|
47679
|
-
if (pt.value < minVal) minVal = pt.value;
|
|
47680
|
-
if (pt.value > maxVal) maxVal = pt.value;
|
|
47681
|
-
}
|
|
47682
|
-
const range = maxVal - minVal || 1;
|
|
47683
|
-
const pad = height * 0.1;
|
|
47684
|
-
ctx.beginPath();
|
|
47685
|
-
ctx.strokeStyle = color;
|
|
47686
|
-
ctx.lineWidth = 2;
|
|
47687
|
-
for (let i = 0; i < visibleData.length; i++) {
|
|
47688
|
-
const x = i / (maxPoints - 1) * width;
|
|
47689
|
-
const y = pad + (maxVal - visibleData[i].value) / range * (height - 2 * pad);
|
|
47690
|
-
if (i === 0) ctx.moveTo(x, y);
|
|
47691
|
-
else ctx.lineTo(x, y);
|
|
47692
|
-
}
|
|
47693
|
-
ctx.stroke();
|
|
47694
|
-
const last = visibleData[visibleData.length - 1];
|
|
47695
|
-
ctx.fillStyle = color;
|
|
47696
|
-
ctx.font = "12px monospace";
|
|
47697
|
-
ctx.fillText(`${last.value.toFixed(2)} ${unit}`, width - 80, 16);
|
|
47698
|
-
}, [visibleData, width, height, color, unit, maxPoints]);
|
|
47699
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Card, { padding: "sm", className, children: /* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "xs", children: [
|
|
47700
|
-
/* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "caption", weight: "bold", children: label }),
|
|
47701
|
-
/* @__PURE__ */ jsxRuntime.jsx("canvas", { ref: canvasRef, width, height, className: "rounded" })
|
|
47702
|
-
] }) });
|
|
47703
|
-
}
|
|
47704
|
-
var init_SimulationGraph = __esm({
|
|
47705
|
-
"components/game/organisms/physics-sim/SimulationGraph.tsx"() {
|
|
47706
|
-
init_atoms2();
|
|
47707
|
-
SimulationGraph.displayName = "SimulationGraph";
|
|
47708
|
-
}
|
|
47709
|
-
});
|
|
47710
47583
|
function SimulatorBoard({
|
|
47711
47584
|
entity,
|
|
47712
47585
|
completeEvent = "PUZZLE_COMPLETE",
|
|
@@ -47977,7 +47850,7 @@ var init_StatCard = __esm({
|
|
|
47977
47850
|
isLoading: externalLoading,
|
|
47978
47851
|
error: externalError
|
|
47979
47852
|
}) => {
|
|
47980
|
-
const
|
|
47853
|
+
const Icon2 = typeof iconProp === "string" ? resolveIcon(iconProp) ?? void 0 : iconProp;
|
|
47981
47854
|
const labelToUse = propLabel ?? propTitle;
|
|
47982
47855
|
const eventBus = useEventBus();
|
|
47983
47856
|
const { t } = hooks.useTranslate();
|
|
@@ -48120,7 +47993,7 @@ var init_StatCard = __esm({
|
|
|
48120
47993
|
subtitle && !calculatedTrend && /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "small", color: "secondary", children: subtitle })
|
|
48121
47994
|
] }),
|
|
48122
47995
|
/* @__PURE__ */ jsxRuntime.jsxs(VStack, { gap: "xs", align: "end", children: [
|
|
48123
|
-
|
|
47996
|
+
Icon2 && /* @__PURE__ */ jsxRuntime.jsx(Box, { className: cn("p-3", iconBg), children: /* @__PURE__ */ jsxRuntime.jsx(Icon2, { className: cn("h-6 w-6", iconColor) }) }),
|
|
48124
47997
|
sparklineData && sparklineData.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(Sparkline, { data: sparklineData, color: "auto" })
|
|
48125
47998
|
] })
|
|
48126
47999
|
] }),
|
|
@@ -49923,7 +49796,6 @@ var init_component_registry_generated = __esm({
|
|
|
49923
49796
|
init_Navigation();
|
|
49924
49797
|
init_NegotiatorBoard();
|
|
49925
49798
|
init_NumberStepper();
|
|
49926
|
-
init_ObjectRulePanel();
|
|
49927
49799
|
init_OptionConstraintGroup();
|
|
49928
49800
|
init_OrbitalVisualization();
|
|
49929
49801
|
init_Overlay();
|
|
@@ -49954,7 +49826,6 @@ var init_component_registry_generated = __esm({
|
|
|
49954
49826
|
init_ResourceBar();
|
|
49955
49827
|
init_ResourceCounter();
|
|
49956
49828
|
init_RichBlockEditor();
|
|
49957
|
-
init_RuleEditor();
|
|
49958
49829
|
init_RuntimeDebugger2();
|
|
49959
49830
|
init_ScaledDiagram();
|
|
49960
49831
|
init_ScoreBoard();
|
|
@@ -49974,8 +49845,6 @@ var init_component_registry_generated = __esm({
|
|
|
49974
49845
|
init_SignaturePad();
|
|
49975
49846
|
init_SimpleGrid();
|
|
49976
49847
|
init_SimulationCanvas();
|
|
49977
|
-
init_SimulationControls();
|
|
49978
|
-
init_SimulationGraph();
|
|
49979
49848
|
init_SimulatorBoard();
|
|
49980
49849
|
init_Skeleton();
|
|
49981
49850
|
init_SocialProof();
|
|
@@ -49993,7 +49862,6 @@ var init_component_registry_generated = __esm({
|
|
|
49993
49862
|
init_StateArchitectBoard();
|
|
49994
49863
|
init_StateIndicator();
|
|
49995
49864
|
init_StateMachineView();
|
|
49996
|
-
init_StateNode();
|
|
49997
49865
|
init_StatsGrid();
|
|
49998
49866
|
init_StatsOrganism();
|
|
49999
49867
|
init_StatusDot();
|
|
@@ -50032,8 +49900,6 @@ var init_component_registry_generated = __esm({
|
|
|
50032
49900
|
init_Tooltip();
|
|
50033
49901
|
init_TraitFrame();
|
|
50034
49902
|
init_TraitSlot();
|
|
50035
|
-
init_TraitStateViewer();
|
|
50036
|
-
init_TransitionArrow();
|
|
50037
49903
|
init_TrendIndicator();
|
|
50038
49904
|
init_TurnIndicator();
|
|
50039
49905
|
init_TurnPanel();
|
|
@@ -50043,7 +49909,6 @@ var init_component_registry_generated = __esm({
|
|
|
50043
49909
|
init_UncontrolledBattleBoard();
|
|
50044
49910
|
init_UnitCommandBar();
|
|
50045
49911
|
init_UploadDropZone();
|
|
50046
|
-
init_VariablePanel();
|
|
50047
49912
|
init_VersionDiff();
|
|
50048
49913
|
init_ViolationAlert();
|
|
50049
49914
|
init_VoteStack();
|
|
@@ -50253,7 +50118,6 @@ var init_component_registry_generated = __esm({
|
|
|
50253
50118
|
"Navigation": Navigation,
|
|
50254
50119
|
"NegotiatorBoard": NegotiatorBoard,
|
|
50255
50120
|
"NumberStepper": NumberStepper,
|
|
50256
|
-
"ObjectRulePanel": ObjectRulePanel,
|
|
50257
50121
|
"OptionConstraintGroup": OptionConstraintGroup,
|
|
50258
50122
|
"OrbitalVisualization": OrbitalVisualization,
|
|
50259
50123
|
"Overlay": Overlay,
|
|
@@ -50284,7 +50148,6 @@ var init_component_registry_generated = __esm({
|
|
|
50284
50148
|
"ResourceBar": ResourceBar,
|
|
50285
50149
|
"ResourceCounter": ResourceCounter,
|
|
50286
50150
|
"RichBlockEditor": RichBlockEditor,
|
|
50287
|
-
"RuleEditor": RuleEditor,
|
|
50288
50151
|
"RuntimeDebugger": RuntimeDebugger,
|
|
50289
50152
|
"ScaledDiagram": ScaledDiagram,
|
|
50290
50153
|
"ScoreBoard": ScoreBoard,
|
|
@@ -50304,8 +50167,6 @@ var init_component_registry_generated = __esm({
|
|
|
50304
50167
|
"SignaturePad": SignaturePad,
|
|
50305
50168
|
"SimpleGrid": SimpleGrid,
|
|
50306
50169
|
"SimulationCanvas": SimulationCanvas,
|
|
50307
|
-
"SimulationControls": SimulationControls,
|
|
50308
|
-
"SimulationGraph": SimulationGraph,
|
|
50309
50170
|
"SimulatorBoard": SimulatorBoard,
|
|
50310
50171
|
"Skeleton": Skeleton,
|
|
50311
50172
|
"SocialProof": SocialProof,
|
|
@@ -50326,7 +50187,6 @@ var init_component_registry_generated = __esm({
|
|
|
50326
50187
|
"StateArchitectBoard": StateArchitectBoard,
|
|
50327
50188
|
"StateIndicator": StateIndicator,
|
|
50328
50189
|
"StateMachineView": StateMachineView,
|
|
50329
|
-
"StateNode": StateNode2,
|
|
50330
50190
|
"StatsGrid": StatsGrid,
|
|
50331
50191
|
"StatsOrganism": StatsOrganism,
|
|
50332
50192
|
"StatusDot": StatusDot,
|
|
@@ -50365,8 +50225,6 @@ var init_component_registry_generated = __esm({
|
|
|
50365
50225
|
"Tooltip": Tooltip,
|
|
50366
50226
|
"TraitFrame": TraitFrame,
|
|
50367
50227
|
"TraitSlot": TraitSlot,
|
|
50368
|
-
"TraitStateViewer": TraitStateViewer,
|
|
50369
|
-
"TransitionArrow": TransitionArrow,
|
|
50370
50228
|
"TrendIndicator": TrendIndicator,
|
|
50371
50229
|
"TurnIndicator": TurnIndicator,
|
|
50372
50230
|
"TurnPanel": TurnPanel,
|
|
@@ -50377,7 +50235,6 @@ var init_component_registry_generated = __esm({
|
|
|
50377
50235
|
"UnitCommandBar": UnitCommandBar,
|
|
50378
50236
|
"UploadDropZone": UploadDropZone,
|
|
50379
50237
|
"VStack": VStack,
|
|
50380
|
-
"VariablePanel": VariablePanel,
|
|
50381
50238
|
"VersionDiff": VersionDiff,
|
|
50382
50239
|
"ViolationAlert": ViolationAlert,
|
|
50383
50240
|
"VoteStack": VoteStack,
|
package/dist/avl/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import ELK from 'elkjs/lib/elk.bundled.js';
|
|
|
7
7
|
import { MarkerType, useReactFlow, Handle, Position, getBezierPath, EdgeLabelRenderer, useNodeId, ReactFlowProvider, BaseEdge, useNodesState, useEdgesState, ReactFlow, Controls, Background, BackgroundVariant } from '@xyflow/react';
|
|
8
8
|
import { useTranslate, useEventBus as useEventBus$1 } from '@almadar/ui/hooks';
|
|
9
9
|
import * as LucideIcons2 from 'lucide-react';
|
|
10
|
-
import { Loader2, X, Code, FileText, WrapText, Check, Copy, Lightbulb, CheckCircle, List, Printer, ChevronRight, ChevronLeft, GitBranch, Pencil, Eye, Plus, ArrowRight, Trash, RotateCcw, Play, Terminal, XCircle, AlertTriangle, Trash2, Link2, ZoomOut, ZoomIn, Download, Menu as Menu$1, Package, Calendar, MoreHorizontal, Image as Image$1, Upload, ArrowLeft, HelpCircle, PauseCircle, Search, Type, Heading1, Heading2, Heading3, ListOrdered, Quote, Minus, Eraser, TrendingUp, TrendingDown, AlertCircle, Circle, Clock, CheckCircle2,
|
|
10
|
+
import { Loader2, X, Code, FileText, WrapText, Check, Copy, Lightbulb, CheckCircle, List, Printer, ChevronRight, ChevronLeft, GitBranch, Pencil, Eye, Plus, ArrowRight, Trash, RotateCcw, Play, Terminal, XCircle, AlertTriangle, Trash2, Link2, ZoomOut, ZoomIn, Download, Menu as Menu$1, Package, Calendar, MoreHorizontal, Image as Image$1, Upload, ArrowLeft, HelpCircle, PauseCircle, Search, Type, Heading1, Heading2, Heading3, ListOrdered, Quote, Minus, Eraser, TrendingUp, TrendingDown, AlertCircle, Circle, Clock, CheckCircle2, Bug, Send, ChevronUp, ChevronDown, Wrench, Tag, User, DollarSign, Zap, Sword, Move, Heart, Shield } from 'lucide-react';
|
|
11
11
|
import { createPortal } from 'react-dom';
|
|
12
12
|
import { evaluate, createMinimalContext } from '@almadar/evaluator';
|
|
13
13
|
import { UISlotProvider, useUISlots } from '@almadar/ui/context';
|
|
@@ -31808,13 +31808,13 @@ var init_MapView = __esm({
|
|
|
31808
31808
|
shadowSize: [41, 41]
|
|
31809
31809
|
});
|
|
31810
31810
|
L.Marker.prototype.options.icon = defaultIcon;
|
|
31811
|
-
const { useEffect:
|
|
31811
|
+
const { useEffect: useEffect78, useRef: useRef70, useCallback: useCallback118, useState: useState115 } = React91__default;
|
|
31812
31812
|
const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
|
|
31813
31813
|
const { useEventBus: useEventBus3 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
|
|
31814
31814
|
function MapUpdater({ centerLat, centerLng, zoom }) {
|
|
31815
31815
|
const map = useMap();
|
|
31816
|
-
const prevRef =
|
|
31817
|
-
|
|
31816
|
+
const prevRef = useRef70({ centerLat, centerLng, zoom });
|
|
31817
|
+
useEffect78(() => {
|
|
31818
31818
|
const prev = prevRef.current;
|
|
31819
31819
|
if (prev.centerLat !== centerLat || prev.centerLng !== centerLng || prev.zoom !== zoom) {
|
|
31820
31820
|
map.setView([centerLat, centerLng], zoom);
|
|
@@ -31825,7 +31825,7 @@ var init_MapView = __esm({
|
|
|
31825
31825
|
}
|
|
31826
31826
|
function MapClickHandler({ onMapClick }) {
|
|
31827
31827
|
const map = useMap();
|
|
31828
|
-
|
|
31828
|
+
useEffect78(() => {
|
|
31829
31829
|
if (!onMapClick) return;
|
|
31830
31830
|
const handler = (e) => {
|
|
31831
31831
|
onMapClick(e.latlng.lat, e.latlng.lng);
|
|
@@ -36862,7 +36862,7 @@ var init_RichBlockEditor = __esm({
|
|
|
36862
36862
|
"border-b border-border bg-muted/30 px-2 py-2"
|
|
36863
36863
|
),
|
|
36864
36864
|
children: TOOLBAR_ENTRIES.map((entry) => {
|
|
36865
|
-
const
|
|
36865
|
+
const Icon2 = entry.icon;
|
|
36866
36866
|
const entryLabel = t(entry.labelKey);
|
|
36867
36867
|
return /* @__PURE__ */ jsxs(
|
|
36868
36868
|
Button,
|
|
@@ -36874,7 +36874,7 @@ var init_RichBlockEditor = __esm({
|
|
|
36874
36874
|
title: entryLabel,
|
|
36875
36875
|
onClick: () => handleAppend(entry.type),
|
|
36876
36876
|
children: [
|
|
36877
|
-
/* @__PURE__ */ jsx(
|
|
36877
|
+
/* @__PURE__ */ jsx(Icon2, { size: 14 }),
|
|
36878
36878
|
/* @__PURE__ */ jsx(Typography, { as: "span", variant: "caption", className: "ml-1 hidden text-xs sm:inline", children: entryLabel })
|
|
36879
36879
|
]
|
|
36880
36880
|
},
|
|
@@ -47534,133 +47534,6 @@ var init_SimulationCanvas = __esm({
|
|
|
47534
47534
|
SimulationCanvas.displayName = "SimulationCanvas";
|
|
47535
47535
|
}
|
|
47536
47536
|
});
|
|
47537
|
-
function SimulationControls({
|
|
47538
|
-
running,
|
|
47539
|
-
speed,
|
|
47540
|
-
parameters,
|
|
47541
|
-
onPlay,
|
|
47542
|
-
onPause,
|
|
47543
|
-
onStep,
|
|
47544
|
-
onReset,
|
|
47545
|
-
onSpeedChange,
|
|
47546
|
-
onParameterChange,
|
|
47547
|
-
className
|
|
47548
|
-
}) {
|
|
47549
|
-
return /* @__PURE__ */ jsxs(VStack, { gap: "md", className, children: [
|
|
47550
|
-
/* @__PURE__ */ jsxs(HStack, { gap: "sm", align: "center", children: [
|
|
47551
|
-
running ? /* @__PURE__ */ jsx(Button, { size: "sm", variant: "secondary", onClick: onPause, icon: Pause, children: "Pause" }) : /* @__PURE__ */ jsx(Button, { size: "sm", variant: "primary", onClick: onPlay, icon: Play, children: "Play" }),
|
|
47552
|
-
/* @__PURE__ */ jsx(Button, { size: "sm", variant: "ghost", onClick: onStep, icon: SkipForward, disabled: running, children: "Step" }),
|
|
47553
|
-
/* @__PURE__ */ jsx(Button, { size: "sm", variant: "ghost", onClick: onReset, icon: RotateCcw, children: "Reset" })
|
|
47554
|
-
] }),
|
|
47555
|
-
/* @__PURE__ */ jsxs(VStack, { gap: "xs", children: [
|
|
47556
|
-
/* @__PURE__ */ jsxs(Typography, { variant: "caption", color: "muted", children: [
|
|
47557
|
-
"Speed: ",
|
|
47558
|
-
speed.toFixed(1),
|
|
47559
|
-
"x"
|
|
47560
|
-
] }),
|
|
47561
|
-
/* @__PURE__ */ jsx(
|
|
47562
|
-
"input",
|
|
47563
|
-
{
|
|
47564
|
-
type: "range",
|
|
47565
|
-
min: 0.1,
|
|
47566
|
-
max: 5,
|
|
47567
|
-
step: 0.1,
|
|
47568
|
-
value: speed,
|
|
47569
|
-
onChange: (e) => onSpeedChange(parseFloat(e.target.value)),
|
|
47570
|
-
className: "w-full"
|
|
47571
|
-
}
|
|
47572
|
-
)
|
|
47573
|
-
] }),
|
|
47574
|
-
Object.entries(parameters).map(([name, param]) => /* @__PURE__ */ jsxs(VStack, { gap: "xs", children: [
|
|
47575
|
-
/* @__PURE__ */ jsxs(Typography, { variant: "caption", color: "muted", children: [
|
|
47576
|
-
param.label,
|
|
47577
|
-
": ",
|
|
47578
|
-
param.value.toFixed(2)
|
|
47579
|
-
] }),
|
|
47580
|
-
/* @__PURE__ */ jsx(
|
|
47581
|
-
"input",
|
|
47582
|
-
{
|
|
47583
|
-
type: "range",
|
|
47584
|
-
min: param.min,
|
|
47585
|
-
max: param.max,
|
|
47586
|
-
step: param.step,
|
|
47587
|
-
value: param.value,
|
|
47588
|
-
onChange: (e) => onParameterChange(name, parseFloat(e.target.value)),
|
|
47589
|
-
className: "w-full"
|
|
47590
|
-
}
|
|
47591
|
-
)
|
|
47592
|
-
] }, name))
|
|
47593
|
-
] });
|
|
47594
|
-
}
|
|
47595
|
-
var init_SimulationControls = __esm({
|
|
47596
|
-
"components/game/organisms/physics-sim/SimulationControls.tsx"() {
|
|
47597
|
-
init_atoms2();
|
|
47598
|
-
SimulationControls.displayName = "SimulationControls";
|
|
47599
|
-
}
|
|
47600
|
-
});
|
|
47601
|
-
function SimulationGraph({
|
|
47602
|
-
label,
|
|
47603
|
-
unit,
|
|
47604
|
-
data,
|
|
47605
|
-
maxPoints = 200,
|
|
47606
|
-
width = 300,
|
|
47607
|
-
height = 120,
|
|
47608
|
-
color = "#e94560",
|
|
47609
|
-
className
|
|
47610
|
-
}) {
|
|
47611
|
-
const canvasRef = useRef(null);
|
|
47612
|
-
const visibleData = data.slice(-maxPoints);
|
|
47613
|
-
useEffect(() => {
|
|
47614
|
-
const canvas = canvasRef.current;
|
|
47615
|
-
if (!canvas || visibleData.length < 2) return;
|
|
47616
|
-
const ctx = canvas.getContext("2d");
|
|
47617
|
-
if (!ctx) return;
|
|
47618
|
-
ctx.clearRect(0, 0, width, height);
|
|
47619
|
-
ctx.fillStyle = "#0f0f23";
|
|
47620
|
-
ctx.fillRect(0, 0, width, height);
|
|
47621
|
-
ctx.strokeStyle = "#1a1a3e";
|
|
47622
|
-
ctx.lineWidth = 0.5;
|
|
47623
|
-
for (let i = 0; i < 5; i++) {
|
|
47624
|
-
const y = height / 5 * i;
|
|
47625
|
-
ctx.beginPath();
|
|
47626
|
-
ctx.moveTo(0, y);
|
|
47627
|
-
ctx.lineTo(width, y);
|
|
47628
|
-
ctx.stroke();
|
|
47629
|
-
}
|
|
47630
|
-
let minVal = Infinity;
|
|
47631
|
-
let maxVal = -Infinity;
|
|
47632
|
-
for (const pt of visibleData) {
|
|
47633
|
-
if (pt.value < minVal) minVal = pt.value;
|
|
47634
|
-
if (pt.value > maxVal) maxVal = pt.value;
|
|
47635
|
-
}
|
|
47636
|
-
const range = maxVal - minVal || 1;
|
|
47637
|
-
const pad = height * 0.1;
|
|
47638
|
-
ctx.beginPath();
|
|
47639
|
-
ctx.strokeStyle = color;
|
|
47640
|
-
ctx.lineWidth = 2;
|
|
47641
|
-
for (let i = 0; i < visibleData.length; i++) {
|
|
47642
|
-
const x = i / (maxPoints - 1) * width;
|
|
47643
|
-
const y = pad + (maxVal - visibleData[i].value) / range * (height - 2 * pad);
|
|
47644
|
-
if (i === 0) ctx.moveTo(x, y);
|
|
47645
|
-
else ctx.lineTo(x, y);
|
|
47646
|
-
}
|
|
47647
|
-
ctx.stroke();
|
|
47648
|
-
const last = visibleData[visibleData.length - 1];
|
|
47649
|
-
ctx.fillStyle = color;
|
|
47650
|
-
ctx.font = "12px monospace";
|
|
47651
|
-
ctx.fillText(`${last.value.toFixed(2)} ${unit}`, width - 80, 16);
|
|
47652
|
-
}, [visibleData, width, height, color, unit, maxPoints]);
|
|
47653
|
-
return /* @__PURE__ */ jsx(Card, { padding: "sm", className, children: /* @__PURE__ */ jsxs(VStack, { gap: "xs", children: [
|
|
47654
|
-
/* @__PURE__ */ jsx(Typography, { variant: "caption", weight: "bold", children: label }),
|
|
47655
|
-
/* @__PURE__ */ jsx("canvas", { ref: canvasRef, width, height, className: "rounded" })
|
|
47656
|
-
] }) });
|
|
47657
|
-
}
|
|
47658
|
-
var init_SimulationGraph = __esm({
|
|
47659
|
-
"components/game/organisms/physics-sim/SimulationGraph.tsx"() {
|
|
47660
|
-
init_atoms2();
|
|
47661
|
-
SimulationGraph.displayName = "SimulationGraph";
|
|
47662
|
-
}
|
|
47663
|
-
});
|
|
47664
47537
|
function SimulatorBoard({
|
|
47665
47538
|
entity,
|
|
47666
47539
|
completeEvent = "PUZZLE_COMPLETE",
|
|
@@ -47931,7 +47804,7 @@ var init_StatCard = __esm({
|
|
|
47931
47804
|
isLoading: externalLoading,
|
|
47932
47805
|
error: externalError
|
|
47933
47806
|
}) => {
|
|
47934
|
-
const
|
|
47807
|
+
const Icon2 = typeof iconProp === "string" ? resolveIcon(iconProp) ?? void 0 : iconProp;
|
|
47935
47808
|
const labelToUse = propLabel ?? propTitle;
|
|
47936
47809
|
const eventBus = useEventBus();
|
|
47937
47810
|
const { t } = useTranslate();
|
|
@@ -48074,7 +47947,7 @@ var init_StatCard = __esm({
|
|
|
48074
47947
|
subtitle && !calculatedTrend && /* @__PURE__ */ jsx(Typography, { variant: "small", color: "secondary", children: subtitle })
|
|
48075
47948
|
] }),
|
|
48076
47949
|
/* @__PURE__ */ jsxs(VStack, { gap: "xs", align: "end", children: [
|
|
48077
|
-
|
|
47950
|
+
Icon2 && /* @__PURE__ */ jsx(Box, { className: cn("p-3", iconBg), children: /* @__PURE__ */ jsx(Icon2, { className: cn("h-6 w-6", iconColor) }) }),
|
|
48078
47951
|
sparklineData && sparklineData.length > 1 && /* @__PURE__ */ jsx(Sparkline, { data: sparklineData, color: "auto" })
|
|
48079
47952
|
] })
|
|
48080
47953
|
] }),
|
|
@@ -49877,7 +49750,6 @@ var init_component_registry_generated = __esm({
|
|
|
49877
49750
|
init_Navigation();
|
|
49878
49751
|
init_NegotiatorBoard();
|
|
49879
49752
|
init_NumberStepper();
|
|
49880
|
-
init_ObjectRulePanel();
|
|
49881
49753
|
init_OptionConstraintGroup();
|
|
49882
49754
|
init_OrbitalVisualization();
|
|
49883
49755
|
init_Overlay();
|
|
@@ -49908,7 +49780,6 @@ var init_component_registry_generated = __esm({
|
|
|
49908
49780
|
init_ResourceBar();
|
|
49909
49781
|
init_ResourceCounter();
|
|
49910
49782
|
init_RichBlockEditor();
|
|
49911
|
-
init_RuleEditor();
|
|
49912
49783
|
init_RuntimeDebugger2();
|
|
49913
49784
|
init_ScaledDiagram();
|
|
49914
49785
|
init_ScoreBoard();
|
|
@@ -49928,8 +49799,6 @@ var init_component_registry_generated = __esm({
|
|
|
49928
49799
|
init_SignaturePad();
|
|
49929
49800
|
init_SimpleGrid();
|
|
49930
49801
|
init_SimulationCanvas();
|
|
49931
|
-
init_SimulationControls();
|
|
49932
|
-
init_SimulationGraph();
|
|
49933
49802
|
init_SimulatorBoard();
|
|
49934
49803
|
init_Skeleton();
|
|
49935
49804
|
init_SocialProof();
|
|
@@ -49947,7 +49816,6 @@ var init_component_registry_generated = __esm({
|
|
|
49947
49816
|
init_StateArchitectBoard();
|
|
49948
49817
|
init_StateIndicator();
|
|
49949
49818
|
init_StateMachineView();
|
|
49950
|
-
init_StateNode();
|
|
49951
49819
|
init_StatsGrid();
|
|
49952
49820
|
init_StatsOrganism();
|
|
49953
49821
|
init_StatusDot();
|
|
@@ -49986,8 +49854,6 @@ var init_component_registry_generated = __esm({
|
|
|
49986
49854
|
init_Tooltip();
|
|
49987
49855
|
init_TraitFrame();
|
|
49988
49856
|
init_TraitSlot();
|
|
49989
|
-
init_TraitStateViewer();
|
|
49990
|
-
init_TransitionArrow();
|
|
49991
49857
|
init_TrendIndicator();
|
|
49992
49858
|
init_TurnIndicator();
|
|
49993
49859
|
init_TurnPanel();
|
|
@@ -49997,7 +49863,6 @@ var init_component_registry_generated = __esm({
|
|
|
49997
49863
|
init_UncontrolledBattleBoard();
|
|
49998
49864
|
init_UnitCommandBar();
|
|
49999
49865
|
init_UploadDropZone();
|
|
50000
|
-
init_VariablePanel();
|
|
50001
49866
|
init_VersionDiff();
|
|
50002
49867
|
init_ViolationAlert();
|
|
50003
49868
|
init_VoteStack();
|
|
@@ -50207,7 +50072,6 @@ var init_component_registry_generated = __esm({
|
|
|
50207
50072
|
"Navigation": Navigation,
|
|
50208
50073
|
"NegotiatorBoard": NegotiatorBoard,
|
|
50209
50074
|
"NumberStepper": NumberStepper,
|
|
50210
|
-
"ObjectRulePanel": ObjectRulePanel,
|
|
50211
50075
|
"OptionConstraintGroup": OptionConstraintGroup,
|
|
50212
50076
|
"OrbitalVisualization": OrbitalVisualization,
|
|
50213
50077
|
"Overlay": Overlay,
|
|
@@ -50238,7 +50102,6 @@ var init_component_registry_generated = __esm({
|
|
|
50238
50102
|
"ResourceBar": ResourceBar,
|
|
50239
50103
|
"ResourceCounter": ResourceCounter,
|
|
50240
50104
|
"RichBlockEditor": RichBlockEditor,
|
|
50241
|
-
"RuleEditor": RuleEditor,
|
|
50242
50105
|
"RuntimeDebugger": RuntimeDebugger,
|
|
50243
50106
|
"ScaledDiagram": ScaledDiagram,
|
|
50244
50107
|
"ScoreBoard": ScoreBoard,
|
|
@@ -50258,8 +50121,6 @@ var init_component_registry_generated = __esm({
|
|
|
50258
50121
|
"SignaturePad": SignaturePad,
|
|
50259
50122
|
"SimpleGrid": SimpleGrid,
|
|
50260
50123
|
"SimulationCanvas": SimulationCanvas,
|
|
50261
|
-
"SimulationControls": SimulationControls,
|
|
50262
|
-
"SimulationGraph": SimulationGraph,
|
|
50263
50124
|
"SimulatorBoard": SimulatorBoard,
|
|
50264
50125
|
"Skeleton": Skeleton,
|
|
50265
50126
|
"SocialProof": SocialProof,
|
|
@@ -50280,7 +50141,6 @@ var init_component_registry_generated = __esm({
|
|
|
50280
50141
|
"StateArchitectBoard": StateArchitectBoard,
|
|
50281
50142
|
"StateIndicator": StateIndicator,
|
|
50282
50143
|
"StateMachineView": StateMachineView,
|
|
50283
|
-
"StateNode": StateNode2,
|
|
50284
50144
|
"StatsGrid": StatsGrid,
|
|
50285
50145
|
"StatsOrganism": StatsOrganism,
|
|
50286
50146
|
"StatusDot": StatusDot,
|
|
@@ -50319,8 +50179,6 @@ var init_component_registry_generated = __esm({
|
|
|
50319
50179
|
"Tooltip": Tooltip,
|
|
50320
50180
|
"TraitFrame": TraitFrame,
|
|
50321
50181
|
"TraitSlot": TraitSlot,
|
|
50322
|
-
"TraitStateViewer": TraitStateViewer,
|
|
50323
|
-
"TransitionArrow": TransitionArrow,
|
|
50324
50182
|
"TrendIndicator": TrendIndicator,
|
|
50325
50183
|
"TurnIndicator": TurnIndicator,
|
|
50326
50184
|
"TurnPanel": TurnPanel,
|
|
@@ -50331,7 +50189,6 @@ var init_component_registry_generated = __esm({
|
|
|
50331
50189
|
"UnitCommandBar": UnitCommandBar,
|
|
50332
50190
|
"UploadDropZone": UploadDropZone,
|
|
50333
50191
|
"VStack": VStack,
|
|
50334
|
-
"VariablePanel": VariablePanel,
|
|
50335
50192
|
"VersionDiff": VersionDiff,
|
|
50336
50193
|
"ViolationAlert": ViolationAlert,
|
|
50337
50194
|
"VoteStack": VoteStack,
|