Frontend refactor, prep for emulator intergration
Signed-off-by: Rachel <508861+Ryex@users.noreply.github.com>
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -94,7 +94,14 @@ pub struct Program {
|
||||
pub instructions: Vec<Instruction>,
|
||||
}
|
||||
|
||||
impl Default for Program {
|
||||
fn default() -> Self {
|
||||
Program::new()
|
||||
}
|
||||
}
|
||||
|
||||
impl Program {
|
||||
pub fn new() -> Self { Program { instructions: Vec::new() }}
|
||||
pub fn try_from_code(input: &str) -> Result<Self, String> {
|
||||
let mut code = input.to_string();
|
||||
if let Some((i, _)) = code.char_indices().rev().nth(0) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2,10 +2,10 @@
|
||||
#[derive(PartialEq, Debug, IntoStaticStr, AsRefStr)]
|
||||
pub enum Constant {
|
||||
#[rust_sitter::leaf(text = "epsilon" )]Epsilon,
|
||||
#[rust_sitter::leaf(text = "nan" )]Nan,
|
||||
#[rust_sitter::leaf(text = "ninf" )]Ninf,
|
||||
#[rust_sitter::leaf(text = "pinf" )]Pinf,
|
||||
#[rust_sitter::leaf(text = "pi" )]Pi,
|
||||
#[rust_sitter::leaf(text = "ninf" )]Ninf,
|
||||
#[rust_sitter::leaf(text = "deg2rad" )]Deg2Rad,
|
||||
#[rust_sitter::leaf(text = "pi" )]Pi,
|
||||
#[rust_sitter::leaf(text = "nan" )]Nan,
|
||||
#[rust_sitter::leaf(text = "rad2deg" )]Rad2Deg,
|
||||
}
|
||||
|
||||
@@ -1,368 +1,368 @@
|
||||
// GENERATED CODE DO NOT MODIFY
|
||||
#[derive(PartialEq, Debug, IntoStaticStr, AsRefStr)]
|
||||
pub enum Enum {
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioCarbonDioxideInput2" )]LogicTypeRatioCarbonDioxideInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.CelestialParentHash" )]LogicTypeCelestialParentHash,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioWater" )]LogicTypeRatioWater,
|
||||
#[rust_sitter::leaf(text = "LogicType.SignalID" )]LogicTypeSignalId,
|
||||
#[rust_sitter::leaf(text = "SlotClass.CreditCard" )]SlotClassCreditCard,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrousOxide" )]LogicTypeRatioLiquidNitrousOxide,
|
||||
#[rust_sitter::leaf(text = "LogicType.CelestialHash" )]LogicTypeCelestialHash,
|
||||
#[rust_sitter::leaf(text = "LogicType.Volume" )]LogicTypeVolume,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Helmet" )]SlotClassHelmet,
|
||||
#[rust_sitter::leaf(text = "LogicType.PressureExternal" )]LogicTypePressureExternal,
|
||||
#[rust_sitter::leaf(text = "LogicType.Channel5" )]LogicTypeChannel5,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidPollutantInput" )]LogicTypeRatioLiquidPollutantInput,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Magazine" )]SlotClassMagazine,
|
||||
#[rust_sitter::leaf(text = "AirControl.Offline" )]AirControlOffline,
|
||||
#[rust_sitter::leaf(text = "Color.Gray" )]ColorGray,
|
||||
#[rust_sitter::leaf(text = "LogicType.WattsReachingContact" )]LogicTypeWattsReachingContact,
|
||||
#[rust_sitter::leaf(text = "LogicType.Bpm" )]LogicTypeBpm,
|
||||
#[rust_sitter::leaf(text = "LogicType.AlignmentError" )]LogicTypeAlignmentError,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Appliance" )]SlotClassAppliance,
|
||||
#[rust_sitter::leaf(text = "LogicType.Fuel" )]LogicTypeFuel,
|
||||
#[rust_sitter::leaf(text = "SlotClass.GasFilter" )]SlotClassGasFilter,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Circuitboard" )]SlotClassCircuitboard,
|
||||
#[rust_sitter::leaf(text = "DaylightSensorMode.Default" )]DaylightSensorModeDefault,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Torpedo" )]SlotClassTorpedo,
|
||||
#[rust_sitter::leaf(text = "Color.Black" )]ColorBlack,
|
||||
#[rust_sitter::leaf(text = "NotEquals" )]NotEquals,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioVolatiles" )]LogicTypeRatioVolatiles,
|
||||
#[rust_sitter::leaf(text = "LogicType.HorizontalRatio" )]LogicTypeHorizontalRatio,
|
||||
#[rust_sitter::leaf(text = "LogicType.VelocityRelativeY" )]LogicTypeVelocityRelativeY,
|
||||
#[rust_sitter::leaf(text = "LogicType.ClearMemory" )]LogicTypeClearMemory,
|
||||
#[rust_sitter::leaf(text = "LogicType.CombustionLimiter" )]LogicTypeCombustionLimiter,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidVolatiles" )]LogicTypeRatioLiquidVolatiles,
|
||||
#[rust_sitter::leaf(text = "LogicType.ForwardX" )]LogicTypeForwardX,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Egg" )]SlotClassEgg,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidCarbonDioxideOutput" )]LogicTypeRatioLiquidCarbonDioxideOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.ExhaustVelocity" )]LogicTypeExhaustVelocity,
|
||||
#[rust_sitter::leaf(text = "LogicType.TemperatureExternal" )]LogicTypeTemperatureExternal,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.PrefabHash" )]LogicSlotTypePrefabHash,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrogen" )]LogicTypeRatioNitrogen,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidOxygen" )]LogicTypeRatioLiquidOxygen,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Growth" )]LogicSlotTypeGrowth,
|
||||
#[rust_sitter::leaf(text = "LogicType.Temperature" )]LogicTypeTemperature,
|
||||
#[rust_sitter::leaf(text = "Color.Green" )]ColorGreen,
|
||||
#[rust_sitter::leaf(text = "PowerMode.Idle" )]PowerModeIdle,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Default" )]SortingClassDefault,
|
||||
#[rust_sitter::leaf(text = "Equals" )]Equals,
|
||||
#[rust_sitter::leaf(text = "LogicType.SizeY" )]LogicTypeSizeY,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidVolatilesInput2" )]LogicTypeRatioLiquidVolatilesInput2,
|
||||
#[rust_sitter::leaf(text = "RobotMode.PathToTarget" )]RobotModePathToTarget,
|
||||
#[rust_sitter::leaf(text = "LogicType.MineablesInQueue" )]LogicTypeMineablesInQueue,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Uniform" )]SlotClassUniform,
|
||||
#[rust_sitter::leaf(text = "LogicType.InterrogationProgress" )]LogicTypeInterrogationProgress,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrousOxideOutput2" )]LogicTypeRatioLiquidNitrousOxideOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.PressureWaste" )]LogicSlotTypePressureWaste,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioWaterOutput" )]LogicTypeRatioWaterOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.PressureInternal" )]LogicTypePressureInternal,
|
||||
#[rust_sitter::leaf(text = "LogicType.DestinationCode" )]LogicTypeDestinationCode,
|
||||
#[rust_sitter::leaf(text = "LogicType.PressureInput" )]LogicTypePressureInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.OrbitPeriod" )]LogicTypeOrbitPeriod,
|
||||
#[rust_sitter::leaf(text = "Color.Brown" )]ColorBrown,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Class" )]LogicSlotTypeClass,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Motherboard" )]SlotClassMotherboard,
|
||||
#[rust_sitter::leaf(text = "SlotClass.LiquidCanister" )]SlotClassLiquidCanister,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioVolatilesInput" )]LogicTypeRatioVolatilesInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioPollutantOutput2" )]LogicTypeRatioPollutantOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.ReEntryAltitude" )]LogicTypeReEntryAltitude,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Temperature" )]LogicSlotTypeTemperature,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrogenOutput" )]LogicTypeRatioLiquidNitrogenOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.TargetY" )]LogicTypeTargetY,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidCarbonDioxide" )]LogicTypeRatioLiquidCarbonDioxide,
|
||||
#[rust_sitter::leaf(text = "LogicType.ImportCount" )]LogicTypeImportCount,
|
||||
#[rust_sitter::leaf(text = "LogicType.Quantity" )]LogicTypeQuantity,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Charge" )]LogicSlotTypeCharge,
|
||||
#[rust_sitter::leaf(text = "LogicType.Power" )]LogicTypePower,
|
||||
#[rust_sitter::leaf(text = "GasType.Steam" )]GasTypeSteam,
|
||||
#[rust_sitter::leaf(text = "AirControl.Pressure" )]AirControlPressure,
|
||||
#[rust_sitter::leaf(text = "LogicType.TemperatureOutput" )]LogicTypeTemperatureOutput,
|
||||
#[rust_sitter::leaf(text = "Color.Orange" )]ColorOrange,
|
||||
#[rust_sitter::leaf(text = "LogicType.Color" )]LogicTypeColor,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Plant" )]SlotClassPlant,
|
||||
#[rust_sitter::leaf(text = "LogicType.Horizontal" )]LogicTypeHorizontal,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioSteamOutput2" )]LogicTypeRatioSteamOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.BurnTimeRemaining" )]LogicTypeBurnTimeRemaining,
|
||||
#[rust_sitter::leaf(text = "LogicType.Maximum" )]LogicTypeMaximum,
|
||||
#[rust_sitter::leaf(text = "LogicType.PrefabHash" )]LogicTypePrefabHash,
|
||||
#[rust_sitter::leaf(text = "LogicType.Orientation" )]LogicTypeOrientation,
|
||||
#[rust_sitter::leaf(text = "LogicType.Channel3" )]LogicTypeChannel3,
|
||||
#[rust_sitter::leaf(text = "LogicType.PowerGeneration" )]LogicTypePowerGeneration,
|
||||
#[rust_sitter::leaf(text = "LogicType.Charge" )]LogicTypeCharge,
|
||||
#[rust_sitter::leaf(text = "SlotClass.DirtCanister" )]SlotClassDirtCanister,
|
||||
#[rust_sitter::leaf(text = "LogicType.VerticalRatio" )]LogicTypeVerticalRatio,
|
||||
#[rust_sitter::leaf(text = "LogicType.PressureOutput2" )]LogicTypePressureOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.Eccentricity" )]LogicTypeEccentricity,
|
||||
#[rust_sitter::leaf(text = "ElevatorMode.Downward" )]ElevatorModeDownward,
|
||||
#[rust_sitter::leaf(text = "LogicType.On" )]LogicTypeOn,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.None" )]LogicSlotTypeNone,
|
||||
#[rust_sitter::leaf(text = "LogicType.Lock" )]LogicTypeLock,
|
||||
#[rust_sitter::leaf(text = "GasType.Nitrogen" )]GasTypeNitrogen,
|
||||
#[rust_sitter::leaf(text = "LogicType.SizeX" )]LogicTypeSizeX,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrogenOutput2" )]LogicTypeRatioLiquidNitrogenOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.DrillCondition" )]LogicTypeDrillCondition,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Health" )]LogicSlotTypeHealth,
|
||||
#[rust_sitter::leaf(text = "GasType.Pollutant" )]GasTypePollutant,
|
||||
#[rust_sitter::leaf(text = "LogicType.VelocityMagnitude" )]LogicTypeVelocityMagnitude,
|
||||
#[rust_sitter::leaf(text = "LogicType.TemperatureInput" )]LogicTypeTemperatureInput,
|
||||
#[rust_sitter::leaf(text = "GasType.CarbonDioxide" )]GasTypeCarbonDioxide,
|
||||
#[rust_sitter::leaf(text = "Vent.Outward" )]VentOutward,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioWaterInput2" )]LogicTypeRatioWaterInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.AutoLand" )]LogicTypeAutoLand,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioOxygenInput" )]LogicTypeRatioOxygenInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioOxygenOutput" )]LogicTypeRatioOxygenOutput,
|
||||
#[rust_sitter::leaf(text = "PowerMode.Charging" )]PowerModeCharging,
|
||||
#[rust_sitter::leaf(text = "LogicType.RequiredPower" )]LogicTypeRequiredPower,
|
||||
#[rust_sitter::leaf(text = "LogicType.SettingInput" )]LogicTypeSettingInput,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Damage" )]LogicSlotTypeDamage,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioSteamInput" )]LogicTypeRatioSteamInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioOxygenInput2" )]LogicTypeRatioOxygenInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.VelocityY" )]LogicTypeVelocityY,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Battery" )]SlotClassBattery,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrousOxide" )]LogicTypeRatioNitrousOxide,
|
||||
#[rust_sitter::leaf(text = "RobotMode.StorageFull" )]RobotModeStorageFull,
|
||||
#[rust_sitter::leaf(text = "LogicType.RecipeHash" )]LogicTypeRecipeHash,
|
||||
#[rust_sitter::leaf(text = "LogicType.SoundAlert" )]LogicTypeSoundAlert,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Atmospherics" )]SortingClassAtmospherics,
|
||||
#[rust_sitter::leaf(text = "LogicType.ForwardY" )]LogicTypeForwardY,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidCarbonDioxideOutput2" )]LogicTypeRatioLiquidCarbonDioxideOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.MinimumWattsToContact" )]LogicTypeMinimumWattsToContact,
|
||||
#[rust_sitter::leaf(text = "GasType.Undefined" )]GasTypeUndefined,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Clothing" )]SortingClassClothing,
|
||||
#[rust_sitter::leaf(text = "LogicType.Pressure" )]LogicTypePressure,
|
||||
#[rust_sitter::leaf(text = "LogicType.OperationalTemperatureEfficiency" )]LogicTypeOperationalTemperatureEfficiency,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Open" )]LogicSlotTypeOpen,
|
||||
#[rust_sitter::leaf(text = "LogicType.TemperatureDifferentialEfficiency" )]LogicTypeTemperatureDifferentialEfficiency,
|
||||
#[rust_sitter::leaf(text = "LogicType.CombustionOutput2" )]LogicTypeCombustionOutput2,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Back" )]SlotClassBack,
|
||||
#[rust_sitter::leaf(text = "Color.Khaki" )]ColorKhaki,
|
||||
#[rust_sitter::leaf(text = "LogicType.Acceleration" )]LogicTypeAcceleration,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Seeding" )]LogicSlotTypeSeeding,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.LineNumber" )]LogicSlotTypeLineNumber,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrogenOutput2" )]LogicTypeRatioNitrogenOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.SolarAngle" )]LogicTypeSolarAngle,
|
||||
#[rust_sitter::leaf(text = "LogicType.WorkingGasEfficiency" )]LogicTypeWorkingGasEfficiency,
|
||||
#[rust_sitter::leaf(text = "LogicType.Output" )]LogicTypeOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.FlightControlRule" )]LogicTypeFlightControlRule,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.MaxQuantity" )]LogicSlotTypeMaxQuantity,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Pressure" )]LogicSlotTypePressure,
|
||||
#[rust_sitter::leaf(text = "LogicType.VelocityX" )]LogicTypeVelocityX,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioPollutantInput2" )]LogicTypeRatioPollutantInput2,
|
||||
#[rust_sitter::leaf(text = "DaylightSensorMode.Vertical" )]DaylightSensorModeVertical,
|
||||
#[rust_sitter::leaf(text = "LogicType.TotalMolesOutput2" )]LogicTypeTotalMolesOutput2,
|
||||
#[rust_sitter::leaf(text = "SlotClass.DataDisk" )]SlotClassDataDisk,
|
||||
#[rust_sitter::leaf(text = "LogicType.Channel0" )]LogicTypeChannel0,
|
||||
#[rust_sitter::leaf(text = "LogicType.Ratio" )]LogicTypeRatio,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidCarbonDioxideInput2" )]LogicTypeRatioLiquidCarbonDioxideInput2,
|
||||
#[rust_sitter::leaf(text = "GasType.NitrousOxide" )]GasTypeNitrousOxide,
|
||||
#[rust_sitter::leaf(text = "DaylightSensorMode.Horizontal" )]DaylightSensorModeHorizontal,
|
||||
#[rust_sitter::leaf(text = "LogicType.PowerActual" )]LogicTypePowerActual,
|
||||
#[rust_sitter::leaf(text = "LogicType.CollectableGoods" )]LogicTypeCollectableGoods,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioOxygenOutput2" )]LogicTypeRatioOxygenOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.AutoShutOff" )]LogicTypeAutoShutOff,
|
||||
#[rust_sitter::leaf(text = "LogicType.DryMass" )]LogicTypeDryMass,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrousOxideInput" )]LogicTypeRatioLiquidNitrousOxideInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.Harvest" )]LogicTypeHarvest,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrousOxideOutput" )]LogicTypeRatioLiquidNitrousOxideOutput,
|
||||
#[rust_sitter::leaf(text = "SlotClass.ProgrammableChip" )]SlotClassProgrammableChip,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Flare" )]SlotClassFlare,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidPollutantOutput2" )]LogicTypeRatioLiquidPollutantOutput2,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Ores" )]SortingClassOres,
|
||||
#[rust_sitter::leaf(text = "AirCon.Hot" )]AirConHot,
|
||||
#[rust_sitter::leaf(text = "LogicType.ContactTypeId" )]LogicTypeContactTypeId,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Occupied" )]LogicSlotTypeOccupied,
|
||||
#[rust_sitter::leaf(text = "LogicType.ForwardZ" )]LogicTypeForwardZ,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidOxygenInput" )]LogicTypeRatioLiquidOxygenInput,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Storage" )]SortingClassStorage,
|
||||
#[rust_sitter::leaf(text = "LogicType.CombustionInput2" )]LogicTypeCombustionInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.TemperatureOutput2" )]LogicTypeTemperatureOutput2,
|
||||
#[rust_sitter::leaf(text = "Color.Red" )]ColorRed,
|
||||
#[rust_sitter::leaf(text = "LogicType.DistanceAu" )]LogicTypeDistanceAu,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioCarbonDioxideOutput2" )]LogicTypeRatioCarbonDioxideOutput2,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Wreckage" )]SlotClassWreckage,
|
||||
#[rust_sitter::leaf(text = "LogicType.Rpm" )]LogicTypeRpm,
|
||||
#[rust_sitter::leaf(text = "LogicType.PressureOutput" )]LogicTypePressureOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidPollutantInput2" )]LogicTypeRatioLiquidPollutantInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.ForceWrite" )]LogicTypeForceWrite,
|
||||
#[rust_sitter::leaf(text = "LogicType.Throttle" )]LogicTypeThrottle,
|
||||
#[rust_sitter::leaf(text = "LogicType.AirRelease" )]LogicTypeAirRelease,
|
||||
#[rust_sitter::leaf(text = "LogicType.PowerPotential" )]LogicTypePowerPotential,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidOxygenInput2" )]LogicTypeRatioLiquidOxygenInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.Apex" )]LogicTypeApex,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Ore" )]SlotClassOre,
|
||||
#[rust_sitter::leaf(text = "LogicType.Time" )]LogicTypeTime,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioPollutantOutput" )]LogicTypeRatioPollutantOutput,
|
||||
#[rust_sitter::leaf(text = "AirControl.None" )]AirControlNone,
|
||||
#[rust_sitter::leaf(text = "Color.Pink" )]ColorPink,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.ReferenceId" )]LogicSlotTypeReferenceId,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Blocked" )]SlotClassBlocked,
|
||||
#[rust_sitter::leaf(text = "LogicType.Thrust" )]LogicTypeThrust,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioSteamInput2" )]LogicTypeRatioSteamInput2,
|
||||
#[rust_sitter::leaf(text = "GasType.Volatiles" )]GasTypeVolatiles,
|
||||
#[rust_sitter::leaf(text = "ElevatorMode.Upward" )]ElevatorModeUpward,
|
||||
#[rust_sitter::leaf(text = "LogicType.ThrustToWeight" )]LogicTypeThrustToWeight,
|
||||
#[rust_sitter::leaf(text = "LogicType.VelocityRelativeZ" )]LogicTypeVelocityRelativeZ,
|
||||
#[rust_sitter::leaf(text = "RobotMode.MoveToTarget" )]RobotModeMoveToTarget,
|
||||
#[rust_sitter::leaf(text = "RobotMode.Roam" )]RobotModeRoam,
|
||||
#[rust_sitter::leaf(text = "Less" )]Less,
|
||||
#[rust_sitter::leaf(text = "LogicType.Vertical" )]LogicTypeVertical,
|
||||
#[rust_sitter::leaf(text = "LogicType.SignalStrength" )]LogicTypeSignalStrength,
|
||||
#[rust_sitter::leaf(text = "LogicType.Activate" )]LogicTypeActivate,
|
||||
#[rust_sitter::leaf(text = "LogicType.DistanceKm" )]LogicTypeDistanceKm,
|
||||
#[rust_sitter::leaf(text = "LogicType.CombustionOutput" )]LogicTypeCombustionOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.Open" )]LogicTypeOpen,
|
||||
#[rust_sitter::leaf(text = "LogicType.Channel7" )]LogicTypeChannel7,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.PressureAir" )]LogicSlotTypePressureAir,
|
||||
#[rust_sitter::leaf(text = "LogicType.Reagents" )]LogicTypeReagents,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrogenOutput" )]LogicTypeRatioNitrogenOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.TemperatureSetting" )]LogicTypeTemperatureSetting,
|
||||
#[rust_sitter::leaf(text = "LogicType.VolumeOfLiquid" )]LogicTypeVolumeOfLiquid,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Glasses" )]SlotClassGlasses,
|
||||
#[rust_sitter::leaf(text = "Greater" )]Greater,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrousOxideInput" )]LogicTypeRatioNitrousOxideInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioCarbonDioxideInput" )]LogicTypeRatioCarbonDioxideInput,
|
||||
#[rust_sitter::leaf(text = "PowerMode.Discharged" )]PowerModeDischarged,
|
||||
#[rust_sitter::leaf(text = "LogicType.ManualResearchRequiredPod" )]LogicTypeManualResearchRequiredPod,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Organ" )]SlotClassOrgan,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Efficiency" )]LogicSlotTypeEfficiency,
|
||||
#[rust_sitter::leaf(text = "LogicType.TargetPadIndex" )]LogicTypeTargetPadIndex,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrousOxideOutput" )]LogicTypeRatioNitrousOxideOutput,
|
||||
#[rust_sitter::leaf(text = "Color.Blue" )]ColorBlue,
|
||||
#[rust_sitter::leaf(text = "PowerMode.Charged" )]PowerModeCharged,
|
||||
#[rust_sitter::leaf(text = "LogicType.TargetZ" )]LogicTypeTargetZ,
|
||||
#[rust_sitter::leaf(text = "LogicType.Channel1" )]LogicTypeChannel1,
|
||||
#[rust_sitter::leaf(text = "LogicType.EntityState" )]LogicTypeEntityState,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioPollutant" )]LogicTypeRatioPollutant,
|
||||
#[rust_sitter::leaf(text = "LogicType.ReturnFuelCost" )]LogicTypeReturnFuelCost,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.On" )]LogicSlotTypeOn,
|
||||
#[rust_sitter::leaf(text = "LogicType.Filtration" )]LogicTypeFiltration,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrogenInput" )]LogicTypeRatioLiquidNitrogenInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioWaterOutput2" )]LogicTypeRatioWaterOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioSteam" )]LogicTypeRatioSteam,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioSteamOutput" )]LogicTypeRatioSteamOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.Mass" )]LogicTypeMass,
|
||||
#[rust_sitter::leaf(text = "LogicType.Progress" )]LogicTypeProgress,
|
||||
#[rust_sitter::leaf(text = "LogicType.RequestHash" )]LogicTypeRequestHash,
|
||||
#[rust_sitter::leaf(text = "LogicType.VelocityZ" )]LogicTypeVelocityZ,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Suit" )]SlotClassSuit,
|
||||
#[rust_sitter::leaf(text = "LogicType.CombustionInput" )]LogicTypeCombustionInput,
|
||||
#[rust_sitter::leaf(text = "SlotClass.SoundCartridge" )]SlotClassSoundCartridge,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidVolatilesOutput" )]LogicTypeRatioLiquidVolatilesOutput,
|
||||
#[rust_sitter::leaf(text = "GasType.LiquidCarbonDioxide" )]GasTypeLiquidCarbonDioxide,
|
||||
#[rust_sitter::leaf(text = "AirControl.Draught" )]AirControlDraught,
|
||||
#[rust_sitter::leaf(text = "EntityState.Dead" )]EntityStateDead,
|
||||
#[rust_sitter::leaf(text = "RobotMode.Unload" )]RobotModeUnload,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Appliances" )]SortingClassAppliances,
|
||||
#[rust_sitter::leaf(text = "LogicType.ElevatorSpeed" )]LogicTypeElevatorSpeed,
|
||||
#[rust_sitter::leaf(text = "LogicType.NextWeatherEventTime" )]LogicTypeNextWeatherEventTime,
|
||||
#[rust_sitter::leaf(text = "GasType.Water" )]GasTypeWater,
|
||||
#[rust_sitter::leaf(text = "EntityState.Unconscious" )]EntityStateUnconscious,
|
||||
#[rust_sitter::leaf(text = "SlotClass.SensorProcessingUnit" )]SlotClassSensorProcessingUnit,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.SortingClass" )]LogicSlotTypeSortingClass,
|
||||
#[rust_sitter::leaf(text = "LogicType.PowerRequired" )]LogicTypePowerRequired,
|
||||
#[rust_sitter::leaf(text = "LogicType.TotalMoles" )]LogicTypeTotalMoles,
|
||||
#[rust_sitter::leaf(text = "LogicType.TargetX" )]LogicTypeTargetX,
|
||||
#[rust_sitter::leaf(text = "GasType.LiquidVolatiles" )]GasTypeLiquidVolatiles,
|
||||
#[rust_sitter::leaf(text = "PowerMode.Discharging" )]PowerModeDischarging,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Cartridge" )]SlotClassCartridge,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Tools" )]SortingClassTools,
|
||||
#[rust_sitter::leaf(text = "LogicType.Error" )]LogicTypeError,
|
||||
#[rust_sitter::leaf(text = "LogicType.VelocityRelativeX" )]LogicTypeVelocityRelativeX,
|
||||
#[rust_sitter::leaf(text = "GasType.LiquidNitrousOxide" )]GasTypeLiquidNitrousOxide,
|
||||
#[rust_sitter::leaf(text = "EntityState.Alive" )]EntityStateAlive,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidVolatilesInput" )]LogicTypeRatioLiquidVolatilesInput,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Ices" )]SortingClassIces,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioCarbonDioxideOutput" )]LogicTypeRatioCarbonDioxideOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioVolatilesInput2" )]LogicTypeRatioVolatilesInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.Plant" )]LogicTypePlant,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidPollutant" )]LogicTypeRatioLiquidPollutant,
|
||||
#[rust_sitter::leaf(text = "LogicType.Weight" )]LogicTypeWeight,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrousOxideInput2" )]LogicTypeRatioNitrousOxideInput2,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Mature" )]LogicSlotTypeMature,
|
||||
#[rust_sitter::leaf(text = "SlotClass.DrillHead" )]SlotClassDrillHead,
|
||||
#[rust_sitter::leaf(text = "LogicType.MineablesInVicinity" )]LogicTypeMineablesInVicinity,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.OccupantHash" )]LogicSlotTypeOccupantHash,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrogenInput2" )]LogicTypeRatioNitrogenInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.PassedMoles" )]LogicTypePassedMoles,
|
||||
#[rust_sitter::leaf(text = "LogicType.Channel6" )]LogicTypeChannel6,
|
||||
#[rust_sitter::leaf(text = "LogicType.SemiMajorAxis" )]LogicTypeSemiMajorAxis,
|
||||
#[rust_sitter::leaf(text = "LogicType.TotalMolesInput2" )]LogicTypeTotalMolesInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.TimeToDestination" )]LogicTypeTimeToDestination,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.ChargeRatio" )]LogicSlotTypeChargeRatio,
|
||||
#[rust_sitter::leaf(text = "SlotClass.AccessCard" )]SlotClassAccessCard,
|
||||
#[rust_sitter::leaf(text = "SlotClass.ScanningHead" )]SlotClassScanningHead,
|
||||
#[rust_sitter::leaf(text = "LogicType.Stress" )]LogicTypeStress,
|
||||
#[rust_sitter::leaf(text = "TransmitterMode.Active" )]TransmitterModeActive,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Ingot" )]SlotClassIngot,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrogen" )]LogicTypeRatioNitrogen,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioVolatilesInput" )]LogicTypeRatioVolatilesInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.Channel4" )]LogicTypeChannel4,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Resources" )]SortingClassResources,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Volume" )]LogicSlotTypeVolume,
|
||||
#[rust_sitter::leaf(text = "Color.Yellow" )]ColorYellow,
|
||||
#[rust_sitter::leaf(text = "LogicType.CurrentResearchPodType" )]LogicTypeCurrentResearchPodType,
|
||||
#[rust_sitter::leaf(text = "LogicType.ElevatorLevel" )]LogicTypeElevatorLevel,
|
||||
#[rust_sitter::leaf(text = "GasType.Oxygen" )]GasTypeOxygen,
|
||||
#[rust_sitter::leaf(text = "LogicType.SettingOutput" )]LogicTypeSettingOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.Idle" )]LogicTypeIdle,
|
||||
#[rust_sitter::leaf(text = "LogicType.Combustion" )]LogicTypeCombustion,
|
||||
#[rust_sitter::leaf(text = "LogicType.Index" )]LogicTypeIndex,
|
||||
#[rust_sitter::leaf(text = "SlotClass.None" )]SlotClassNone,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Bottle" )]SlotClassBottle,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Kits" )]SortingClassKits,
|
||||
#[rust_sitter::leaf(text = "LogicType.TotalMolesOutput" )]LogicTypeTotalMolesOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.TrueAnomaly" )]LogicTypeTrueAnomaly,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrogen" )]LogicTypeRatioLiquidNitrogen,
|
||||
#[rust_sitter::leaf(text = "LogicType.PressureInput2" )]LogicTypePressureInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.TemperatureInput2" )]LogicTypeTemperatureInput2,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Tool" )]SlotClassTool,
|
||||
#[rust_sitter::leaf(text = "LogicType.SizeZ" )]LogicTypeSizeZ,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidPollutantOutput" )]LogicTypeRatioLiquidPollutantOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidCarbonDioxideOutput" )]LogicTypeRatioLiquidCarbonDioxideOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.PositionZ" )]LogicTypePositionZ,
|
||||
#[rust_sitter::leaf(text = "LogicType.ExportCount" )]LogicTypeExportCount,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrousOxideOutput2" )]LogicTypeRatioNitrousOxideOutput2,
|
||||
#[rust_sitter::leaf(text = "GasType.LiquidNitrogen" )]GasTypeLiquidNitrogen,
|
||||
#[rust_sitter::leaf(text = "LogicType.SolarIrradiance" )]LogicTypeSolarIrradiance,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Lock" )]LogicSlotTypeLock,
|
||||
#[rust_sitter::leaf(text = "LogicType.Setting" )]LogicTypeSetting,
|
||||
#[rust_sitter::leaf(text = "SlotClass.LiquidBottle" )]SlotClassLiquidBottle,
|
||||
#[rust_sitter::leaf(text = "ElevatorMode.Stationary" )]ElevatorModeStationary,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioWaterInput" )]LogicTypeRatioWaterInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.EnvironmentEfficiency" )]LogicTypeEnvironmentEfficiency,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrogenInput" )]LogicTypeRatioNitrogenInput,
|
||||
#[rust_sitter::leaf(text = "EntityState.Decay" )]EntityStateDecay,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.FilterType" )]LogicSlotTypeFilterType,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioVolatilesOutput" )]LogicTypeRatioVolatilesOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.TotalMolesInput" )]LogicTypeTotalMolesInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.PressureEfficiency" )]LogicTypePressureEfficiency,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Belt" )]SlotClassBelt,
|
||||
#[rust_sitter::leaf(text = "LogicType.Flush" )]LogicTypeFlush,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidCarbonDioxideInput" )]LogicTypeRatioLiquidCarbonDioxideInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.CompletionRatio" )]LogicTypeCompletionRatio,
|
||||
#[rust_sitter::leaf(text = "LogicType.Mode" )]LogicTypeMode,
|
||||
#[rust_sitter::leaf(text = "Color.White" )]ColorWhite,
|
||||
#[rust_sitter::leaf(text = "AirCon.Cold" )]AirConCold,
|
||||
#[rust_sitter::leaf(text = "RobotMode.None" )]RobotModeNone,
|
||||
#[rust_sitter::leaf(text = "LogicType.Inclination" )]LogicTypeInclination,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Food" )]SortingClassFood,
|
||||
#[rust_sitter::leaf(text = "PowerMode.Idle" )]PowerModeIdle,
|
||||
#[rust_sitter::leaf(text = "LogicType.TemperatureOutput2" )]LogicTypeTemperatureOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.SignalStrength" )]LogicTypeSignalStrength,
|
||||
#[rust_sitter::leaf(text = "LogicType.ReferenceId" )]LogicTypeReferenceId,
|
||||
#[rust_sitter::leaf(text = "LogicType.PositionX" )]LogicTypePositionX,
|
||||
#[rust_sitter::leaf(text = "RobotMode.Follow" )]RobotModeFollow,
|
||||
#[rust_sitter::leaf(text = "GasType.LiquidPollutant" )]GasTypeLiquidPollutant,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidVolatilesOutput2" )]LogicTypeRatioLiquidVolatilesOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.Channel2" )]LogicTypeChannel2,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioOxygen" )]LogicTypeRatioOxygen,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Quantity" )]LogicSlotTypeQuantity,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Default" )]SortingClassDefault,
|
||||
#[rust_sitter::leaf(text = "LogicType.InterrogationProgress" )]LogicTypeInterrogationProgress,
|
||||
#[rust_sitter::leaf(text = "LogicType.Activate" )]LogicTypeActivate,
|
||||
#[rust_sitter::leaf(text = "LogicType.BurnTimeRemaining" )]LogicTypeBurnTimeRemaining,
|
||||
#[rust_sitter::leaf(text = "LogicType.PressureOutput2" )]LogicTypePressureOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.Volume" )]LogicTypeVolume,
|
||||
#[rust_sitter::leaf(text = "LogicType.TemperatureInput2" )]LogicTypeTemperatureInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.Ratio" )]LogicTypeRatio,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrogenOutput2" )]LogicTypeRatioNitrogenOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.Channel5" )]LogicTypeChannel5,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioSteamInput2" )]LogicTypeRatioSteamInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.Channel7" )]LogicTypeChannel7,
|
||||
#[rust_sitter::leaf(text = "LogicType.ForwardZ" )]LogicTypeForwardZ,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Appliance" )]SlotClassAppliance,
|
||||
#[rust_sitter::leaf(text = "LogicType.CelestialParentHash" )]LogicTypeCelestialParentHash,
|
||||
#[rust_sitter::leaf(text = "LogicType.DistanceKm" )]LogicTypeDistanceKm,
|
||||
#[rust_sitter::leaf(text = "AirControl.Offline" )]AirControlOffline,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Kits" )]SortingClassKits,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Seeding" )]LogicSlotTypeSeeding,
|
||||
#[rust_sitter::leaf(text = "LogicType.Error" )]LogicTypeError,
|
||||
#[rust_sitter::leaf(text = "EntityState.Dead" )]EntityStateDead,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidCarbonDioxideInput2" )]LogicTypeRatioLiquidCarbonDioxideInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.PressureSetting" )]LogicTypePressureSetting,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrogenInput2" )]LogicTypeRatioLiquidNitrogenInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidOxygenOutput" )]LogicTypeRatioLiquidOxygenOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrousOxideInput2" )]LogicTypeRatioLiquidNitrousOxideInput2,
|
||||
#[rust_sitter::leaf(text = "TransmitterMode.Passive" )]TransmitterModePassive,
|
||||
#[rust_sitter::leaf(text = "Vent.Inward" )]VentInward,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidOxygenOutput2" )]LogicTypeRatioLiquidOxygenOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioCarbonDioxide" )]LogicTypeRatioCarbonDioxide,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioCarbonDioxideOutput" )]LogicTypeRatioCarbonDioxideOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.Time" )]LogicTypeTime,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Mature" )]LogicSlotTypeMature,
|
||||
#[rust_sitter::leaf(text = "LogicType.WattsReachingContact" )]LogicTypeWattsReachingContact,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioCarbonDioxideInput" )]LogicTypeRatioCarbonDioxideInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioWaterInput2" )]LogicTypeRatioWaterInput2,
|
||||
#[rust_sitter::leaf(text = "SlotClass.CreditCard" )]SlotClassCreditCard,
|
||||
#[rust_sitter::leaf(text = "LogicType.ExportCount" )]LogicTypeExportCount,
|
||||
#[rust_sitter::leaf(text = "LogicType.VelocityZ" )]LogicTypeVelocityZ,
|
||||
#[rust_sitter::leaf(text = "LogicType.Channel0" )]LogicTypeChannel0,
|
||||
#[rust_sitter::leaf(text = "LogicType.RequestHash" )]LogicTypeRequestHash,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Torpedo" )]SlotClassTorpedo,
|
||||
#[rust_sitter::leaf(text = "LogicType.PowerActual" )]LogicTypePowerActual,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.SortingClass" )]LogicSlotTypeSortingClass,
|
||||
#[rust_sitter::leaf(text = "AirControl.Draught" )]AirControlDraught,
|
||||
#[rust_sitter::leaf(text = "Color.Yellow" )]ColorYellow,
|
||||
#[rust_sitter::leaf(text = "PowerMode.Discharging" )]PowerModeDischarging,
|
||||
#[rust_sitter::leaf(text = "LogicType.Maximum" )]LogicTypeMaximum,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioVolatilesOutput" )]LogicTypeRatioVolatilesOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidOxygenInput" )]LogicTypeRatioLiquidOxygenInput,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Wreckage" )]SlotClassWreckage,
|
||||
#[rust_sitter::leaf(text = "Color.Red" )]ColorRed,
|
||||
#[rust_sitter::leaf(text = "Color.Brown" )]ColorBrown,
|
||||
#[rust_sitter::leaf(text = "SlotClass.LiquidBottle" )]SlotClassLiquidBottle,
|
||||
#[rust_sitter::leaf(text = "RobotMode.Follow" )]RobotModeFollow,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidPollutantOutput2" )]LogicTypeRatioLiquidPollutantOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.TemperatureOutput" )]LogicTypeTemperatureOutput,
|
||||
#[rust_sitter::leaf(text = "GasType.LiquidCarbonDioxide" )]GasTypeLiquidCarbonDioxide,
|
||||
#[rust_sitter::leaf(text = "SlotClass.None" )]SlotClassNone,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Clothing" )]SortingClassClothing,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Suit" )]SlotClassSuit,
|
||||
#[rust_sitter::leaf(text = "LogicType.ThrustToWeight" )]LogicTypeThrustToWeight,
|
||||
#[rust_sitter::leaf(text = "Greater" )]Greater,
|
||||
#[rust_sitter::leaf(text = "LogicType.TotalMolesOutput" )]LogicTypeTotalMolesOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.AutoShutOff" )]LogicTypeAutoShutOff,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioPollutantInput2" )]LogicTypeRatioPollutantInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.Open" )]LogicTypeOpen,
|
||||
#[rust_sitter::leaf(text = "LogicType.RecipeHash" )]LogicTypeRecipeHash,
|
||||
#[rust_sitter::leaf(text = "LogicType.TargetPadIndex" )]LogicTypeTargetPadIndex,
|
||||
#[rust_sitter::leaf(text = "LogicType.TimeToDestination" )]LogicTypeTimeToDestination,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioWaterOutput" )]LogicTypeRatioWaterOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidCarbonDioxide" )]LogicTypeRatioLiquidCarbonDioxide,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Ore" )]SlotClassOre,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Ores" )]SortingClassOres,
|
||||
#[rust_sitter::leaf(text = "LogicType.Reagents" )]LogicTypeReagents,
|
||||
#[rust_sitter::leaf(text = "LogicType.MinimumWattsToContact" )]LogicTypeMinimumWattsToContact,
|
||||
#[rust_sitter::leaf(text = "LogicType.SettingInput" )]LogicTypeSettingInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.CompletionRatio" )]LogicTypeCompletionRatio,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrousOxideInput2" )]LogicTypeRatioNitrousOxideInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioVolatilesOutput2" )]LogicTypeRatioVolatilesOutput2,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Circuit" )]SlotClassCircuit,
|
||||
#[rust_sitter::leaf(text = "LogicType.Mass" )]LogicTypeMass,
|
||||
#[rust_sitter::leaf(text = "NotEquals" )]NotEquals,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidCarbonDioxideInput" )]LogicTypeRatioLiquidCarbonDioxideInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.CombustionLimiter" )]LogicTypeCombustionLimiter,
|
||||
#[rust_sitter::leaf(text = "LogicType.FlightControlRule" )]LogicTypeFlightControlRule,
|
||||
#[rust_sitter::leaf(text = "LogicType.PowerPotential" )]LogicTypePowerPotential,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.PressureWaste" )]LogicSlotTypePressureWaste,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioPollutant" )]LogicTypeRatioPollutant,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrousOxideOutput" )]LogicTypeRatioLiquidNitrousOxideOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.DestinationCode" )]LogicTypeDestinationCode,
|
||||
#[rust_sitter::leaf(text = "LogicType.OrbitPeriod" )]LogicTypeOrbitPeriod,
|
||||
#[rust_sitter::leaf(text = "Color.Blue" )]ColorBlue,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidVolatilesInput" )]LogicTypeRatioLiquidVolatilesInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.Harvest" )]LogicTypeHarvest,
|
||||
#[rust_sitter::leaf(text = "LogicType.CollectableGoods" )]LogicTypeCollectableGoods,
|
||||
#[rust_sitter::leaf(text = "LogicType.Filtration" )]LogicTypeFiltration,
|
||||
#[rust_sitter::leaf(text = "LogicType.CombustionInput2" )]LogicTypeCombustionInput2,
|
||||
#[rust_sitter::leaf(text = "RobotMode.MoveToTarget" )]RobotModeMoveToTarget,
|
||||
#[rust_sitter::leaf(text = "LogicType.PressureEfficiency" )]LogicTypePressureEfficiency,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Temperature" )]LogicSlotTypeTemperature,
|
||||
#[rust_sitter::leaf(text = "GasType.NitrousOxide" )]GasTypeNitrousOxide,
|
||||
#[rust_sitter::leaf(text = "Color.White" )]ColorWhite,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Circuitboard" )]SlotClassCircuitboard,
|
||||
#[rust_sitter::leaf(text = "LogicType.Combustion" )]LogicTypeCombustion,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Volume" )]LogicSlotTypeVolume,
|
||||
#[rust_sitter::leaf(text = "LogicType.SolarAngle" )]LogicTypeSolarAngle,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrousOxide" )]LogicTypeRatioLiquidNitrousOxide,
|
||||
#[rust_sitter::leaf(text = "LogicType.TargetZ" )]LogicTypeTargetZ,
|
||||
#[rust_sitter::leaf(text = "LogicType.TotalMolesInput" )]LogicTypeTotalMolesInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.VelocityY" )]LogicTypeVelocityY,
|
||||
#[rust_sitter::leaf(text = "LogicType.Apex" )]LogicTypeApex,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidPollutantOutput" )]LogicTypeRatioLiquidPollutantOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.EntityState" )]LogicTypeEntityState,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Uniform" )]SlotClassUniform,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Flare" )]SlotClassFlare,
|
||||
#[rust_sitter::leaf(text = "GasType.Water" )]GasTypeWater,
|
||||
#[rust_sitter::leaf(text = "GasType.LiquidNitrousOxide" )]GasTypeLiquidNitrousOxide,
|
||||
#[rust_sitter::leaf(text = "PowerMode.Discharged" )]PowerModeDischarged,
|
||||
#[rust_sitter::leaf(text = "RobotMode.PathToTarget" )]RobotModePathToTarget,
|
||||
#[rust_sitter::leaf(text = "LogicType.OperationalTemperatureEfficiency" )]LogicTypeOperationalTemperatureEfficiency,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.LineNumber" )]LogicSlotTypeLineNumber,
|
||||
#[rust_sitter::leaf(text = "LogicType.TemperatureInput" )]LogicTypeTemperatureInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.SizeY" )]LogicTypeSizeY,
|
||||
#[rust_sitter::leaf(text = "LogicType.Channel1" )]LogicTypeChannel1,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Blocked" )]SlotClassBlocked,
|
||||
#[rust_sitter::leaf(text = "LogicType.Throttle" )]LogicTypeThrottle,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Magazine" )]SlotClassMagazine,
|
||||
#[rust_sitter::leaf(text = "LogicType.ElevatorSpeed" )]LogicTypeElevatorSpeed,
|
||||
#[rust_sitter::leaf(text = "ElevatorMode.Upward" )]ElevatorModeUpward,
|
||||
#[rust_sitter::leaf(text = "LogicType.ReEntryAltitude" )]LogicTypeReEntryAltitude,
|
||||
#[rust_sitter::leaf(text = "Less" )]Less,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Food" )]SortingClassFood,
|
||||
#[rust_sitter::leaf(text = "Color.Orange" )]ColorOrange,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrousOxideInput" )]LogicTypeRatioNitrousOxideInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.VolumeOfLiquid" )]LogicTypeVolumeOfLiquid,
|
||||
#[rust_sitter::leaf(text = "LogicType.Inclination" )]LogicTypeInclination,
|
||||
#[rust_sitter::leaf(text = "EntityState.Alive" )]EntityStateAlive,
|
||||
#[rust_sitter::leaf(text = "LogicType.PressureExternal" )]LogicTypePressureExternal,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioWaterInput" )]LogicTypeRatioWaterInput,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Class" )]LogicSlotTypeClass,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Ingot" )]SlotClassIngot,
|
||||
#[rust_sitter::leaf(text = "LogicType.On" )]LogicTypeOn,
|
||||
#[rust_sitter::leaf(text = "LogicType.Flush" )]LogicTypeFlush,
|
||||
#[rust_sitter::leaf(text = "LogicType.VelocityX" )]LogicTypeVelocityX,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioOxygenOutput2" )]LogicTypeRatioOxygenOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioSteamOutput" )]LogicTypeRatioSteamOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.DryMass" )]LogicTypeDryMass,
|
||||
#[rust_sitter::leaf(text = "RobotMode.Roam" )]RobotModeRoam,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Tools" )]SortingClassTools,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidOxygenOutput2" )]LogicTypeRatioLiquidOxygenOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Health" )]LogicSlotTypeHealth,
|
||||
#[rust_sitter::leaf(text = "LogicType.PassedMoles" )]LogicTypePassedMoles,
|
||||
#[rust_sitter::leaf(text = "SlotClass.DirtCanister" )]SlotClassDirtCanister,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrogenOutput" )]LogicTypeRatioLiquidNitrogenOutput,
|
||||
#[rust_sitter::leaf(text = "GasType.Steam" )]GasTypeSteam,
|
||||
#[rust_sitter::leaf(text = "LogicType.ReturnFuelCost" )]LogicTypeReturnFuelCost,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Glasses" )]SlotClassGlasses,
|
||||
#[rust_sitter::leaf(text = "Color.Black" )]ColorBlack,
|
||||
#[rust_sitter::leaf(text = "LogicType.Orientation" )]LogicTypeOrientation,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Appliances" )]SortingClassAppliances,
|
||||
#[rust_sitter::leaf(text = "LogicType.DrillCondition" )]LogicTypeDrillCondition,
|
||||
#[rust_sitter::leaf(text = "LogicType.Vertical" )]LogicTypeVertical,
|
||||
#[rust_sitter::leaf(text = "LogicType.ForwardY" )]LogicTypeForwardY,
|
||||
#[rust_sitter::leaf(text = "LogicType.TargetY" )]LogicTypeTargetY,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrousOxideOutput2" )]LogicTypeRatioLiquidNitrousOxideOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.Fuel" )]LogicTypeFuel,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.PrefabHash" )]LogicSlotTypePrefabHash,
|
||||
#[rust_sitter::leaf(text = "LogicType.Output" )]LogicTypeOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidPollutant" )]LogicTypeRatioLiquidPollutant,
|
||||
#[rust_sitter::leaf(text = "LogicType.EnvironmentEfficiency" )]LogicTypeEnvironmentEfficiency,
|
||||
#[rust_sitter::leaf(text = "LogicType.Weight" )]LogicTypeWeight,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Battery" )]SlotClassBattery,
|
||||
#[rust_sitter::leaf(text = "AirCon.Cold" )]AirConCold,
|
||||
#[rust_sitter::leaf(text = "PowerMode.Charged" )]PowerModeCharged,
|
||||
#[rust_sitter::leaf(text = "LogicType.CurrentResearchPodType" )]LogicTypeCurrentResearchPodType,
|
||||
#[rust_sitter::leaf(text = "LogicType.Rpm" )]LogicTypeRpm,
|
||||
#[rust_sitter::leaf(text = "LogicType.TemperatureExternal" )]LogicTypeTemperatureExternal,
|
||||
#[rust_sitter::leaf(text = "GasType.Oxygen" )]GasTypeOxygen,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioOxygenOutput" )]LogicTypeRatioOxygenOutput,
|
||||
#[rust_sitter::leaf(text = "Color.Green" )]ColorGreen,
|
||||
#[rust_sitter::leaf(text = "LogicType.Acceleration" )]LogicTypeAcceleration,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Lock" )]LogicSlotTypeLock,
|
||||
#[rust_sitter::leaf(text = "LogicType.AirRelease" )]LogicTypeAirRelease,
|
||||
#[rust_sitter::leaf(text = "LogicType.VelocityRelativeX" )]LogicTypeVelocityRelativeX,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioOxygenInput" )]LogicTypeRatioOxygenInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrogenOutput" )]LogicTypeRatioNitrogenOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.VerticalRatio" )]LogicTypeVerticalRatio,
|
||||
#[rust_sitter::leaf(text = "SlotClass.ScanningHead" )]SlotClassScanningHead,
|
||||
#[rust_sitter::leaf(text = "LogicType.LineNumber" )]LogicTypeLineNumber,
|
||||
#[rust_sitter::leaf(text = "Color.Purple" )]ColorPurple,
|
||||
#[rust_sitter::leaf(text = "SlotClass.SoundCartridge" )]SlotClassSoundCartridge,
|
||||
#[rust_sitter::leaf(text = "AirCon.Hot" )]AirConHot,
|
||||
#[rust_sitter::leaf(text = "LogicType.VelocityRelativeY" )]LogicTypeVelocityRelativeY,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrogenInput2" )]LogicTypeRatioNitrogenInput2,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Damage" )]LogicSlotTypeDamage,
|
||||
#[rust_sitter::leaf(text = "LogicType.RequiredPower" )]LogicTypeRequiredPower,
|
||||
#[rust_sitter::leaf(text = "LogicType.CelestialHash" )]LogicTypeCelestialHash,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.OccupantHash" )]LogicSlotTypeOccupantHash,
|
||||
#[rust_sitter::leaf(text = "AirControl.None" )]AirControlNone,
|
||||
#[rust_sitter::leaf(text = "Vent.Inward" )]VentInward,
|
||||
#[rust_sitter::leaf(text = "LogicType.SoundAlert" )]LogicTypeSoundAlert,
|
||||
#[rust_sitter::leaf(text = "RobotMode.Unload" )]RobotModeUnload,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidCarbonDioxideOutput2" )]LogicTypeRatioLiquidCarbonDioxideOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.ElevatorLevel" )]LogicTypeElevatorLevel,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioCarbonDioxideInput2" )]LogicTypeRatioCarbonDioxideInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.Channel3" )]LogicTypeChannel3,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidOxygenOutput" )]LogicTypeRatioLiquidOxygenOutput,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Quantity" )]LogicSlotTypeQuantity,
|
||||
#[rust_sitter::leaf(text = "LogicType.Eccentricity" )]LogicTypeEccentricity,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidOxygenInput2" )]LogicTypeRatioLiquidOxygenInput2,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Circuit" )]SlotClassCircuit,
|
||||
#[rust_sitter::leaf(text = "Vent.Outward" )]VentOutward,
|
||||
#[rust_sitter::leaf(text = "LogicType.MineablesInQueue" )]LogicTypeMineablesInQueue,
|
||||
#[rust_sitter::leaf(text = "LogicType.Channel2" )]LogicTypeChannel2,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Tool" )]SlotClassTool,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioWater" )]LogicTypeRatioWater,
|
||||
#[rust_sitter::leaf(text = "LogicType.HorizontalRatio" )]LogicTypeHorizontalRatio,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrogen" )]LogicTypeRatioLiquidNitrogen,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioCarbonDioxide" )]LogicTypeRatioCarbonDioxide,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Growth" )]LogicSlotTypeGrowth,
|
||||
#[rust_sitter::leaf(text = "LogicType.PressureOutput" )]LogicTypePressureOutput,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Helmet" )]SlotClassHelmet,
|
||||
#[rust_sitter::leaf(text = "Color.Pink" )]ColorPink,
|
||||
#[rust_sitter::leaf(text = "RobotMode.None" )]RobotModeNone,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Motherboard" )]SlotClassMotherboard,
|
||||
#[rust_sitter::leaf(text = "LogicType.PowerRequired" )]LogicTypePowerRequired,
|
||||
#[rust_sitter::leaf(text = "LogicType.ClearMemory" )]LogicTypeClearMemory,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.PressureAir" )]LogicSlotTypePressureAir,
|
||||
#[rust_sitter::leaf(text = "EntityState.Decay" )]EntityStateDecay,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrogenInput" )]LogicTypeRatioLiquidNitrogenInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidOxygen" )]LogicTypeRatioLiquidOxygen,
|
||||
#[rust_sitter::leaf(text = "GasType.LiquidPollutant" )]GasTypeLiquidPollutant,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Resources" )]SortingClassResources,
|
||||
#[rust_sitter::leaf(text = "LogicType.CombustionInput" )]LogicTypeCombustionInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.Pressure" )]LogicTypePressure,
|
||||
#[rust_sitter::leaf(text = "DaylightSensorMode.Default" )]DaylightSensorModeDefault,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioPollutantInput" )]LogicTypeRatioPollutantInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.SemiMajorAxis" )]LogicTypeSemiMajorAxis,
|
||||
#[rust_sitter::leaf(text = "SlotClass.DataDisk" )]SlotClassDataDisk,
|
||||
#[rust_sitter::leaf(text = "SlotClass.SensorProcessingUnit" )]SlotClassSensorProcessingUnit,
|
||||
#[rust_sitter::leaf(text = "GasType.Undefined" )]GasTypeUndefined,
|
||||
#[rust_sitter::leaf(text = "LogicType.PressureInternal" )]LogicTypePressureInternal,
|
||||
#[rust_sitter::leaf(text = "LogicType.Quantity" )]LogicTypeQuantity,
|
||||
#[rust_sitter::leaf(text = "GasType.Nitrogen" )]GasTypeNitrogen,
|
||||
#[rust_sitter::leaf(text = "Equals" )]Equals,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrogenInput" )]LogicTypeRatioNitrogenInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.DistanceAu" )]LogicTypeDistanceAu,
|
||||
#[rust_sitter::leaf(text = "ElevatorMode.Downward" )]ElevatorModeDownward,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Bottle" )]SlotClassBottle,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.None" )]LogicSlotTypeNone,
|
||||
#[rust_sitter::leaf(text = "SlotClass.GasFilter" )]SlotClassGasFilter,
|
||||
#[rust_sitter::leaf(text = "TransmitterMode.Active" )]TransmitterModeActive,
|
||||
#[rust_sitter::leaf(text = "LogicType.Bpm" )]LogicTypeBpm,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioSteamOutput2" )]LogicTypeRatioSteamOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.SolarIrradiance" )]LogicTypeSolarIrradiance,
|
||||
#[rust_sitter::leaf(text = "LogicType.VelocityRelativeZ" )]LogicTypeVelocityRelativeZ,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrousOxideInput2" )]LogicTypeRatioLiquidNitrousOxideInput2,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Egg" )]SlotClassEgg,
|
||||
#[rust_sitter::leaf(text = "SlotClass.AccessCard" )]SlotClassAccessCard,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioPollutantOutput2" )]LogicTypeRatioPollutantOutput2,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Ices" )]SortingClassIces,
|
||||
#[rust_sitter::leaf(text = "SlotClass.LiquidCanister" )]SlotClassLiquidCanister,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioCarbonDioxideOutput2" )]LogicTypeRatioCarbonDioxideOutput2,
|
||||
#[rust_sitter::leaf(text = "TransmitterMode.Passive" )]TransmitterModePassive,
|
||||
#[rust_sitter::leaf(text = "LogicType.Index" )]LogicTypeIndex,
|
||||
#[rust_sitter::leaf(text = "LogicType.NextWeatherEventTime" )]LogicTypeNextWeatherEventTime,
|
||||
#[rust_sitter::leaf(text = "LogicType.Plant" )]LogicTypePlant,
|
||||
#[rust_sitter::leaf(text = "LogicType.Temperature" )]LogicTypeTemperature,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioOxygenInput2" )]LogicTypeRatioOxygenInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.SettingOutput" )]LogicTypeSettingOutput,
|
||||
#[rust_sitter::leaf(text = "EntityState.Unconscious" )]EntityStateUnconscious,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.MaxQuantity" )]LogicSlotTypeMaxQuantity,
|
||||
#[rust_sitter::leaf(text = "LogicType.CombustionOutput" )]LogicTypeCombustionOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrogenOutput2" )]LogicTypeRatioLiquidNitrogenOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.MineablesInVicinity" )]LogicTypeMineablesInVicinity,
|
||||
#[rust_sitter::leaf(text = "LogicType.TemperatureDifferentialEfficiency" )]LogicTypeTemperatureDifferentialEfficiency,
|
||||
#[rust_sitter::leaf(text = "AirControl.Pressure" )]AirControlPressure,
|
||||
#[rust_sitter::leaf(text = "LogicType.VelocityMagnitude" )]LogicTypeVelocityMagnitude,
|
||||
#[rust_sitter::leaf(text = "LogicType.TotalMolesInput2" )]LogicTypeTotalMolesInput2,
|
||||
#[rust_sitter::leaf(text = "PowerMode.Charging" )]PowerModeCharging,
|
||||
#[rust_sitter::leaf(text = "LogicType.PressureInput" )]LogicTypePressureInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrousOxideOutput2" )]LogicTypeRatioNitrousOxideOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.TotalMoles" )]LogicTypeTotalMoles,
|
||||
#[rust_sitter::leaf(text = "GasType.CarbonDioxide" )]GasTypeCarbonDioxide,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrousOxide" )]LogicTypeRatioNitrousOxide,
|
||||
#[rust_sitter::leaf(text = "LogicType.TemperatureSetting" )]LogicTypeTemperatureSetting,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioVolatiles" )]LogicTypeRatioVolatiles,
|
||||
#[rust_sitter::leaf(text = "LogicType.AutoLand" )]LogicTypeAutoLand,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Charge" )]LogicSlotTypeCharge,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Atmospherics" )]SortingClassAtmospherics,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioOxygen" )]LogicTypeRatioOxygen,
|
||||
#[rust_sitter::leaf(text = "LogicType.Idle" )]LogicTypeIdle,
|
||||
#[rust_sitter::leaf(text = "LogicType.PositionX" )]LogicTypePositionX,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrogenInput2" )]LogicTypeRatioLiquidNitrogenInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.PrefabHash" )]LogicTypePrefabHash,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Belt" )]SlotClassBelt,
|
||||
#[rust_sitter::leaf(text = "LogicType.Mode" )]LogicTypeMode,
|
||||
#[rust_sitter::leaf(text = "LogicType.SizeX" )]LogicTypeSizeX,
|
||||
#[rust_sitter::leaf(text = "GasType.Volatiles" )]GasTypeVolatiles,
|
||||
#[rust_sitter::leaf(text = "LogicType.SignalID" )]LogicTypeSignalId,
|
||||
#[rust_sitter::leaf(text = "Color.Khaki" )]ColorKhaki,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Efficiency" )]LogicSlotTypeEfficiency,
|
||||
#[rust_sitter::leaf(text = "DaylightSensorMode.Vertical" )]DaylightSensorModeVertical,
|
||||
#[rust_sitter::leaf(text = "LogicType.Stress" )]LogicTypeStress,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidPollutantInput2" )]LogicTypeRatioLiquidPollutantInput2,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Cartridge" )]SlotClassCartridge,
|
||||
#[rust_sitter::leaf(text = "LogicType.TrueAnomaly" )]LogicTypeTrueAnomaly,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.On" )]LogicSlotTypeOn,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidVolatilesInput2" )]LogicTypeRatioLiquidVolatilesInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.Setting" )]LogicTypeSetting,
|
||||
#[rust_sitter::leaf(text = "LogicType.PressureInput2" )]LogicTypePressureInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioNitrousOxideOutput" )]LogicTypeRatioNitrousOxideOutput,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Organ" )]SlotClassOrgan,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Plant" )]SlotClassPlant,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.ChargeRatio" )]LogicSlotTypeChargeRatio,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Occupied" )]LogicSlotTypeOccupied,
|
||||
#[rust_sitter::leaf(text = "SlotClass.DrillHead" )]SlotClassDrillHead,
|
||||
#[rust_sitter::leaf(text = "LogicType.Power" )]LogicTypePower,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioSteam" )]LogicTypeRatioSteam,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioVolatilesInput2" )]LogicTypeRatioVolatilesInput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.Channel6" )]LogicTypeChannel6,
|
||||
#[rust_sitter::leaf(text = "GasType.LiquidVolatiles" )]GasTypeLiquidVolatiles,
|
||||
#[rust_sitter::leaf(text = "LogicType.SizeZ" )]LogicTypeSizeZ,
|
||||
#[rust_sitter::leaf(text = "DaylightSensorMode.Horizontal" )]DaylightSensorModeHorizontal,
|
||||
#[rust_sitter::leaf(text = "LogicType.ForceWrite" )]LogicTypeForceWrite,
|
||||
#[rust_sitter::leaf(text = "LogicType.WorkingGasEfficiency" )]LogicTypeWorkingGasEfficiency,
|
||||
#[rust_sitter::leaf(text = "LogicType.ContactTypeId" )]LogicTypeContactTypeId,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioWaterOutput2" )]LogicTypeRatioWaterOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.CombustionOutput2" )]LogicTypeCombustionOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Pressure" )]LogicSlotTypePressure,
|
||||
#[rust_sitter::leaf(text = "LogicType.Lock" )]LogicTypeLock,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidVolatilesOutput" )]LogicTypeRatioLiquidVolatilesOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.ExhaustVelocity" )]LogicTypeExhaustVelocity,
|
||||
#[rust_sitter::leaf(text = "LogicType.TargetX" )]LogicTypeTargetX,
|
||||
#[rust_sitter::leaf(text = "LogicType.AlignmentError" )]LogicTypeAlignmentError,
|
||||
#[rust_sitter::leaf(text = "LogicType.Progress" )]LogicTypeProgress,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.ReferenceId" )]LogicSlotTypeReferenceId,
|
||||
#[rust_sitter::leaf(text = "GasType.Pollutant" )]GasTypePollutant,
|
||||
#[rust_sitter::leaf(text = "Color.Purple" )]ColorPurple,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioSteamInput" )]LogicTypeRatioSteamInput,
|
||||
#[rust_sitter::leaf(text = "RobotMode.StorageFull" )]RobotModeStorageFull,
|
||||
#[rust_sitter::leaf(text = "SortingClass.Storage" )]SortingClassStorage,
|
||||
#[rust_sitter::leaf(text = "LogicType.Charge" )]LogicTypeCharge,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.FilterType" )]LogicSlotTypeFilterType,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidPollutantInput" )]LogicTypeRatioLiquidPollutantInput,
|
||||
#[rust_sitter::leaf(text = "LogicType.ForwardX" )]LogicTypeForwardX,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidVolatilesOutput2" )]LogicTypeRatioLiquidVolatilesOutput2,
|
||||
#[rust_sitter::leaf(text = "LogicType.ImportCount" )]LogicTypeImportCount,
|
||||
#[rust_sitter::leaf(text = "SlotClass.ProgrammableChip" )]SlotClassProgrammableChip,
|
||||
#[rust_sitter::leaf(text = "LogicType.Color" )]LogicTypeColor,
|
||||
#[rust_sitter::leaf(text = "GasType.LiquidNitrogen" )]GasTypeLiquidNitrogen,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidNitrousOxideInput" )]LogicTypeRatioLiquidNitrousOxideInput,
|
||||
#[rust_sitter::leaf(text = "ElevatorMode.Stationary" )]ElevatorModeStationary,
|
||||
#[rust_sitter::leaf(text = "LogicType.PowerGeneration" )]LogicTypePowerGeneration,
|
||||
#[rust_sitter::leaf(text = "LogicType.Thrust" )]LogicTypeThrust,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioPollutantOutput" )]LogicTypeRatioPollutantOutput,
|
||||
#[rust_sitter::leaf(text = "LogicType.Horizontal" )]LogicTypeHorizontal,
|
||||
#[rust_sitter::leaf(text = "SlotClass.Back" )]SlotClassBack,
|
||||
#[rust_sitter::leaf(text = "LogicType.ManualResearchRequiredPod" )]LogicTypeManualResearchRequiredPod,
|
||||
#[rust_sitter::leaf(text = "LogicSlotType.Open" )]LogicSlotTypeOpen,
|
||||
#[rust_sitter::leaf(text = "Color.Gray" )]ColorGray,
|
||||
#[rust_sitter::leaf(text = "LogicType.RatioLiquidVolatiles" )]LogicTypeRatioLiquidVolatiles,
|
||||
}
|
||||
|
||||
@@ -1,145 +1,145 @@
|
||||
// GENERATED CODE DO NOT MODIFY
|
||||
#[derive(PartialEq, Debug, IntoStaticStr, AsRefStr)]
|
||||
pub enum InstructionOp {
|
||||
#[rust_sitter::leaf(text = "sne" )]Sne,
|
||||
#[rust_sitter::leaf(text = "bna" )]Bna,
|
||||
#[rust_sitter::leaf(text = "get" )]Get,
|
||||
#[rust_sitter::leaf(text = "lbns" )]Lbns,
|
||||
#[rust_sitter::leaf(text = "bge" )]Bge,
|
||||
#[rust_sitter::leaf(text = "peek" )]Peek,
|
||||
#[rust_sitter::leaf(text = "bne" )]Bne,
|
||||
#[rust_sitter::leaf(text = "blez" )]Blez,
|
||||
#[rust_sitter::leaf(text = "xor" )]Xor,
|
||||
#[rust_sitter::leaf(text = "bgtz" )]Bgtz,
|
||||
#[rust_sitter::leaf(text = "alias" )]Alias,
|
||||
#[rust_sitter::leaf(text = "cos" )]Cos,
|
||||
#[rust_sitter::leaf(text = "brna" )]Brna,
|
||||
#[rust_sitter::leaf(text = "round" )]Round,
|
||||
#[rust_sitter::leaf(text = "atan" )]Atan,
|
||||
#[rust_sitter::leaf(text = "poke" )]Poke,
|
||||
#[rust_sitter::leaf(text = "rand" )]Rand,
|
||||
#[rust_sitter::leaf(text = "srl" )]Srl,
|
||||
#[rust_sitter::leaf(text = "acos" )]Acos,
|
||||
#[rust_sitter::leaf(text = "sna" )]Sna,
|
||||
#[rust_sitter::leaf(text = "beqal" )]Beqal,
|
||||
#[rust_sitter::leaf(text = "brgez" )]Brgez,
|
||||
#[rust_sitter::leaf(text = "sgtz" )]Sgtz,
|
||||
#[rust_sitter::leaf(text = "blt" )]Blt,
|
||||
#[rust_sitter::leaf(text = "div" )]Div,
|
||||
#[rust_sitter::leaf(text = "brdse" )]Brdse,
|
||||
#[rust_sitter::leaf(text = "bgezal" )]Bgezal,
|
||||
#[rust_sitter::leaf(text = "max" )]Max,
|
||||
#[rust_sitter::leaf(text = "brgtz" )]Brgtz,
|
||||
#[rust_sitter::leaf(text = "push" )]Push,
|
||||
#[rust_sitter::leaf(text = "trunc" )]Trunc,
|
||||
#[rust_sitter::leaf(text = "ble" )]Ble,
|
||||
#[rust_sitter::leaf(text = "l" )]L,
|
||||
#[rust_sitter::leaf(text = "seq" )]Seq,
|
||||
#[rust_sitter::leaf(text = "sra" )]Sra,
|
||||
#[rust_sitter::leaf(text = "bdseal" )]Bdseal,
|
||||
#[rust_sitter::leaf(text = "mul" )]Mul,
|
||||
#[rust_sitter::leaf(text = "and" )]And,
|
||||
#[rust_sitter::leaf(text = "j" )]J,
|
||||
#[rust_sitter::leaf(text = "brltz" )]Brltz,
|
||||
#[rust_sitter::leaf(text = "bgeal" )]Bgeal,
|
||||
#[rust_sitter::leaf(text = "s" )]S,
|
||||
#[rust_sitter::leaf(text = "min" )]Min,
|
||||
#[rust_sitter::leaf(text = "blezal" )]Blezal,
|
||||
#[rust_sitter::leaf(text = "sle" )]Sle,
|
||||
#[rust_sitter::leaf(text = "sap" )]Sap,
|
||||
#[rust_sitter::leaf(text = "move" )]Move,
|
||||
#[rust_sitter::leaf(text = "sltz" )]Sltz,
|
||||
#[rust_sitter::leaf(text = "bltzal" )]Bltzal,
|
||||
#[rust_sitter::leaf(text = "sdns" )]Sdns,
|
||||
#[rust_sitter::leaf(text = "slez" )]Slez,
|
||||
#[rust_sitter::leaf(text = "ld" )]Ld,
|
||||
#[rust_sitter::leaf(text = "sll" )]Sll,
|
||||
#[rust_sitter::leaf(text = "ble" )]Ble,
|
||||
#[rust_sitter::leaf(text = "sb" )]Sb,
|
||||
#[rust_sitter::leaf(text = "l" )]L,
|
||||
#[rust_sitter::leaf(text = "brdse" )]Brdse,
|
||||
#[rust_sitter::leaf(text = "add" )]Add,
|
||||
#[rust_sitter::leaf(text = "seq" )]Seq,
|
||||
#[rust_sitter::leaf(text = "getd" )]Getd,
|
||||
#[rust_sitter::leaf(text = "bap" )]Bap,
|
||||
#[rust_sitter::leaf(text = "ceil" )]Ceil,
|
||||
#[rust_sitter::leaf(text = "sra" )]Sra,
|
||||
#[rust_sitter::leaf(text = "lbs" )]Lbs,
|
||||
#[rust_sitter::leaf(text = "sd" )]Sd,
|
||||
#[rust_sitter::leaf(text = "bapz" )]Bapz,
|
||||
#[rust_sitter::leaf(text = "snez" )]Snez,
|
||||
#[rust_sitter::leaf(text = "bgezal" )]Bgezal,
|
||||
#[rust_sitter::leaf(text = "log" )]Log,
|
||||
#[rust_sitter::leaf(text = "and" )]And,
|
||||
#[rust_sitter::leaf(text = "nor" )]Nor,
|
||||
#[rust_sitter::leaf(text = "bgtal" )]Bgtal,
|
||||
#[rust_sitter::leaf(text = "sleep" )]Sleep,
|
||||
#[rust_sitter::leaf(text = "beqzal" )]Beqzal,
|
||||
#[rust_sitter::leaf(text = "bnan" )]Bnan,
|
||||
#[rust_sitter::leaf(text = "put" )]Put,
|
||||
#[rust_sitter::leaf(text = "sbn" )]Sbn,
|
||||
#[rust_sitter::leaf(text = "seqz" )]Seqz,
|
||||
#[rust_sitter::leaf(text = "sapz" )]Sapz,
|
||||
#[rust_sitter::leaf(text = "blez" )]Blez,
|
||||
#[rust_sitter::leaf(text = "bnez" )]Bnez,
|
||||
#[rust_sitter::leaf(text = "jal" )]Jal,
|
||||
#[rust_sitter::leaf(text = "snan" )]Snan,
|
||||
#[rust_sitter::leaf(text = "snanz" )]Snanz,
|
||||
#[rust_sitter::leaf(text = "xor" )]Xor,
|
||||
#[rust_sitter::leaf(text = "brap" )]Brap,
|
||||
#[rust_sitter::leaf(text = "brgtz" )]Brgtz,
|
||||
#[rust_sitter::leaf(text = "bnazal" )]Bnazal,
|
||||
#[rust_sitter::leaf(text = "select" )]Select,
|
||||
#[rust_sitter::leaf(text = "bneal" )]Bneal,
|
||||
#[rust_sitter::leaf(text = "sgt" )]Sgt,
|
||||
#[rust_sitter::leaf(text = "slt" )]Slt,
|
||||
#[rust_sitter::leaf(text = "brnaz" )]Brnaz,
|
||||
#[rust_sitter::leaf(text = "bge" )]Bge,
|
||||
#[rust_sitter::leaf(text = "push" )]Push,
|
||||
#[rust_sitter::leaf(text = "ss" )]Ss,
|
||||
#[rust_sitter::leaf(text = "abs" )]Abs,
|
||||
#[rust_sitter::leaf(text = "atan" )]Atan,
|
||||
#[rust_sitter::leaf(text = "asin" )]Asin,
|
||||
#[rust_sitter::leaf(text = "beq" )]Beq,
|
||||
#[rust_sitter::leaf(text = "beqz" )]Beqz,
|
||||
#[rust_sitter::leaf(text = "brlez" )]Brlez,
|
||||
#[rust_sitter::leaf(text = "hcf" )]Hcf,
|
||||
#[rust_sitter::leaf(text = "sgez" )]Sgez,
|
||||
#[rust_sitter::leaf(text = "bne" )]Bne,
|
||||
#[rust_sitter::leaf(text = "atan2" )]Atan2,
|
||||
#[rust_sitter::leaf(text = "bltal" )]Bltal,
|
||||
#[rust_sitter::leaf(text = "bnaal" )]Bnaal,
|
||||
#[rust_sitter::leaf(text = "cos" )]Cos,
|
||||
#[rust_sitter::leaf(text = "lbn" )]Lbn,
|
||||
#[rust_sitter::leaf(text = "brapz" )]Brapz,
|
||||
#[rust_sitter::leaf(text = "bnaz" )]Bnaz,
|
||||
#[rust_sitter::leaf(text = "brltz" )]Brltz,
|
||||
#[rust_sitter::leaf(text = "pop" )]Pop,
|
||||
#[rust_sitter::leaf(text = "bdnsal" )]Bdnsal,
|
||||
#[rust_sitter::leaf(text = "brlt" )]Brlt,
|
||||
#[rust_sitter::leaf(text = "sla" )]Sla,
|
||||
#[rust_sitter::leaf(text = "sdse" )]Sdse,
|
||||
#[rust_sitter::leaf(text = "brgt" )]Brgt,
|
||||
#[rust_sitter::leaf(text = "bgtz" )]Bgtz,
|
||||
#[rust_sitter::leaf(text = "bnezal" )]Bnezal,
|
||||
#[rust_sitter::leaf(text = "breq" )]Breq,
|
||||
#[rust_sitter::leaf(text = "lr" )]Lr,
|
||||
#[rust_sitter::leaf(text = "snaz" )]Snaz,
|
||||
#[rust_sitter::leaf(text = "bdseal" )]Bdseal,
|
||||
#[rust_sitter::leaf(text = "alias" )]Alias,
|
||||
#[rust_sitter::leaf(text = "bleal" )]Bleal,
|
||||
#[rust_sitter::leaf(text = "floor" )]Floor,
|
||||
#[rust_sitter::leaf(text = "round" )]Round,
|
||||
#[rust_sitter::leaf(text = "exp" )]Exp,
|
||||
#[rust_sitter::leaf(text = "brna" )]Brna,
|
||||
#[rust_sitter::leaf(text = "trunc" )]Trunc,
|
||||
#[rust_sitter::leaf(text = "ls" )]Ls,
|
||||
#[rust_sitter::leaf(text = "putd" )]Putd,
|
||||
#[rust_sitter::leaf(text = "brnan" )]Brnan,
|
||||
#[rust_sitter::leaf(text = "bgeal" )]Bgeal,
|
||||
#[rust_sitter::leaf(text = "sin" )]Sin,
|
||||
#[rust_sitter::leaf(text = "bapal" )]Bapal,
|
||||
#[rust_sitter::leaf(text = "sqrt" )]Sqrt,
|
||||
#[rust_sitter::leaf(text = "sub" )]Sub,
|
||||
#[rust_sitter::leaf(text = "brne" )]Brne,
|
||||
#[rust_sitter::leaf(text = "define" )]Define,
|
||||
#[rust_sitter::leaf(text = "max" )]Max,
|
||||
#[rust_sitter::leaf(text = "label" )]Label,
|
||||
#[rust_sitter::leaf(text = "mul" )]Mul,
|
||||
#[rust_sitter::leaf(text = "brge" )]Brge,
|
||||
#[rust_sitter::leaf(text = "min" )]Min,
|
||||
#[rust_sitter::leaf(text = "brdns" )]Brdns,
|
||||
#[rust_sitter::leaf(text = "mod" )]Mod,
|
||||
#[rust_sitter::leaf(text = "j" )]J,
|
||||
#[rust_sitter::leaf(text = "or" )]Or,
|
||||
#[rust_sitter::leaf(text = "bdns" )]Bdns,
|
||||
#[rust_sitter::leaf(text = "breqz" )]Breqz,
|
||||
#[rust_sitter::leaf(text = "brle" )]Brle,
|
||||
#[rust_sitter::leaf(text = "sbs" )]Sbs,
|
||||
#[rust_sitter::leaf(text = "jr" )]Jr,
|
||||
#[rust_sitter::leaf(text = "blezal" )]Blezal,
|
||||
#[rust_sitter::leaf(text = "bapzal" )]Bapzal,
|
||||
#[rust_sitter::leaf(text = "s" )]S,
|
||||
#[rust_sitter::leaf(text = "sge" )]Sge,
|
||||
#[rust_sitter::leaf(text = "bgtzal" )]Bgtzal,
|
||||
#[rust_sitter::leaf(text = "lb" )]Lb,
|
||||
#[rust_sitter::leaf(text = "peek" )]Peek,
|
||||
#[rust_sitter::leaf(text = "brnez" )]Brnez,
|
||||
#[rust_sitter::leaf(text = "bgez" )]Bgez,
|
||||
#[rust_sitter::leaf(text = "not" )]Not,
|
||||
#[rust_sitter::leaf(text = "yield" )]Yield,
|
||||
#[rust_sitter::leaf(text = "bnezal" )]Bnezal,
|
||||
#[rust_sitter::leaf(text = "get" )]Get,
|
||||
#[rust_sitter::leaf(text = "bdse" )]Bdse,
|
||||
#[rust_sitter::leaf(text = "bgt" )]Bgt,
|
||||
#[rust_sitter::leaf(text = "sll" )]Sll,
|
||||
#[rust_sitter::leaf(text = "snaz" )]Snaz,
|
||||
#[rust_sitter::leaf(text = "slez" )]Slez,
|
||||
#[rust_sitter::leaf(text = "bnan" )]Bnan,
|
||||
#[rust_sitter::leaf(text = "sbn" )]Sbn,
|
||||
#[rust_sitter::leaf(text = "tan" )]Tan,
|
||||
#[rust_sitter::leaf(text = "yield" )]Yield,
|
||||
#[rust_sitter::leaf(text = "brnan" )]Brnan,
|
||||
#[rust_sitter::leaf(text = "bneal" )]Bneal,
|
||||
#[rust_sitter::leaf(text = "blt" )]Blt,
|
||||
#[rust_sitter::leaf(text = "brgez" )]Brgez,
|
||||
#[rust_sitter::leaf(text = "exp" )]Exp,
|
||||
#[rust_sitter::leaf(text = "ceil" )]Ceil,
|
||||
#[rust_sitter::leaf(text = "sne" )]Sne,
|
||||
#[rust_sitter::leaf(text = "brnaz" )]Brnaz,
|
||||
#[rust_sitter::leaf(text = "sdns" )]Sdns,
|
||||
#[rust_sitter::leaf(text = "beq" )]Beq,
|
||||
#[rust_sitter::leaf(text = "brge" )]Brge,
|
||||
#[rust_sitter::leaf(text = "floor" )]Floor,
|
||||
#[rust_sitter::leaf(text = "bnez" )]Bnez,
|
||||
#[rust_sitter::leaf(text = "beqzal" )]Beqzal,
|
||||
#[rust_sitter::leaf(text = "brlt" )]Brlt,
|
||||
#[rust_sitter::leaf(text = "ls" )]Ls,
|
||||
#[rust_sitter::leaf(text = "bgtal" )]Bgtal,
|
||||
#[rust_sitter::leaf(text = "bltzal" )]Bltzal,
|
||||
#[rust_sitter::leaf(text = "bnaz" )]Bnaz,
|
||||
#[rust_sitter::leaf(text = "seqz" )]Seqz,
|
||||
#[rust_sitter::leaf(text = "beqal" )]Beqal,
|
||||
#[rust_sitter::leaf(text = "breq" )]Breq,
|
||||
#[rust_sitter::leaf(text = "sla" )]Sla,
|
||||
#[rust_sitter::leaf(text = "log" )]Log,
|
||||
#[rust_sitter::leaf(text = "bapzal" )]Bapzal,
|
||||
#[rust_sitter::leaf(text = "bgtzal" )]Bgtzal,
|
||||
#[rust_sitter::leaf(text = "bleal" )]Bleal,
|
||||
#[rust_sitter::leaf(text = "jr" )]Jr,
|
||||
#[rust_sitter::leaf(text = "lbn" )]Lbn,
|
||||
#[rust_sitter::leaf(text = "ld" )]Ld,
|
||||
#[rust_sitter::leaf(text = "move" )]Move,
|
||||
#[rust_sitter::leaf(text = "sdse" )]Sdse,
|
||||
#[rust_sitter::leaf(text = "slt" )]Slt,
|
||||
#[rust_sitter::leaf(text = "sltz" )]Sltz,
|
||||
#[rust_sitter::leaf(text = "srl" )]Srl,
|
||||
#[rust_sitter::leaf(text = "bdns" )]Bdns,
|
||||
#[rust_sitter::leaf(text = "lbns" )]Lbns,
|
||||
#[rust_sitter::leaf(text = "lr" )]Lr,
|
||||
#[rust_sitter::leaf(text = "rand" )]Rand,
|
||||
#[rust_sitter::leaf(text = "bltal" )]Bltal,
|
||||
#[rust_sitter::leaf(text = "brlez" )]Brlez,
|
||||
#[rust_sitter::leaf(text = "bgez" )]Bgez,
|
||||
#[rust_sitter::leaf(text = "nor" )]Nor,
|
||||
#[rust_sitter::leaf(text = "label" )]Label,
|
||||
#[rust_sitter::leaf(text = "putd" )]Putd,
|
||||
#[rust_sitter::leaf(text = "sgt" )]Sgt,
|
||||
#[rust_sitter::leaf(text = "snan" )]Snan,
|
||||
#[rust_sitter::leaf(text = "or" )]Or,
|
||||
#[rust_sitter::leaf(text = "sge" )]Sge,
|
||||
#[rust_sitter::leaf(text = "lb" )]Lb,
|
||||
#[rust_sitter::leaf(text = "brgt" )]Brgt,
|
||||
#[rust_sitter::leaf(text = "sbs" )]Sbs,
|
||||
#[rust_sitter::leaf(text = "bapz" )]Bapz,
|
||||
#[rust_sitter::leaf(text = "pop" )]Pop,
|
||||
#[rust_sitter::leaf(text = "bgt" )]Bgt,
|
||||
#[rust_sitter::leaf(text = "brnez" )]Brnez,
|
||||
#[rust_sitter::leaf(text = "put" )]Put,
|
||||
#[rust_sitter::leaf(text = "beqz" )]Beqz,
|
||||
#[rust_sitter::leaf(text = "brle" )]Brle,
|
||||
#[rust_sitter::leaf(text = "brapz" )]Brapz,
|
||||
#[rust_sitter::leaf(text = "not" )]Not,
|
||||
#[rust_sitter::leaf(text = "hcf" )]Hcf,
|
||||
#[rust_sitter::leaf(text = "sb" )]Sb,
|
||||
#[rust_sitter::leaf(text = "define" )]Define,
|
||||
#[rust_sitter::leaf(text = "sd" )]Sd,
|
||||
#[rust_sitter::leaf(text = "bltz" )]Bltz,
|
||||
#[rust_sitter::leaf(text = "acos" )]Acos,
|
||||
#[rust_sitter::leaf(text = "bap" )]Bap,
|
||||
#[rust_sitter::leaf(text = "jal" )]Jal,
|
||||
#[rust_sitter::leaf(text = "sgez" )]Sgez,
|
||||
#[rust_sitter::leaf(text = "bdnsal" )]Bdnsal,
|
||||
#[rust_sitter::leaf(text = "brne" )]Brne,
|
||||
#[rust_sitter::leaf(text = "mod" )]Mod,
|
||||
#[rust_sitter::leaf(text = "brdns" )]Brdns,
|
||||
#[rust_sitter::leaf(text = "sleep" )]Sleep,
|
||||
#[rust_sitter::leaf(text = "asin" )]Asin,
|
||||
#[rust_sitter::leaf(text = "bapal" )]Bapal,
|
||||
#[rust_sitter::leaf(text = "abs" )]Abs,
|
||||
#[rust_sitter::leaf(text = "bnazal" )]Bnazal,
|
||||
#[rust_sitter::leaf(text = "getd" )]Getd,
|
||||
#[rust_sitter::leaf(text = "snanz" )]Snanz,
|
||||
#[rust_sitter::leaf(text = "atan2" )]Atan2,
|
||||
#[rust_sitter::leaf(text = "sub" )]Sub,
|
||||
#[rust_sitter::leaf(text = "sqrt" )]Sqrt,
|
||||
#[rust_sitter::leaf(text = "add" )]Add,
|
||||
#[rust_sitter::leaf(text = "brap" )]Brap,
|
||||
#[rust_sitter::leaf(text = "select" )]Select,
|
||||
#[rust_sitter::leaf(text = "lbs" )]Lbs,
|
||||
#[rust_sitter::leaf(text = "sna" )]Sna,
|
||||
#[rust_sitter::leaf(text = "bna" )]Bna,
|
||||
#[rust_sitter::leaf(text = "sgtz" )]Sgtz,
|
||||
#[rust_sitter::leaf(text = "sin" )]Sin,
|
||||
#[rust_sitter::leaf(text = "bnaal" )]Bnaal,
|
||||
#[rust_sitter::leaf(text = "div" )]Div,
|
||||
#[rust_sitter::leaf(text = "ss" )]Ss,
|
||||
#[rust_sitter::leaf(text = "sapz" )]Sapz,
|
||||
#[rust_sitter::leaf(text = "snez" )]Snez,
|
||||
}
|
||||
|
||||
@@ -1,284 +1,284 @@
|
||||
// GENERATED CODE DO NOT MODIFY
|
||||
#[derive(PartialEq, Debug, IntoStaticStr, AsRefStr)]
|
||||
pub enum LogicType {
|
||||
#[rust_sitter::leaf(text = "TotalMolesOutput2" )]TotalMolesOutput2,
|
||||
#[rust_sitter::leaf(text = "Apex" )]Apex,
|
||||
#[rust_sitter::leaf(text = "PositionY" )]PositionY,
|
||||
#[rust_sitter::leaf(text = "DryMass" )]DryMass,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidPollutantOutput2" )]RatioLiquidPollutantOutput2,
|
||||
#[rust_sitter::leaf(text = "PlantEfficiency2" )]PlantEfficiency2,
|
||||
#[rust_sitter::leaf(text = "TargetPadIndex" )]TargetPadIndex,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidOxygenInput" )]RatioLiquidOxygenInput,
|
||||
#[rust_sitter::leaf(text = "Open" )]Open,
|
||||
#[rust_sitter::leaf(text = "MinimumWattsToContact" )]MinimumWattsToContact,
|
||||
#[rust_sitter::leaf(text = "ClearMemory" )]ClearMemory,
|
||||
#[rust_sitter::leaf(text = "RatioNitrousOxideInput2" )]RatioNitrousOxideInput2,
|
||||
#[rust_sitter::leaf(text = "TemperatureSetting" )]TemperatureSetting,
|
||||
#[rust_sitter::leaf(text = "TemperatureOutput" )]TemperatureOutput,
|
||||
#[rust_sitter::leaf(text = "Combustion" )]Combustion,
|
||||
#[rust_sitter::leaf(text = "AutoLand" )]AutoLand,
|
||||
#[rust_sitter::leaf(text = "ForceWrite" )]ForceWrite,
|
||||
#[rust_sitter::leaf(text = "On" )]On,
|
||||
#[rust_sitter::leaf(text = "RatioSteam" )]RatioSteam,
|
||||
#[rust_sitter::leaf(text = "ThrustToWeight" )]ThrustToWeight,
|
||||
#[rust_sitter::leaf(text = "Contents" )]Contents,
|
||||
#[rust_sitter::leaf(text = "ImportSlotHash" )]ImportSlotHash,
|
||||
#[rust_sitter::leaf(text = "PressureOutput" )]PressureOutput,
|
||||
#[rust_sitter::leaf(text = "TrueAnomaly" )]TrueAnomaly,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidVolatilesOutput2" )]RatioLiquidVolatilesOutput2,
|
||||
#[rust_sitter::leaf(text = "Bpm" )]Bpm,
|
||||
#[rust_sitter::leaf(text = "TotalMoles" )]TotalMoles,
|
||||
#[rust_sitter::leaf(text = "PlantHealth2" )]PlantHealth2,
|
||||
#[rust_sitter::leaf(text = "Inclination" )]Inclination,
|
||||
#[rust_sitter::leaf(text = "ExhaustVelocity" )]ExhaustVelocity,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrogenInput2" )]RatioLiquidNitrogenInput2,
|
||||
#[rust_sitter::leaf(text = "ElevatorSpeed" )]ElevatorSpeed,
|
||||
#[rust_sitter::leaf(text = "RatioPollutantInput" )]RatioPollutantInput,
|
||||
#[rust_sitter::leaf(text = "SettingOutput" )]SettingOutput,
|
||||
#[rust_sitter::leaf(text = "VelocityZ" )]VelocityZ,
|
||||
#[rust_sitter::leaf(text = "PressureInternal" )]PressureInternal,
|
||||
#[rust_sitter::leaf(text = "SignalStrength" )]SignalStrength,
|
||||
#[rust_sitter::leaf(text = "Progress" )]Progress,
|
||||
#[rust_sitter::leaf(text = "Vertical" )]Vertical,
|
||||
#[rust_sitter::leaf(text = "RatioOxygenOutput" )]RatioOxygenOutput,
|
||||
#[rust_sitter::leaf(text = "CelestialHash" )]CelestialHash,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrogenInput" )]RatioLiquidNitrogenInput,
|
||||
#[rust_sitter::leaf(text = "RatioCarbonDioxideOutput2" )]RatioCarbonDioxideOutput2,
|
||||
#[rust_sitter::leaf(text = "PlantHealth4" )]PlantHealth4,
|
||||
#[rust_sitter::leaf(text = "SizeX" )]SizeX,
|
||||
#[rust_sitter::leaf(text = "Stress" )]Stress,
|
||||
#[rust_sitter::leaf(text = "Quantity" )]Quantity,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidPollutantOutput" )]RatioLiquidPollutantOutput,
|
||||
#[rust_sitter::leaf(text = "RatioWaterOutput" )]RatioWaterOutput,
|
||||
#[rust_sitter::leaf(text = "Mass" )]Mass,
|
||||
#[rust_sitter::leaf(text = "Thrust" )]Thrust,
|
||||
#[rust_sitter::leaf(text = "PositionZ" )]PositionZ,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrousOxideOutput" )]RatioLiquidNitrousOxideOutput,
|
||||
#[rust_sitter::leaf(text = "SolarIrradiance" )]SolarIrradiance,
|
||||
#[rust_sitter::leaf(text = "Temperature" )]Temperature,
|
||||
#[rust_sitter::leaf(text = "ChargeRatio" )]ChargeRatio,
|
||||
#[rust_sitter::leaf(text = "RatioNitrogenInput" )]RatioNitrogenInput,
|
||||
#[rust_sitter::leaf(text = "HorizontalRatio" )]HorizontalRatio,
|
||||
#[rust_sitter::leaf(text = "PressureEfficiency" )]PressureEfficiency,
|
||||
#[rust_sitter::leaf(text = "SettingInput" )]SettingInput,
|
||||
#[rust_sitter::leaf(text = "TotalMolesInput2" )]TotalMolesInput2,
|
||||
#[rust_sitter::leaf(text = "RatioCarbonDioxideInput2" )]RatioCarbonDioxideInput2,
|
||||
#[rust_sitter::leaf(text = "PrefabHash" )]PrefabHash,
|
||||
#[rust_sitter::leaf(text = "PlantHealth1" )]PlantHealth1,
|
||||
#[rust_sitter::leaf(text = "RequiredPower" )]RequiredPower,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrousOxide" )]RatioLiquidNitrousOxide,
|
||||
#[rust_sitter::leaf(text = "PassedMoles" )]PassedMoles,
|
||||
#[rust_sitter::leaf(text = "PlantGrowth2" )]PlantGrowth2,
|
||||
#[rust_sitter::leaf(text = "RatioWaterOutput2" )]RatioWaterOutput2,
|
||||
#[rust_sitter::leaf(text = "Rpm" )]Rpm,
|
||||
#[rust_sitter::leaf(text = "FilterType" )]FilterType,
|
||||
#[rust_sitter::leaf(text = "Occupied" )]Occupied,
|
||||
#[rust_sitter::leaf(text = "PressureExternal" )]PressureExternal,
|
||||
#[rust_sitter::leaf(text = "PowerPotential" )]PowerPotential,
|
||||
#[rust_sitter::leaf(text = "PowerGeneration" )]PowerGeneration,
|
||||
#[rust_sitter::leaf(text = "RatioPollutantInput2" )]RatioPollutantInput2,
|
||||
#[rust_sitter::leaf(text = "ManualResearchRequiredPod" )]ManualResearchRequiredPod,
|
||||
#[rust_sitter::leaf(text = "Efficiency" )]Efficiency,
|
||||
#[rust_sitter::leaf(text = "ReferenceId" )]ReferenceId,
|
||||
#[rust_sitter::leaf(text = "VelocityRelativeX" )]VelocityRelativeX,
|
||||
#[rust_sitter::leaf(text = "WattsReachingContact" )]WattsReachingContact,
|
||||
#[rust_sitter::leaf(text = "Channel2" )]Channel2,
|
||||
#[rust_sitter::leaf(text = "RatioNitrogenOutput" )]RatioNitrogenOutput,
|
||||
#[rust_sitter::leaf(text = "PressureInput" )]PressureInput,
|
||||
#[rust_sitter::leaf(text = "RatioNitrousOxideOutput" )]RatioNitrousOxideOutput,
|
||||
#[rust_sitter::leaf(text = "ReEntryAltitude" )]ReEntryAltitude,
|
||||
#[rust_sitter::leaf(text = "TemperatureOutput2" )]TemperatureOutput2,
|
||||
#[rust_sitter::leaf(text = "CelestialParentHash" )]CelestialParentHash,
|
||||
#[rust_sitter::leaf(text = "Plant" )]Plant,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidPollutantInput" )]RatioLiquidPollutantInput,
|
||||
#[rust_sitter::leaf(text = "Fuel" )]Fuel,
|
||||
#[rust_sitter::leaf(text = "DestinationCode" )]DestinationCode,
|
||||
#[rust_sitter::leaf(text = "RatioNitrogenOutput2" )]RatioNitrogenOutput2,
|
||||
#[rust_sitter::leaf(text = "SoundAlert" )]SoundAlert,
|
||||
#[rust_sitter::leaf(text = "RatioOxygenInput2" )]RatioOxygenInput2,
|
||||
#[rust_sitter::leaf(text = "Activate" )]Activate,
|
||||
#[rust_sitter::leaf(text = "MineablesInVicinity" )]MineablesInVicinity,
|
||||
#[rust_sitter::leaf(text = "ImportCount" )]ImportCount,
|
||||
#[rust_sitter::leaf(text = "PlantHash4" )]PlantHash4,
|
||||
#[rust_sitter::leaf(text = "RatioNitrousOxide" )]RatioNitrousOxide,
|
||||
#[rust_sitter::leaf(text = "SettingOutputHash" )]SettingOutputHash,
|
||||
#[rust_sitter::leaf(text = "CombustionLimiter" )]CombustionLimiter,
|
||||
#[rust_sitter::leaf(text = "DistanceAu" )]DistanceAu,
|
||||
#[rust_sitter::leaf(text = "RatioVolatilesOutput2" )]RatioVolatilesOutput2,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrogenOutput" )]RatioLiquidNitrogenOutput,
|
||||
#[rust_sitter::leaf(text = "SettingInputHash" )]SettingInputHash,
|
||||
#[rust_sitter::leaf(text = "CombustionOutput2" )]CombustionOutput2,
|
||||
#[rust_sitter::leaf(text = "Idle" )]Idle,
|
||||
#[rust_sitter::leaf(text = "ForwardY" )]ForwardY,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidVolatilesInput2" )]RatioLiquidVolatilesInput2,
|
||||
#[rust_sitter::leaf(text = "RatioWater" )]RatioWater,
|
||||
#[rust_sitter::leaf(text = "PressureInput2" )]PressureInput2,
|
||||
#[rust_sitter::leaf(text = "Class" )]Class,
|
||||
#[rust_sitter::leaf(text = "Growth" )]Growth,
|
||||
#[rust_sitter::leaf(text = "PlantGrowth1" )]PlantGrowth1,
|
||||
#[rust_sitter::leaf(text = "PlantHash3" )]PlantHash3,
|
||||
#[rust_sitter::leaf(text = "RecipeHash" )]RecipeHash,
|
||||
#[rust_sitter::leaf(text = "FlightControlRule" )]FlightControlRule,
|
||||
#[rust_sitter::leaf(text = "SolarConstant" )]SolarConstant,
|
||||
#[rust_sitter::leaf(text = "RatioOxygenInput" )]RatioOxygenInput,
|
||||
#[rust_sitter::leaf(text = "AirRelease" )]AirRelease,
|
||||
#[rust_sitter::leaf(text = "PlantGrowth4" )]PlantGrowth4,
|
||||
#[rust_sitter::leaf(text = "Channel7" )]Channel7,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidPollutantInput2" )]RatioLiquidPollutantInput2,
|
||||
#[rust_sitter::leaf(text = "RatioNitrousOxideInput" )]RatioNitrousOxideInput,
|
||||
#[rust_sitter::leaf(text = "NextWeatherEventTime" )]NextWeatherEventTime,
|
||||
#[rust_sitter::leaf(text = "RatioNitrogen" )]RatioNitrogen,
|
||||
#[rust_sitter::leaf(text = "TargetX" )]TargetX,
|
||||
#[rust_sitter::leaf(text = "RatioPollutantOutput2" )]RatioPollutantOutput2,
|
||||
#[rust_sitter::leaf(text = "RatioVolatilesInput" )]RatioVolatilesInput,
|
||||
#[rust_sitter::leaf(text = "TemperatureInput" )]TemperatureInput,
|
||||
#[rust_sitter::leaf(text = "VelocityRelativeY" )]VelocityRelativeY,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidCarbonDioxideOutput2" )]RatioLiquidCarbonDioxideOutput2,
|
||||
#[rust_sitter::leaf(text = "WattsReachingContact" )]WattsReachingContact,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrousOxide" )]RatioLiquidNitrousOxide,
|
||||
#[rust_sitter::leaf(text = "PressureEfficiency" )]PressureEfficiency,
|
||||
#[rust_sitter::leaf(text = "Channel0" )]Channel0,
|
||||
#[rust_sitter::leaf(text = "TemperatureExternal" )]TemperatureExternal,
|
||||
#[rust_sitter::leaf(text = "TimeToDestination" )]TimeToDestination,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidCarbonDioxideInput2" )]RatioLiquidCarbonDioxideInput2,
|
||||
#[rust_sitter::leaf(text = "Output" )]Output,
|
||||
#[rust_sitter::leaf(text = "Channel6" )]Channel6,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrousOxideOutput2" )]RatioLiquidNitrousOxideOutput2,
|
||||
#[rust_sitter::leaf(text = "RatioWaterInput" )]RatioWaterInput,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrogenOutput2" )]RatioLiquidNitrogenOutput2,
|
||||
#[rust_sitter::leaf(text = "ForwardX" )]ForwardX,
|
||||
#[rust_sitter::leaf(text = "RatioNitrousOxideOutput2" )]RatioNitrousOxideOutput2,
|
||||
#[rust_sitter::leaf(text = "ExportSlotHash" )]ExportSlotHash,
|
||||
#[rust_sitter::leaf(text = "RatioOxygenOutput2" )]RatioOxygenOutput2,
|
||||
#[rust_sitter::leaf(text = "RatioSteamInput2" )]RatioSteamInput2,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrousOxideInput2" )]RatioLiquidNitrousOxideInput2,
|
||||
#[rust_sitter::leaf(text = "Channel1" )]Channel1,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidOxygenInput2" )]RatioLiquidOxygenInput2,
|
||||
#[rust_sitter::leaf(text = "TotalMolesOutput" )]TotalMolesOutput,
|
||||
#[rust_sitter::leaf(text = "Mode" )]Mode,
|
||||
#[rust_sitter::leaf(text = "OrbitPeriod" )]OrbitPeriod,
|
||||
#[rust_sitter::leaf(text = "PowerRequired" )]PowerRequired,
|
||||
#[rust_sitter::leaf(text = "InterrogationProgress" )]InterrogationProgress,
|
||||
#[rust_sitter::leaf(text = "RatioPollutant" )]RatioPollutant,
|
||||
#[rust_sitter::leaf(text = "RatioVolatilesOutput" )]RatioVolatilesOutput,
|
||||
#[rust_sitter::leaf(text = "Volume" )]Volume,
|
||||
#[rust_sitter::leaf(text = "Harvest" )]Harvest,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidCarbonDioxideOutput2" )]RatioLiquidCarbonDioxideOutput2,
|
||||
#[rust_sitter::leaf(text = "RatioPollutantOutput" )]RatioPollutantOutput,
|
||||
#[rust_sitter::leaf(text = "TargetZ" )]TargetZ,
|
||||
#[rust_sitter::leaf(text = "Charge" )]Charge,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidPollutant" )]RatioLiquidPollutant,
|
||||
#[rust_sitter::leaf(text = "PressureWaste" )]PressureWaste,
|
||||
#[rust_sitter::leaf(text = "Flush" )]Flush,
|
||||
#[rust_sitter::leaf(text = "ImportQuantity" )]ImportQuantity,
|
||||
#[rust_sitter::leaf(text = "VelocityX" )]VelocityX,
|
||||
#[rust_sitter::leaf(text = "Channel" )]Channel,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidOxygen" )]RatioLiquidOxygen,
|
||||
#[rust_sitter::leaf(text = "TotalMolesInput" )]TotalMolesInput,
|
||||
#[rust_sitter::leaf(text = "WorkingGasEfficiency" )]WorkingGasEfficiency,
|
||||
#[rust_sitter::leaf(text = "ContactTypeId" )]ContactTypeId,
|
||||
#[rust_sitter::leaf(text = "Horizontal" )]Horizontal,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidCarbonDioxide" )]RatioLiquidCarbonDioxide,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidVolatilesInput" )]RatioLiquidVolatilesInput,
|
||||
#[rust_sitter::leaf(text = "PositionX" )]PositionX,
|
||||
#[rust_sitter::leaf(text = "CurrentResearchPodType" )]CurrentResearchPodType,
|
||||
#[rust_sitter::leaf(text = "Orientation" )]Orientation,
|
||||
#[rust_sitter::leaf(text = "OverShootTarget" )]OverShootTarget,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidOxygenOutput" )]RatioLiquidOxygenOutput,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidVolatiles" )]RatioLiquidVolatiles,
|
||||
#[rust_sitter::leaf(text = "CombustionOutput" )]CombustionOutput,
|
||||
#[rust_sitter::leaf(text = "Bypass" )]Bypass,
|
||||
#[rust_sitter::leaf(text = "PlantEfficiency4" )]PlantEfficiency4,
|
||||
#[rust_sitter::leaf(text = "SizeY" )]SizeY,
|
||||
#[rust_sitter::leaf(text = "SolarAngle" )]SolarAngle,
|
||||
#[rust_sitter::leaf(text = "Setting" )]Setting,
|
||||
#[rust_sitter::leaf(text = "Unknown" )]Unknown,
|
||||
#[rust_sitter::leaf(text = "RatioWaterInput2" )]RatioWaterInput2,
|
||||
#[rust_sitter::leaf(text = "VelocityY" )]VelocityY,
|
||||
#[rust_sitter::leaf(text = "PlantEfficiency3" )]PlantEfficiency3,
|
||||
#[rust_sitter::leaf(text = "TemperatureInput2" )]TemperatureInput2,
|
||||
#[rust_sitter::leaf(text = "Index" )]Index,
|
||||
#[rust_sitter::leaf(text = "OccupantHash" )]OccupantHash,
|
||||
#[rust_sitter::leaf(text = "ImportSlotOccupant" )]ImportSlotOccupant,
|
||||
#[rust_sitter::leaf(text = "Sum" )]Sum,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrousOxideInput" )]RatioLiquidNitrousOxideInput,
|
||||
#[rust_sitter::leaf(text = "MineablesInQueue" )]MineablesInQueue,
|
||||
#[rust_sitter::leaf(text = "None" )]None,
|
||||
#[rust_sitter::leaf(text = "Lock" )]Lock,
|
||||
#[rust_sitter::leaf(text = "Mature" )]Mature,
|
||||
#[rust_sitter::leaf(text = "RatioSteamOutput2" )]RatioSteamOutput2,
|
||||
#[rust_sitter::leaf(text = "Pressure" )]Pressure,
|
||||
#[rust_sitter::leaf(text = "AutoShutOff" )]AutoShutOff,
|
||||
#[rust_sitter::leaf(text = "PressureSetting" )]PressureSetting,
|
||||
#[rust_sitter::leaf(text = "Seeding" )]Seeding,
|
||||
#[rust_sitter::leaf(text = "Channel5" )]Channel5,
|
||||
#[rust_sitter::leaf(text = "Channel3" )]Channel3,
|
||||
#[rust_sitter::leaf(text = "Power" )]Power,
|
||||
#[rust_sitter::leaf(text = "DistanceKm" )]DistanceKm,
|
||||
#[rust_sitter::leaf(text = "PressureAir" )]PressureAir,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidOxygenOutput2" )]RatioLiquidOxygenOutput2,
|
||||
#[rust_sitter::leaf(text = "SortingClass" )]SortingClass,
|
||||
#[rust_sitter::leaf(text = "SemiMajorAxis" )]SemiMajorAxis,
|
||||
#[rust_sitter::leaf(text = "Average" )]Average,
|
||||
#[rust_sitter::leaf(text = "BurnTimeRemaining" )]BurnTimeRemaining,
|
||||
#[rust_sitter::leaf(text = "RequestHash" )]RequestHash,
|
||||
#[rust_sitter::leaf(text = "MinWattsToContact" )]MinWattsToContact,
|
||||
#[rust_sitter::leaf(text = "TargetY" )]TargetY,
|
||||
#[rust_sitter::leaf(text = "PlantHash1" )]PlantHash1,
|
||||
#[rust_sitter::leaf(text = "Required" )]Required,
|
||||
#[rust_sitter::leaf(text = "RatioOxygen" )]RatioOxygen,
|
||||
#[rust_sitter::leaf(text = "VolumeOfLiquid" )]VolumeOfLiquid,
|
||||
#[rust_sitter::leaf(text = "RatioVolatiles" )]RatioVolatiles,
|
||||
#[rust_sitter::leaf(text = "MaxQuantity" )]MaxQuantity,
|
||||
#[rust_sitter::leaf(text = "Time" )]Time,
|
||||
#[rust_sitter::leaf(text = "RatioSteamOutput" )]RatioSteamOutput,
|
||||
#[rust_sitter::leaf(text = "PowerActual" )]PowerActual,
|
||||
#[rust_sitter::leaf(text = "CompletionRatio" )]CompletionRatio,
|
||||
#[rust_sitter::leaf(text = "ReturnFuelCost" )]ReturnFuelCost,
|
||||
#[rust_sitter::leaf(text = "SignalID" )]SignalId,
|
||||
#[rust_sitter::leaf(text = "Minimum" )]Minimum,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidVolatilesOutput" )]RatioLiquidVolatilesOutput,
|
||||
#[rust_sitter::leaf(text = "Error" )]Error,
|
||||
#[rust_sitter::leaf(text = "PlantHash2" )]PlantHash2,
|
||||
#[rust_sitter::leaf(text = "PlantHealth3" )]PlantHealth3,
|
||||
#[rust_sitter::leaf(text = "VelocityRelativeY" )]VelocityRelativeY,
|
||||
#[rust_sitter::leaf(text = "Channel4" )]Channel4,
|
||||
#[rust_sitter::leaf(text = "Maximum" )]Maximum,
|
||||
#[rust_sitter::leaf(text = "EnvironmentEfficiency" )]EnvironmentEfficiency,
|
||||
#[rust_sitter::leaf(text = "RatioCarbonDioxideOutput" )]RatioCarbonDioxideOutput,
|
||||
#[rust_sitter::leaf(text = "RatioCarbonDioxideInput" )]RatioCarbonDioxideInput,
|
||||
#[rust_sitter::leaf(text = "TemperatureDifferentialEfficiency" )]TemperatureDifferentialEfficiency,
|
||||
#[rust_sitter::leaf(text = "VelocityMagnitude" )]VelocityMagnitude,
|
||||
#[rust_sitter::leaf(text = "Color" )]Color,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidCarbonDioxideOutput" )]RatioLiquidCarbonDioxideOutput,
|
||||
#[rust_sitter::leaf(text = "PlantGrowth3" )]PlantGrowth3,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrogen" )]RatioLiquidNitrogen,
|
||||
#[rust_sitter::leaf(text = "Weight" )]Weight,
|
||||
#[rust_sitter::leaf(text = "ExportQuantity" )]ExportQuantity,
|
||||
#[rust_sitter::leaf(text = "Recipe" )]Recipe,
|
||||
#[rust_sitter::leaf(text = "CombustionInput" )]CombustionInput,
|
||||
#[rust_sitter::leaf(text = "LineNumber" )]LineNumber,
|
||||
#[rust_sitter::leaf(text = "CombustionInput2" )]CombustionInput2,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidCarbonDioxideInput" )]RatioLiquidCarbonDioxideInput,
|
||||
#[rust_sitter::leaf(text = "Pressure" )]Pressure,
|
||||
#[rust_sitter::leaf(text = "PlantHash1" )]PlantHash1,
|
||||
#[rust_sitter::leaf(text = "Apex" )]Apex,
|
||||
#[rust_sitter::leaf(text = "AirRelease" )]AirRelease,
|
||||
#[rust_sitter::leaf(text = "RatioPollutantInput2" )]RatioPollutantInput2,
|
||||
#[rust_sitter::leaf(text = "TotalMolesOutput" )]TotalMolesOutput,
|
||||
#[rust_sitter::leaf(text = "PositionZ" )]PositionZ,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidVolatilesOutput" )]RatioLiquidVolatilesOutput,
|
||||
#[rust_sitter::leaf(text = "RatioSteamInput" )]RatioSteamInput,
|
||||
#[rust_sitter::leaf(text = "Throttle" )]Throttle,
|
||||
#[rust_sitter::leaf(text = "ForwardZ" )]ForwardZ,
|
||||
#[rust_sitter::leaf(text = "ExportCount" )]ExportCount,
|
||||
#[rust_sitter::leaf(text = "VerticalRatio" )]VerticalRatio,
|
||||
#[rust_sitter::leaf(text = "Health" )]Health,
|
||||
#[rust_sitter::leaf(text = "ExportSlotOccupant" )]ExportSlotOccupant,
|
||||
#[rust_sitter::leaf(text = "CollectableGoods" )]CollectableGoods,
|
||||
#[rust_sitter::leaf(text = "Acceleration" )]Acceleration,
|
||||
#[rust_sitter::leaf(text = "Eccentricity" )]Eccentricity,
|
||||
#[rust_sitter::leaf(text = "ElevatorLevel" )]ElevatorLevel,
|
||||
#[rust_sitter::leaf(text = "Ratio" )]Ratio,
|
||||
#[rust_sitter::leaf(text = "RatioNitrogenInput2" )]RatioNitrogenInput2,
|
||||
#[rust_sitter::leaf(text = "Reagents" )]Reagents,
|
||||
#[rust_sitter::leaf(text = "Damage" )]Damage,
|
||||
#[rust_sitter::leaf(text = "Bpm" )]Bpm,
|
||||
#[rust_sitter::leaf(text = "PlantEfficiency1" )]PlantEfficiency1,
|
||||
#[rust_sitter::leaf(text = "RatioVolatilesInput2" )]RatioVolatilesInput2,
|
||||
#[rust_sitter::leaf(text = "Filtration" )]Filtration,
|
||||
#[rust_sitter::leaf(text = "Channel4" )]Channel4,
|
||||
#[rust_sitter::leaf(text = "ImportSlotOccupant" )]ImportSlotOccupant,
|
||||
#[rust_sitter::leaf(text = "SizeZ" )]SizeZ,
|
||||
#[rust_sitter::leaf(text = "RatioCarbonDioxide" )]RatioCarbonDioxide,
|
||||
#[rust_sitter::leaf(text = "AlignmentError" )]AlignmentError,
|
||||
#[rust_sitter::leaf(text = "PressureOutput2" )]PressureOutput2,
|
||||
#[rust_sitter::leaf(text = "VelocityRelativeZ" )]VelocityRelativeZ,
|
||||
#[rust_sitter::leaf(text = "OperationalTemperatureEfficiency" )]OperationalTemperatureEfficiency,
|
||||
#[rust_sitter::leaf(text = "Class" )]Class,
|
||||
#[rust_sitter::leaf(text = "Channel2" )]Channel2,
|
||||
#[rust_sitter::leaf(text = "CombustionOutput2" )]CombustionOutput2,
|
||||
#[rust_sitter::leaf(text = "RatioSteamOutput" )]RatioSteamOutput,
|
||||
#[rust_sitter::leaf(text = "ReturnFuelCost" )]ReturnFuelCost,
|
||||
#[rust_sitter::leaf(text = "VelocityZ" )]VelocityZ,
|
||||
#[rust_sitter::leaf(text = "On" )]On,
|
||||
#[rust_sitter::leaf(text = "RequiredPower" )]RequiredPower,
|
||||
#[rust_sitter::leaf(text = "Horizontal" )]Horizontal,
|
||||
#[rust_sitter::leaf(text = "Ratio" )]Ratio,
|
||||
#[rust_sitter::leaf(text = "SoundAlert" )]SoundAlert,
|
||||
#[rust_sitter::leaf(text = "RatioNitrogenInput" )]RatioNitrogenInput,
|
||||
#[rust_sitter::leaf(text = "Temperature" )]Temperature,
|
||||
#[rust_sitter::leaf(text = "Charge" )]Charge,
|
||||
#[rust_sitter::leaf(text = "PressureWaste" )]PressureWaste,
|
||||
#[rust_sitter::leaf(text = "Stress" )]Stress,
|
||||
#[rust_sitter::leaf(text = "OccupantHash" )]OccupantHash,
|
||||
#[rust_sitter::leaf(text = "RatioVolatilesOutput2" )]RatioVolatilesOutput2,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrousOxideInput2" )]RatioLiquidNitrousOxideInput2,
|
||||
#[rust_sitter::leaf(text = "Contents" )]Contents,
|
||||
#[rust_sitter::leaf(text = "ImportQuantity" )]ImportQuantity,
|
||||
#[rust_sitter::leaf(text = "DryMass" )]DryMass,
|
||||
#[rust_sitter::leaf(text = "PressureAir" )]PressureAir,
|
||||
#[rust_sitter::leaf(text = "PressureInput2" )]PressureInput2,
|
||||
#[rust_sitter::leaf(text = "RatioNitrogenOutput" )]RatioNitrogenOutput,
|
||||
#[rust_sitter::leaf(text = "TotalMolesOutput2" )]TotalMolesOutput2,
|
||||
#[rust_sitter::leaf(text = "Harvest" )]Harvest,
|
||||
#[rust_sitter::leaf(text = "VelocityMagnitude" )]VelocityMagnitude,
|
||||
#[rust_sitter::leaf(text = "MineablesInVicinity" )]MineablesInVicinity,
|
||||
#[rust_sitter::leaf(text = "Acceleration" )]Acceleration,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidOxygenInput2" )]RatioLiquidOxygenInput2,
|
||||
#[rust_sitter::leaf(text = "TargetY" )]TargetY,
|
||||
#[rust_sitter::leaf(text = "Output" )]Output,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidPollutantOutput2" )]RatioLiquidPollutantOutput2,
|
||||
#[rust_sitter::leaf(text = "RatioNitrousOxideOutput" )]RatioNitrousOxideOutput,
|
||||
#[rust_sitter::leaf(text = "EntityState" )]EntityState,
|
||||
#[rust_sitter::leaf(text = "AutoLand" )]AutoLand,
|
||||
#[rust_sitter::leaf(text = "RatioNitrousOxideOutput2" )]RatioNitrousOxideOutput2,
|
||||
#[rust_sitter::leaf(text = "RatioPollutantOutput" )]RatioPollutantOutput,
|
||||
#[rust_sitter::leaf(text = "ChargeRatio" )]ChargeRatio,
|
||||
#[rust_sitter::leaf(text = "CombustionInput2" )]CombustionInput2,
|
||||
#[rust_sitter::leaf(text = "Idle" )]Idle,
|
||||
#[rust_sitter::leaf(text = "PlantEfficiency4" )]PlantEfficiency4,
|
||||
#[rust_sitter::leaf(text = "RatioNitrousOxideInput2" )]RatioNitrousOxideInput2,
|
||||
#[rust_sitter::leaf(text = "PassedMoles" )]PassedMoles,
|
||||
#[rust_sitter::leaf(text = "ReferenceId" )]ReferenceId,
|
||||
#[rust_sitter::leaf(text = "ExportQuantity" )]ExportQuantity,
|
||||
#[rust_sitter::leaf(text = "RatioNitrogen" )]RatioNitrogen,
|
||||
#[rust_sitter::leaf(text = "ForwardY" )]ForwardY,
|
||||
#[rust_sitter::leaf(text = "FlightControlRule" )]FlightControlRule,
|
||||
#[rust_sitter::leaf(text = "ThrustToWeight" )]ThrustToWeight,
|
||||
#[rust_sitter::leaf(text = "PlantHealth2" )]PlantHealth2,
|
||||
#[rust_sitter::leaf(text = "SolarIrradiance" )]SolarIrradiance,
|
||||
#[rust_sitter::leaf(text = "Time" )]Time,
|
||||
#[rust_sitter::leaf(text = "RatioSteam" )]RatioSteam,
|
||||
#[rust_sitter::leaf(text = "RatioWaterInput" )]RatioWaterInput,
|
||||
#[rust_sitter::leaf(text = "WorkingGasEfficiency" )]WorkingGasEfficiency,
|
||||
#[rust_sitter::leaf(text = "VerticalRatio" )]VerticalRatio,
|
||||
#[rust_sitter::leaf(text = "TemperatureOutput2" )]TemperatureOutput2,
|
||||
#[rust_sitter::leaf(text = "TemperatureInput" )]TemperatureInput,
|
||||
#[rust_sitter::leaf(text = "SignalID" )]SignalId,
|
||||
#[rust_sitter::leaf(text = "Channel7" )]Channel7,
|
||||
#[rust_sitter::leaf(text = "Index" )]Index,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidPollutant" )]RatioLiquidPollutant,
|
||||
#[rust_sitter::leaf(text = "ForceWrite" )]ForceWrite,
|
||||
#[rust_sitter::leaf(text = "RecipeHash" )]RecipeHash,
|
||||
#[rust_sitter::leaf(text = "InterrogationProgress" )]InterrogationProgress,
|
||||
#[rust_sitter::leaf(text = "RatioOxygenInput2" )]RatioOxygenInput2,
|
||||
#[rust_sitter::leaf(text = "TemperatureOutput" )]TemperatureOutput,
|
||||
#[rust_sitter::leaf(text = "TargetX" )]TargetX,
|
||||
#[rust_sitter::leaf(text = "PlantEfficiency2" )]PlantEfficiency2,
|
||||
#[rust_sitter::leaf(text = "PrefabHash" )]PrefabHash,
|
||||
#[rust_sitter::leaf(text = "MaxQuantity" )]MaxQuantity,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidVolatilesOutput2" )]RatioLiquidVolatilesOutput2,
|
||||
#[rust_sitter::leaf(text = "DrillCondition" )]DrillCondition,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrogenOutput" )]RatioLiquidNitrogenOutput,
|
||||
#[rust_sitter::leaf(text = "RatioNitrogenInput2" )]RatioNitrogenInput2,
|
||||
#[rust_sitter::leaf(text = "VelocityY" )]VelocityY,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidOxygenOutput" )]RatioLiquidOxygenOutput,
|
||||
#[rust_sitter::leaf(text = "AutoShutOff" )]AutoShutOff,
|
||||
#[rust_sitter::leaf(text = "Bypass" )]Bypass,
|
||||
#[rust_sitter::leaf(text = "RatioVolatilesOutput" )]RatioVolatilesOutput,
|
||||
#[rust_sitter::leaf(text = "RatioWaterOutput2" )]RatioWaterOutput2,
|
||||
#[rust_sitter::leaf(text = "PressureExternal" )]PressureExternal,
|
||||
#[rust_sitter::leaf(text = "VolumeOfLiquid" )]VolumeOfLiquid,
|
||||
#[rust_sitter::leaf(text = "CombustionOutput" )]CombustionOutput,
|
||||
#[rust_sitter::leaf(text = "SettingInput" )]SettingInput,
|
||||
#[rust_sitter::leaf(text = "CompletionRatio" )]CompletionRatio,
|
||||
#[rust_sitter::leaf(text = "None" )]None,
|
||||
#[rust_sitter::leaf(text = "DistanceAu" )]DistanceAu,
|
||||
#[rust_sitter::leaf(text = "PlantGrowth3" )]PlantGrowth3,
|
||||
#[rust_sitter::leaf(text = "CelestialHash" )]CelestialHash,
|
||||
#[rust_sitter::leaf(text = "RatioNitrogenOutput2" )]RatioNitrogenOutput2,
|
||||
#[rust_sitter::leaf(text = "CollectableGoods" )]CollectableGoods,
|
||||
#[rust_sitter::leaf(text = "SettingInputHash" )]SettingInputHash,
|
||||
#[rust_sitter::leaf(text = "ClearMemory" )]ClearMemory,
|
||||
#[rust_sitter::leaf(text = "ReEntryAltitude" )]ReEntryAltitude,
|
||||
#[rust_sitter::leaf(text = "RatioWater" )]RatioWater,
|
||||
#[rust_sitter::leaf(text = "Required" )]Required,
|
||||
#[rust_sitter::leaf(text = "PositionY" )]PositionY,
|
||||
#[rust_sitter::leaf(text = "ForwardX" )]ForwardX,
|
||||
#[rust_sitter::leaf(text = "TotalMolesInput" )]TotalMolesInput,
|
||||
#[rust_sitter::leaf(text = "MineablesInQueue" )]MineablesInQueue,
|
||||
#[rust_sitter::leaf(text = "RatioWaterInput2" )]RatioWaterInput2,
|
||||
#[rust_sitter::leaf(text = "RatioCarbonDioxideOutput2" )]RatioCarbonDioxideOutput2,
|
||||
#[rust_sitter::leaf(text = "PlantGrowth1" )]PlantGrowth1,
|
||||
#[rust_sitter::leaf(text = "TargetZ" )]TargetZ,
|
||||
#[rust_sitter::leaf(text = "TemperatureDifferentialEfficiency" )]TemperatureDifferentialEfficiency,
|
||||
#[rust_sitter::leaf(text = "Channel3" )]Channel3,
|
||||
#[rust_sitter::leaf(text = "OverShootTarget" )]OverShootTarget,
|
||||
#[rust_sitter::leaf(text = "Combustion" )]Combustion,
|
||||
#[rust_sitter::leaf(text = "ExportSlotOccupant" )]ExportSlotOccupant,
|
||||
#[rust_sitter::leaf(text = "Sum" )]Sum,
|
||||
#[rust_sitter::leaf(text = "Growth" )]Growth,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidOxygenOutput2" )]RatioLiquidOxygenOutput2,
|
||||
#[rust_sitter::leaf(text = "PressureOutput" )]PressureOutput,
|
||||
#[rust_sitter::leaf(text = "RatioOxygenInput" )]RatioOxygenInput,
|
||||
#[rust_sitter::leaf(text = "TargetPadIndex" )]TargetPadIndex,
|
||||
#[rust_sitter::leaf(text = "Rpm" )]Rpm,
|
||||
#[rust_sitter::leaf(text = "PlantEfficiency3" )]PlantEfficiency3,
|
||||
#[rust_sitter::leaf(text = "ExhaustVelocity" )]ExhaustVelocity,
|
||||
#[rust_sitter::leaf(text = "Fuel" )]Fuel,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidVolatiles" )]RatioLiquidVolatiles,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidCarbonDioxide" )]RatioLiquidCarbonDioxide,
|
||||
#[rust_sitter::leaf(text = "RatioPollutantInput" )]RatioPollutantInput,
|
||||
#[rust_sitter::leaf(text = "RatioVolatiles" )]RatioVolatiles,
|
||||
#[rust_sitter::leaf(text = "SettingOutput" )]SettingOutput,
|
||||
#[rust_sitter::leaf(text = "TotalMolesInput2" )]TotalMolesInput2,
|
||||
#[rust_sitter::leaf(text = "CurrentResearchPodType" )]CurrentResearchPodType,
|
||||
#[rust_sitter::leaf(text = "RatioCarbonDioxide" )]RatioCarbonDioxide,
|
||||
#[rust_sitter::leaf(text = "SizeX" )]SizeX,
|
||||
#[rust_sitter::leaf(text = "EnvironmentEfficiency" )]EnvironmentEfficiency,
|
||||
#[rust_sitter::leaf(text = "Lock" )]Lock,
|
||||
#[rust_sitter::leaf(text = "SignalStrength" )]SignalStrength,
|
||||
#[rust_sitter::leaf(text = "Recipe" )]Recipe,
|
||||
#[rust_sitter::leaf(text = "Channel6" )]Channel6,
|
||||
#[rust_sitter::leaf(text = "RatioCarbonDioxideInput" )]RatioCarbonDioxideInput,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidVolatilesInput" )]RatioLiquidVolatilesInput,
|
||||
#[rust_sitter::leaf(text = "Mode" )]Mode,
|
||||
#[rust_sitter::leaf(text = "Activate" )]Activate,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrousOxideInput" )]RatioLiquidNitrousOxideInput,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidOxygenInput" )]RatioLiquidOxygenInput,
|
||||
#[rust_sitter::leaf(text = "RatioVolatilesInput" )]RatioVolatilesInput,
|
||||
#[rust_sitter::leaf(text = "RequestHash" )]RequestHash,
|
||||
#[rust_sitter::leaf(text = "Channel1" )]Channel1,
|
||||
#[rust_sitter::leaf(text = "Quantity" )]Quantity,
|
||||
#[rust_sitter::leaf(text = "Flush" )]Flush,
|
||||
#[rust_sitter::leaf(text = "Channel5" )]Channel5,
|
||||
#[rust_sitter::leaf(text = "Plant" )]Plant,
|
||||
#[rust_sitter::leaf(text = "Filtration" )]Filtration,
|
||||
#[rust_sitter::leaf(text = "Channel" )]Channel,
|
||||
#[rust_sitter::leaf(text = "DistanceKm" )]DistanceKm,
|
||||
#[rust_sitter::leaf(text = "PlantHash4" )]PlantHash4,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidCarbonDioxideInput2" )]RatioLiquidCarbonDioxideInput2,
|
||||
#[rust_sitter::leaf(text = "Seeding" )]Seeding,
|
||||
#[rust_sitter::leaf(text = "Minimum" )]Minimum,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrogen" )]RatioLiquidNitrogen,
|
||||
#[rust_sitter::leaf(text = "PowerGeneration" )]PowerGeneration,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidPollutantOutput" )]RatioLiquidPollutantOutput,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidPollutantInput" )]RatioLiquidPollutantInput,
|
||||
#[rust_sitter::leaf(text = "Throttle" )]Throttle,
|
||||
#[rust_sitter::leaf(text = "BurnTimeRemaining" )]BurnTimeRemaining,
|
||||
#[rust_sitter::leaf(text = "CelestialParentHash" )]CelestialParentHash,
|
||||
#[rust_sitter::leaf(text = "Error" )]Error,
|
||||
#[rust_sitter::leaf(text = "Health" )]Health,
|
||||
#[rust_sitter::leaf(text = "SolarConstant" )]SolarConstant,
|
||||
#[rust_sitter::leaf(text = "RatioPollutant" )]RatioPollutant,
|
||||
#[rust_sitter::leaf(text = "TemperatureInput2" )]TemperatureInput2,
|
||||
#[rust_sitter::leaf(text = "Orientation" )]Orientation,
|
||||
#[rust_sitter::leaf(text = "Power" )]Power,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrogenInput2" )]RatioLiquidNitrogenInput2,
|
||||
#[rust_sitter::leaf(text = "PlantGrowth4" )]PlantGrowth4,
|
||||
#[rust_sitter::leaf(text = "PlantHealth4" )]PlantHealth4,
|
||||
#[rust_sitter::leaf(text = "Damage" )]Damage,
|
||||
#[rust_sitter::leaf(text = "MinimumWattsToContact" )]MinimumWattsToContact,
|
||||
#[rust_sitter::leaf(text = "TemperatureSetting" )]TemperatureSetting,
|
||||
#[rust_sitter::leaf(text = "VelocityX" )]VelocityX,
|
||||
#[rust_sitter::leaf(text = "ManualResearchRequiredPod" )]ManualResearchRequiredPod,
|
||||
#[rust_sitter::leaf(text = "ImportCount" )]ImportCount,
|
||||
#[rust_sitter::leaf(text = "ElevatorSpeed" )]ElevatorSpeed,
|
||||
#[rust_sitter::leaf(text = "ContactTypeId" )]ContactTypeId,
|
||||
#[rust_sitter::leaf(text = "SizeY" )]SizeY,
|
||||
#[rust_sitter::leaf(text = "RatioSteamOutput2" )]RatioSteamOutput2,
|
||||
#[rust_sitter::leaf(text = "Maximum" )]Maximum,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidCarbonDioxideOutput" )]RatioLiquidCarbonDioxideOutput,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidPollutantInput2" )]RatioLiquidPollutantInput2,
|
||||
#[rust_sitter::leaf(text = "SemiMajorAxis" )]SemiMajorAxis,
|
||||
#[rust_sitter::leaf(text = "TimeToDestination" )]TimeToDestination,
|
||||
#[rust_sitter::leaf(text = "NextWeatherEventTime" )]NextWeatherEventTime,
|
||||
#[rust_sitter::leaf(text = "CombustionInput" )]CombustionInput,
|
||||
#[rust_sitter::leaf(text = "PlantEfficiency1" )]PlantEfficiency1,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrousOxideOutput2" )]RatioLiquidNitrousOxideOutput2,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidVolatilesInput2" )]RatioLiquidVolatilesInput2,
|
||||
#[rust_sitter::leaf(text = "PressureInput" )]PressureInput,
|
||||
#[rust_sitter::leaf(text = "PressureInternal" )]PressureInternal,
|
||||
#[rust_sitter::leaf(text = "RatioCarbonDioxideInput2" )]RatioCarbonDioxideInput2,
|
||||
#[rust_sitter::leaf(text = "DestinationCode" )]DestinationCode,
|
||||
#[rust_sitter::leaf(text = "PressureSetting" )]PressureSetting,
|
||||
#[rust_sitter::leaf(text = "Average" )]Average,
|
||||
#[rust_sitter::leaf(text = "PowerActual" )]PowerActual,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrogenOutput2" )]RatioLiquidNitrogenOutput2,
|
||||
#[rust_sitter::leaf(text = "RatioOxygenOutput" )]RatioOxygenOutput,
|
||||
#[rust_sitter::leaf(text = "VelocityRelativeX" )]VelocityRelativeX,
|
||||
#[rust_sitter::leaf(text = "RatioCarbonDioxideOutput" )]RatioCarbonDioxideOutput,
|
||||
#[rust_sitter::leaf(text = "Mass" )]Mass,
|
||||
#[rust_sitter::leaf(text = "Setting" )]Setting,
|
||||
#[rust_sitter::leaf(text = "HorizontalRatio" )]HorizontalRatio,
|
||||
#[rust_sitter::leaf(text = "OperationalTemperatureEfficiency" )]OperationalTemperatureEfficiency,
|
||||
#[rust_sitter::leaf(text = "ExportCount" )]ExportCount,
|
||||
#[rust_sitter::leaf(text = "PositionX" )]PositionX,
|
||||
#[rust_sitter::leaf(text = "LineNumber" )]LineNumber,
|
||||
#[rust_sitter::leaf(text = "PressureOutput2" )]PressureOutput2,
|
||||
#[rust_sitter::leaf(text = "Color" )]Color,
|
||||
#[rust_sitter::leaf(text = "PowerPotential" )]PowerPotential,
|
||||
#[rust_sitter::leaf(text = "PlantHash2" )]PlantHash2,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidCarbonDioxideInput" )]RatioLiquidCarbonDioxideInput,
|
||||
#[rust_sitter::leaf(text = "OrbitPeriod" )]OrbitPeriod,
|
||||
#[rust_sitter::leaf(text = "TrueAnomaly" )]TrueAnomaly,
|
||||
#[rust_sitter::leaf(text = "Vertical" )]Vertical,
|
||||
#[rust_sitter::leaf(text = "RatioPollutantOutput2" )]RatioPollutantOutput2,
|
||||
#[rust_sitter::leaf(text = "PlantHealth1" )]PlantHealth1,
|
||||
#[rust_sitter::leaf(text = "FilterType" )]FilterType,
|
||||
#[rust_sitter::leaf(text = "PlantHealth3" )]PlantHealth3,
|
||||
#[rust_sitter::leaf(text = "Progress" )]Progress,
|
||||
#[rust_sitter::leaf(text = "RatioOxygenOutput2" )]RatioOxygenOutput2,
|
||||
#[rust_sitter::leaf(text = "SettingOutputHash" )]SettingOutputHash,
|
||||
#[rust_sitter::leaf(text = "PowerRequired" )]PowerRequired,
|
||||
#[rust_sitter::leaf(text = "Mature" )]Mature,
|
||||
#[rust_sitter::leaf(text = "RatioNitrousOxide" )]RatioNitrousOxide,
|
||||
#[rust_sitter::leaf(text = "PlantGrowth2" )]PlantGrowth2,
|
||||
#[rust_sitter::leaf(text = "Thrust" )]Thrust,
|
||||
#[rust_sitter::leaf(text = "RatioWaterOutput" )]RatioWaterOutput,
|
||||
#[rust_sitter::leaf(text = "Occupied" )]Occupied,
|
||||
#[rust_sitter::leaf(text = "VelocityRelativeZ" )]VelocityRelativeZ,
|
||||
#[rust_sitter::leaf(text = "RatioOxygen" )]RatioOxygen,
|
||||
#[rust_sitter::leaf(text = "ForwardZ" )]ForwardZ,
|
||||
#[rust_sitter::leaf(text = "AlignmentError" )]AlignmentError,
|
||||
#[rust_sitter::leaf(text = "Inclination" )]Inclination,
|
||||
#[rust_sitter::leaf(text = "RatioSteamInput2" )]RatioSteamInput2,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrogenInput" )]RatioLiquidNitrogenInput,
|
||||
#[rust_sitter::leaf(text = "Eccentricity" )]Eccentricity,
|
||||
#[rust_sitter::leaf(text = "ExportSlotHash" )]ExportSlotHash,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidOxygen" )]RatioLiquidOxygen,
|
||||
#[rust_sitter::leaf(text = "ElevatorLevel" )]ElevatorLevel,
|
||||
#[rust_sitter::leaf(text = "MinWattsToContact" )]MinWattsToContact,
|
||||
#[rust_sitter::leaf(text = "CombustionLimiter" )]CombustionLimiter,
|
||||
#[rust_sitter::leaf(text = "SolarAngle" )]SolarAngle,
|
||||
#[rust_sitter::leaf(text = "Open" )]Open,
|
||||
#[rust_sitter::leaf(text = "Reagents" )]Reagents,
|
||||
#[rust_sitter::leaf(text = "Unknown" )]Unknown,
|
||||
#[rust_sitter::leaf(text = "Efficiency" )]Efficiency,
|
||||
#[rust_sitter::leaf(text = "PlantHash3" )]PlantHash3,
|
||||
#[rust_sitter::leaf(text = "RatioLiquidNitrousOxideOutput" )]RatioLiquidNitrousOxideOutput,
|
||||
#[rust_sitter::leaf(text = "ImportSlotHash" )]ImportSlotHash,
|
||||
#[rust_sitter::leaf(text = "Volume" )]Volume,
|
||||
#[rust_sitter::leaf(text = "SortingClass" )]SortingClass,
|
||||
}
|
||||
|
||||
@@ -20,15 +20,10 @@ pub struct LogicField {
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub struct GenericDevice {
|
||||
pub struct Device {
|
||||
pub id: u16,
|
||||
pub fields: HashMap<u8, LogicField>,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
enum Device {
|
||||
IC(IC),
|
||||
Generic(GenericDevice),
|
||||
pub IC: Option<IC>
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +35,6 @@ pub struct IC {
|
||||
pub stack: [f64; 512],
|
||||
pub aliases: HashMap<String, compiler::Operand>,
|
||||
pub pins: [Option<u16>; 6],
|
||||
pub fields: HashMap<u8, LogicField>,
|
||||
pub code: String,
|
||||
pub program: compiler::Program,
|
||||
}
|
||||
@@ -95,27 +89,14 @@ impl IC {
|
||||
registers: [0.0; 18],
|
||||
stack: [0.0; 512],
|
||||
pins: [None; 6],
|
||||
fields: HashMap::new(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl GenericDevice {
|
||||
pub fn new(id: u16) -> Self {
|
||||
GenericDevice {
|
||||
id,
|
||||
fields: HashMap::new(),
|
||||
program: compiler::Program::new(),
|
||||
code: String::new(),
|
||||
aliases: HashMap::new(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Device {
|
||||
pub fn id(&self) -> u16 {
|
||||
match self {
|
||||
Self::IC(ic) => ic.id,
|
||||
Self::Generic(d) => d.id,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl VM {
|
||||
|
||||
@@ -5,12 +5,23 @@ from pprint import pprint
|
||||
def extract_logicable():
|
||||
logicable = []
|
||||
pedia = {}
|
||||
with Path("./FullStationpedia.json").open("r") as f:
|
||||
with Path("./StationpediaFull.json").open("r") as f:
|
||||
pedia.update(json.load(f))
|
||||
for page in pedia["pages"]:
|
||||
if page["LogicInsert"] or page["LogicSlotInsert"]:
|
||||
logicable.append(page)
|
||||
print(f"{len(logicable)} of {len(pedia["pages"])} are logicable")
|
||||
# print(f"{len(logicable)} of {len(pedia["pages"])} are logicable")
|
||||
return logicable
|
||||
|
||||
def extract_all():
|
||||
items = []
|
||||
pedia = {}
|
||||
with Path("./StationpediaFull.json").open("r") as f:
|
||||
pedia.update(json.load(f))
|
||||
for page in pedia["pages"]:
|
||||
items.append(page)
|
||||
return items
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":"0.2","language":"en","flagWords":[],"words":["brgtz","brlez","brgez","brltz","brna","brap","brne","breq","brge","brle","brgt","brlt","brdns","brdse","bnaz","bapz","bnez","beqz","bgtz","blez","bgez","bltz","bdse","bdns","snaz","sapz","snez","seqz","sgez","slez","sgtz","sltz","sdns","sdse","bdnsal","bdseal","bapal","bapzal","beqal","beqzal","bgeal","bgezal","bgtal","bgtzal","bleal","blezal","bltal","bltzal","bnaal","bnazal","bneal","bnezal","brapz","brnaz","breqz","brnez","trunc","bnan","brnan","lbns","snan","snanz","Mineables","logictype","rocketstation","whos","sattellite","Stationeers","Hardsuit","jetpack","stationpedia","slottype","getd","putd","preproc","tokentype","overcolumn","overcolumn","QUICKFIX","infile","codegen","splitn","Circuitboard","hashables","logictypes","slotlogictypes","Astroloy","Autolathe","slotlogictype","reagentmodes","batchmodes","batchmode","reagentmode","ninf","endpos","Overlength","serde","bgezal","beqzal"]}
|
||||
{"words":["brgtz","brlez","brgez","brltz","brna","brap","brne","breq","brge","brle","brgt","brlt","brdns","brdse","bnaz","bapz","bnez","beqz","bgtz","blez","bgez","bltz","bdse","bdns","snaz","sapz","snez","seqz","sgez","slez","sgtz","sltz","sdns","sdse","bdnsal","bdseal","bapal","bapzal","beqal","beqzal","bgeal","bgezal","bgtal","bgtzal","bleal","blezal","bltal","bltzal","bnaal","bnazal","bneal","bnezal","brapz","brnaz","breqz","brnez","trunc","bnan","brnan","lbns","snan","snanz","Mineables","logictype","rocketstation","whos","sattellite","Stationeers","Hardsuit","jetpack","stationpedia","slottype","getd","putd","preproc","tokentype","overcolumn","overcolumn","QUICKFIX","infile","codegen","splitn","Circuitboard","hashables","logictypes","slotlogictypes","Astroloy","Autolathe","slotlogictype","reagentmodes","batchmodes","batchmode","reagentmode","ninf","endpos","Overlength","serde","bgezal","beqzal","themelist","modelist","hardwrap","offcanvas","popperjs"],"version":"0.2","language":"en","flagWords":[]}
|
||||
|
||||
@@ -25,8 +25,16 @@
|
||||
"homepage": "https://github.com/ryex/ic10emu#readme",
|
||||
"devDependencies": {
|
||||
"@oneidentity/zstd-js": "^1.0.3",
|
||||
"autoprefixer": "^10.4.19",
|
||||
"copy-webpack-plugin": "^12.0.2",
|
||||
"css-loader": "^6.10.0",
|
||||
"hello-wasm-pack": "^0.1.0",
|
||||
"html-webpack-plugin": "^5.6.0",
|
||||
"mini-css-extract-plugin": "^2.8.1",
|
||||
"postcss-loader": "^8.1.1",
|
||||
"sass": "^1.72.0",
|
||||
"sass-loader": "^14.1.1",
|
||||
"style-loader": "^3.3.4",
|
||||
"ts-loader": "^9.5.1",
|
||||
"typescript": "^5.4.2",
|
||||
"webpack": "^5.90.3",
|
||||
@@ -34,10 +42,13 @@
|
||||
"webpack-dev-server": "^5.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@popperjs/core": "^2.11.8",
|
||||
"ace-code": "^1.32.7",
|
||||
"ace-linters": "^1.1.1",
|
||||
"bootstrap": "^5.3.3",
|
||||
"ic10emu_wasm": "file:../ic10emu_wasm/pkg",
|
||||
"ic10lsp_wasm": "file:../ic10lsp_wasm/pkg",
|
||||
"jquery": "^3.7.1",
|
||||
"lzma-web": "^3.0.1",
|
||||
"uuid": "^9.0.1"
|
||||
}
|
||||
|
||||
621
www/pnpm-lock.yaml
generated
621
www/pnpm-lock.yaml
generated
@@ -5,18 +5,27 @@ settings:
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
dependencies:
|
||||
'@popperjs/core':
|
||||
specifier: ^2.11.8
|
||||
version: 2.11.8
|
||||
ace-code:
|
||||
specifier: ^1.32.7
|
||||
version: 1.32.7
|
||||
ace-linters:
|
||||
specifier: ^1.1.1
|
||||
version: 1.1.1
|
||||
bootstrap:
|
||||
specifier: ^5.3.3
|
||||
version: 5.3.3(@popperjs/core@2.11.8)
|
||||
ic10emu_wasm:
|
||||
specifier: file:../ic10emu_wasm/pkg
|
||||
version: file:../ic10emu_wasm/pkg
|
||||
ic10lsp_wasm:
|
||||
specifier: file:../ic10lsp_wasm/pkg
|
||||
version: file:../ic10lsp_wasm/pkg
|
||||
jquery:
|
||||
specifier: ^3.7.1
|
||||
version: 3.7.1
|
||||
lzma-web:
|
||||
specifier: ^3.0.1
|
||||
version: 3.0.1
|
||||
@@ -28,12 +37,36 @@ devDependencies:
|
||||
'@oneidentity/zstd-js':
|
||||
specifier: ^1.0.3
|
||||
version: 1.0.3
|
||||
autoprefixer:
|
||||
specifier: ^10.4.19
|
||||
version: 10.4.19(postcss@8.4.38)
|
||||
copy-webpack-plugin:
|
||||
specifier: ^12.0.2
|
||||
version: 12.0.2(webpack@5.90.3)
|
||||
css-loader:
|
||||
specifier: ^6.10.0
|
||||
version: 6.10.0(webpack@5.90.3)
|
||||
hello-wasm-pack:
|
||||
specifier: ^0.1.0
|
||||
version: 0.1.0
|
||||
html-webpack-plugin:
|
||||
specifier: ^5.6.0
|
||||
version: 5.6.0(webpack@5.90.3)
|
||||
mini-css-extract-plugin:
|
||||
specifier: ^2.8.1
|
||||
version: 2.8.1(webpack@5.90.3)
|
||||
postcss-loader:
|
||||
specifier: ^8.1.1
|
||||
version: 8.1.1(postcss@8.4.38)(typescript@5.4.2)(webpack@5.90.3)
|
||||
sass:
|
||||
specifier: ^1.72.0
|
||||
version: 1.72.0
|
||||
sass-loader:
|
||||
specifier: ^14.1.1
|
||||
version: 14.1.1(sass@1.72.0)(webpack@5.90.3)
|
||||
style-loader:
|
||||
specifier: ^3.3.4
|
||||
version: 3.3.4(webpack@5.90.3)
|
||||
ts-loader:
|
||||
specifier: ^9.5.1
|
||||
version: 9.5.1(typescript@5.4.2)(webpack@5.90.3)
|
||||
@@ -52,6 +85,29 @@ devDependencies:
|
||||
|
||||
packages:
|
||||
|
||||
/@babel/code-frame@7.24.2:
|
||||
resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/highlight': 7.24.2
|
||||
picocolors: 1.0.0
|
||||
dev: true
|
||||
|
||||
/@babel/helper-validator-identifier@7.22.20:
|
||||
resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dev: true
|
||||
|
||||
/@babel/highlight@7.24.2:
|
||||
resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
'@babel/helper-validator-identifier': 7.22.20
|
||||
chalk: 2.4.2
|
||||
js-tokens: 4.0.0
|
||||
picocolors: 1.0.0
|
||||
dev: true
|
||||
|
||||
/@discoveryjs/json-ext@0.5.7:
|
||||
resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
@@ -144,6 +200,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@popperjs/core@2.11.8:
|
||||
resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
|
||||
dev: false
|
||||
|
||||
/@sindresorhus/merge-streams@2.3.0:
|
||||
resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
|
||||
engines: {node: '>=18'}
|
||||
@@ -215,6 +275,10 @@ packages:
|
||||
'@types/serve-static': 1.15.5
|
||||
dev: true
|
||||
|
||||
/@types/html-minifier-terser@6.1.0:
|
||||
resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==}
|
||||
dev: true
|
||||
|
||||
/@types/http-errors@2.0.4:
|
||||
resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
|
||||
dev: true
|
||||
@@ -610,6 +674,13 @@ packages:
|
||||
engines: {node: '>=12'}
|
||||
dev: true
|
||||
|
||||
/ansi-styles@3.2.1:
|
||||
resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
color-convert: 1.9.3
|
||||
dev: true
|
||||
|
||||
/ansi-styles@4.3.0:
|
||||
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -630,6 +701,10 @@ packages:
|
||||
picomatch: 2.3.1
|
||||
dev: true
|
||||
|
||||
/argparse@2.0.1:
|
||||
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
||||
dev: true
|
||||
|
||||
/array-flatten@1.1.1:
|
||||
resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
|
||||
dev: true
|
||||
@@ -638,6 +713,22 @@ packages:
|
||||
resolution: {integrity: sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==}
|
||||
dev: false
|
||||
|
||||
/autoprefixer@10.4.19(postcss@8.4.38):
|
||||
resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
postcss: ^8.1.0
|
||||
dependencies:
|
||||
browserslist: 4.23.0
|
||||
caniuse-lite: 1.0.30001600
|
||||
fraction.js: 4.3.7
|
||||
normalize-range: 0.1.2
|
||||
picocolors: 1.0.0
|
||||
postcss: 8.4.38
|
||||
postcss-value-parser: 4.2.0
|
||||
dev: true
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||
|
||||
@@ -678,6 +769,18 @@ packages:
|
||||
multicast-dns: 7.2.5
|
||||
dev: true
|
||||
|
||||
/boolbase@1.0.0:
|
||||
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
|
||||
dev: true
|
||||
|
||||
/bootstrap@5.3.3(@popperjs/core@2.11.8):
|
||||
resolution: {integrity: sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==}
|
||||
peerDependencies:
|
||||
'@popperjs/core': ^2.11.8
|
||||
dependencies:
|
||||
'@popperjs/core': 2.11.8
|
||||
dev: false
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||
dependencies:
|
||||
@@ -742,10 +845,35 @@ packages:
|
||||
set-function-length: 1.2.2
|
||||
dev: true
|
||||
|
||||
/callsites@3.1.0:
|
||||
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/camel-case@4.1.2:
|
||||
resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
|
||||
dependencies:
|
||||
pascal-case: 3.1.2
|
||||
tslib: 2.6.2
|
||||
dev: true
|
||||
|
||||
/caniuse-lite@1.0.30001597:
|
||||
resolution: {integrity: sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==}
|
||||
dev: true
|
||||
|
||||
/caniuse-lite@1.0.30001600:
|
||||
resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==}
|
||||
dev: true
|
||||
|
||||
/chalk@2.4.2:
|
||||
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
ansi-styles: 3.2.1
|
||||
escape-string-regexp: 1.0.5
|
||||
supports-color: 5.5.0
|
||||
dev: true
|
||||
|
||||
/chalk@4.1.2:
|
||||
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
|
||||
engines: {node: '>=10'}
|
||||
@@ -780,6 +908,13 @@ packages:
|
||||
engines: {node: '>=6.0'}
|
||||
dev: true
|
||||
|
||||
/clean-css@5.3.3:
|
||||
resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
|
||||
engines: {node: '>= 10.0'}
|
||||
dependencies:
|
||||
source-map: 0.6.1
|
||||
dev: true
|
||||
|
||||
/clone-deep@4.0.1:
|
||||
resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
|
||||
engines: {node: '>=6'}
|
||||
@@ -789,12 +924,22 @@ packages:
|
||||
shallow-clone: 3.0.1
|
||||
dev: true
|
||||
|
||||
/color-convert@1.9.3:
|
||||
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
|
||||
dependencies:
|
||||
color-name: 1.1.3
|
||||
dev: true
|
||||
|
||||
/color-convert@2.0.1:
|
||||
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
||||
engines: {node: '>=7.0.0'}
|
||||
dependencies:
|
||||
color-name: 1.1.4
|
||||
|
||||
/color-name@1.1.3:
|
||||
resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
|
||||
dev: true
|
||||
|
||||
/color-name@1.1.4:
|
||||
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
|
||||
|
||||
@@ -811,6 +956,11 @@ packages:
|
||||
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
|
||||
dev: true
|
||||
|
||||
/commander@8.3.0:
|
||||
resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
|
||||
engines: {node: '>= 12'}
|
||||
dev: true
|
||||
|
||||
/commander@9.5.0:
|
||||
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
|
||||
engines: {node: ^12.20.0 || >=14}
|
||||
@@ -887,6 +1037,22 @@ packages:
|
||||
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
|
||||
dev: true
|
||||
|
||||
/cosmiconfig@9.0.0(typescript@5.4.2):
|
||||
resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
typescript: '>=4.9.5'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
env-paths: 2.2.1
|
||||
import-fresh: 3.3.0
|
||||
js-yaml: 4.1.0
|
||||
parse-json: 5.2.0
|
||||
typescript: 5.4.2
|
||||
dev: true
|
||||
|
||||
/cross-spawn@7.0.3:
|
||||
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
|
||||
engines: {node: '>= 8'}
|
||||
@@ -896,6 +1062,50 @@ packages:
|
||||
which: 2.0.2
|
||||
dev: true
|
||||
|
||||
/css-loader@6.10.0(webpack@5.90.3):
|
||||
resolution: {integrity: sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==}
|
||||
engines: {node: '>= 12.13.0'}
|
||||
peerDependencies:
|
||||
'@rspack/core': 0.x || 1.x
|
||||
webpack: ^5.0.0
|
||||
peerDependenciesMeta:
|
||||
'@rspack/core':
|
||||
optional: true
|
||||
webpack:
|
||||
optional: true
|
||||
dependencies:
|
||||
icss-utils: 5.1.0(postcss@8.4.38)
|
||||
postcss: 8.4.38
|
||||
postcss-modules-extract-imports: 3.0.0(postcss@8.4.38)
|
||||
postcss-modules-local-by-default: 4.0.4(postcss@8.4.38)
|
||||
postcss-modules-scope: 3.1.1(postcss@8.4.38)
|
||||
postcss-modules-values: 4.0.0(postcss@8.4.38)
|
||||
postcss-value-parser: 4.2.0
|
||||
semver: 7.6.0
|
||||
webpack: 5.90.3(webpack-cli@5.1.4)
|
||||
dev: true
|
||||
|
||||
/css-select@4.3.0:
|
||||
resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
|
||||
dependencies:
|
||||
boolbase: 1.0.0
|
||||
css-what: 6.1.0
|
||||
domhandler: 4.3.1
|
||||
domutils: 2.8.0
|
||||
nth-check: 2.1.1
|
||||
dev: true
|
||||
|
||||
/css-what@6.1.0:
|
||||
resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
|
||||
engines: {node: '>= 6'}
|
||||
dev: true
|
||||
|
||||
/cssesc@3.0.0:
|
||||
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/debug@2.6.9:
|
||||
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
|
||||
peerDependencies:
|
||||
@@ -979,6 +1189,46 @@ packages:
|
||||
'@leichtgewicht/ip-codec': 2.0.4
|
||||
dev: true
|
||||
|
||||
/dom-converter@0.2.0:
|
||||
resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
|
||||
dependencies:
|
||||
utila: 0.4.0
|
||||
dev: true
|
||||
|
||||
/dom-serializer@1.4.1:
|
||||
resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
|
||||
dependencies:
|
||||
domelementtype: 2.3.0
|
||||
domhandler: 4.3.1
|
||||
entities: 2.2.0
|
||||
dev: true
|
||||
|
||||
/domelementtype@2.3.0:
|
||||
resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
|
||||
dev: true
|
||||
|
||||
/domhandler@4.3.1:
|
||||
resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
|
||||
engines: {node: '>= 4'}
|
||||
dependencies:
|
||||
domelementtype: 2.3.0
|
||||
dev: true
|
||||
|
||||
/domutils@2.8.0:
|
||||
resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
|
||||
dependencies:
|
||||
dom-serializer: 1.4.1
|
||||
domelementtype: 2.3.0
|
||||
domhandler: 4.3.1
|
||||
dev: true
|
||||
|
||||
/dot-case@3.0.4:
|
||||
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
|
||||
dependencies:
|
||||
no-case: 3.0.4
|
||||
tslib: 2.6.2
|
||||
dev: true
|
||||
|
||||
/eastasianwidth@0.2.0:
|
||||
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
|
||||
dev: true
|
||||
@@ -1012,12 +1262,27 @@ packages:
|
||||
tapable: 2.2.1
|
||||
dev: true
|
||||
|
||||
/entities@2.2.0:
|
||||
resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
|
||||
dev: true
|
||||
|
||||
/env-paths@2.2.1:
|
||||
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/envinfo@7.11.1:
|
||||
resolution: {integrity: sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/error-ex@1.3.2:
|
||||
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
|
||||
dependencies:
|
||||
is-arrayish: 0.2.1
|
||||
dev: true
|
||||
|
||||
/es-define-property@1.0.0:
|
||||
resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@@ -1043,6 +1308,11 @@ packages:
|
||||
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
|
||||
dev: true
|
||||
|
||||
/escape-string-regexp@1.0.5:
|
||||
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
|
||||
engines: {node: '>=0.8.0'}
|
||||
dev: true
|
||||
|
||||
/eslint-scope@5.1.1:
|
||||
resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
|
||||
engines: {node: '>=8.0.0'}
|
||||
@@ -1232,6 +1502,10 @@ packages:
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: true
|
||||
|
||||
/fraction.js@4.3.7:
|
||||
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
|
||||
dev: true
|
||||
|
||||
/fresh@0.5.2:
|
||||
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
|
||||
engines: {node: '>= 0.6'}
|
||||
@@ -1337,6 +1611,11 @@ packages:
|
||||
resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
|
||||
dev: true
|
||||
|
||||
/has-flag@3.0.0:
|
||||
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/has-flag@4.0.0:
|
||||
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -1364,6 +1643,11 @@ packages:
|
||||
function-bind: 1.1.2
|
||||
dev: true
|
||||
|
||||
/he@1.2.0:
|
||||
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/hello-wasm-pack@0.1.0:
|
||||
resolution: {integrity: sha512-3hx0GDkDLf/a9ThCMV2qG4mwza8N/MCtm8aeFFc/cdBCL2zMJ1kW1wjNl7xPqD1lz8Yl5+uhnc/cpui4dLwz/w==}
|
||||
dev: true
|
||||
@@ -1381,6 +1665,40 @@ packages:
|
||||
resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==}
|
||||
dev: true
|
||||
|
||||
/html-minifier-terser@6.1.0:
|
||||
resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==}
|
||||
engines: {node: '>=12'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
camel-case: 4.1.2
|
||||
clean-css: 5.3.3
|
||||
commander: 8.3.0
|
||||
he: 1.2.0
|
||||
param-case: 3.0.4
|
||||
relateurl: 0.2.7
|
||||
terser: 5.29.2
|
||||
dev: true
|
||||
|
||||
/html-webpack-plugin@5.6.0(webpack@5.90.3):
|
||||
resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==}
|
||||
engines: {node: '>=10.13.0'}
|
||||
peerDependencies:
|
||||
'@rspack/core': 0.x || 1.x
|
||||
webpack: ^5.20.0
|
||||
peerDependenciesMeta:
|
||||
'@rspack/core':
|
||||
optional: true
|
||||
webpack:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@types/html-minifier-terser': 6.1.0
|
||||
html-minifier-terser: 6.1.0
|
||||
lodash: 4.17.21
|
||||
pretty-error: 4.0.0
|
||||
tapable: 2.2.1
|
||||
webpack: 5.90.3(webpack-cli@5.1.4)
|
||||
dev: true
|
||||
|
||||
/htmlhint@1.1.4:
|
||||
resolution: {integrity: sha512-tSKPefhIaaWDk/vKxAOQbN+QwZmDeJCq3bZZGbJMoMQAfTjepudC+MkuT9MOBbuQI3dLLzDWbmU7fLV3JASC7Q==}
|
||||
hasBin: true
|
||||
@@ -1397,6 +1715,15 @@ packages:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/htmlparser2@6.1.0:
|
||||
resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
|
||||
dependencies:
|
||||
domelementtype: 2.3.0
|
||||
domhandler: 4.3.1
|
||||
domutils: 2.8.0
|
||||
entities: 2.2.0
|
||||
dev: true
|
||||
|
||||
/http-deceiver@1.2.7:
|
||||
resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
|
||||
dev: true
|
||||
@@ -1468,11 +1795,32 @@ packages:
|
||||
safer-buffer: 2.1.2
|
||||
dev: true
|
||||
|
||||
/icss-utils@5.1.0(postcss@8.4.38):
|
||||
resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
|
||||
engines: {node: ^10 || ^12 || >= 14}
|
||||
peerDependencies:
|
||||
postcss: ^8.1.0
|
||||
dependencies:
|
||||
postcss: 8.4.38
|
||||
dev: true
|
||||
|
||||
/ignore@5.3.1:
|
||||
resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
|
||||
engines: {node: '>= 4'}
|
||||
dev: true
|
||||
|
||||
/immutable@4.3.5:
|
||||
resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==}
|
||||
dev: true
|
||||
|
||||
/import-fresh@3.3.0:
|
||||
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
|
||||
engines: {node: '>=6'}
|
||||
dependencies:
|
||||
parent-module: 1.0.1
|
||||
resolve-from: 4.0.0
|
||||
dev: true
|
||||
|
||||
/import-local@3.1.0:
|
||||
resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -1511,6 +1859,10 @@ packages:
|
||||
engines: {node: '>= 10'}
|
||||
dev: true
|
||||
|
||||
/is-arrayish@0.2.1:
|
||||
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
|
||||
dev: true
|
||||
|
||||
/is-binary-path@2.1.0:
|
||||
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -1620,6 +1972,26 @@ packages:
|
||||
supports-color: 8.1.1
|
||||
dev: true
|
||||
|
||||
/jiti@1.21.0:
|
||||
resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/jquery@3.7.1:
|
||||
resolution: {integrity: sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==}
|
||||
dev: false
|
||||
|
||||
/js-tokens@4.0.0:
|
||||
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
|
||||
dev: true
|
||||
|
||||
/js-yaml@4.1.0:
|
||||
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
argparse: 2.0.1
|
||||
dev: true
|
||||
|
||||
/json-parse-even-better-errors@2.3.1:
|
||||
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
|
||||
dev: true
|
||||
@@ -1648,6 +2020,10 @@ packages:
|
||||
shell-quote: 1.8.1
|
||||
dev: true
|
||||
|
||||
/lines-and-columns@1.2.4:
|
||||
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
|
||||
dev: true
|
||||
|
||||
/loader-runner@4.3.0:
|
||||
resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
|
||||
engines: {node: '>=6.11.5'}
|
||||
@@ -1662,7 +2038,12 @@ packages:
|
||||
|
||||
/lodash@4.17.21:
|
||||
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
|
||||
dev: false
|
||||
|
||||
/lower-case@2.0.2:
|
||||
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
|
||||
dependencies:
|
||||
tslib: 2.6.2
|
||||
dev: true
|
||||
|
||||
/lru-cache@10.2.0:
|
||||
resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==}
|
||||
@@ -1746,6 +2127,17 @@ packages:
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/mini-css-extract-plugin@2.8.1(webpack@5.90.3):
|
||||
resolution: {integrity: sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==}
|
||||
engines: {node: '>= 12.13.0'}
|
||||
peerDependencies:
|
||||
webpack: ^5.0.0
|
||||
dependencies:
|
||||
schema-utils: 4.2.0
|
||||
tapable: 2.2.1
|
||||
webpack: 5.90.3(webpack-cli@5.1.4)
|
||||
dev: true
|
||||
|
||||
/minimalistic-assert@1.0.1:
|
||||
resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
|
||||
dev: true
|
||||
@@ -1788,6 +2180,12 @@ packages:
|
||||
thunky: 1.1.0
|
||||
dev: true
|
||||
|
||||
/nanoid@3.3.7:
|
||||
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
|
||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/negotiator@0.6.3:
|
||||
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
@@ -1797,6 +2195,13 @@ packages:
|
||||
resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
|
||||
dev: true
|
||||
|
||||
/no-case@3.0.4:
|
||||
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
|
||||
dependencies:
|
||||
lower-case: 2.0.2
|
||||
tslib: 2.6.2
|
||||
dev: true
|
||||
|
||||
/node-fetch@2.7.0:
|
||||
resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
|
||||
engines: {node: 4.x || >=6.0.0}
|
||||
@@ -1823,6 +2228,11 @@ packages:
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/normalize-range@0.1.2:
|
||||
resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/npm-run-path@4.0.1:
|
||||
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -1830,6 +2240,12 @@ packages:
|
||||
path-key: 3.1.1
|
||||
dev: true
|
||||
|
||||
/nth-check@2.1.1:
|
||||
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
|
||||
dependencies:
|
||||
boolbase: 1.0.0
|
||||
dev: true
|
||||
|
||||
/object-inspect@1.13.1:
|
||||
resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
|
||||
dev: true
|
||||
@@ -1901,11 +2317,42 @@ packages:
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/param-case@3.0.4:
|
||||
resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
|
||||
dependencies:
|
||||
dot-case: 3.0.4
|
||||
tslib: 2.6.2
|
||||
dev: true
|
||||
|
||||
/parent-module@1.0.1:
|
||||
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
|
||||
engines: {node: '>=6'}
|
||||
dependencies:
|
||||
callsites: 3.1.0
|
||||
dev: true
|
||||
|
||||
/parse-json@5.2.0:
|
||||
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.24.2
|
||||
error-ex: 1.3.2
|
||||
json-parse-even-better-errors: 2.3.1
|
||||
lines-and-columns: 1.2.4
|
||||
dev: true
|
||||
|
||||
/parseurl@1.3.3:
|
||||
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
|
||||
engines: {node: '>= 0.8'}
|
||||
dev: true
|
||||
|
||||
/pascal-case@3.1.2:
|
||||
resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
|
||||
dependencies:
|
||||
no-case: 3.0.4
|
||||
tslib: 2.6.2
|
||||
dev: true
|
||||
|
||||
/path-exists@4.0.0:
|
||||
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -1959,6 +2406,97 @@ packages:
|
||||
find-up: 4.1.0
|
||||
dev: true
|
||||
|
||||
/postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.4.2)(webpack@5.90.3):
|
||||
resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==}
|
||||
engines: {node: '>= 18.12.0'}
|
||||
peerDependencies:
|
||||
'@rspack/core': 0.x || 1.x
|
||||
postcss: ^7.0.0 || ^8.0.1
|
||||
webpack: ^5.0.0
|
||||
peerDependenciesMeta:
|
||||
'@rspack/core':
|
||||
optional: true
|
||||
webpack:
|
||||
optional: true
|
||||
dependencies:
|
||||
cosmiconfig: 9.0.0(typescript@5.4.2)
|
||||
jiti: 1.21.0
|
||||
postcss: 8.4.38
|
||||
semver: 7.6.0
|
||||
webpack: 5.90.3(webpack-cli@5.1.4)
|
||||
transitivePeerDependencies:
|
||||
- typescript
|
||||
dev: true
|
||||
|
||||
/postcss-modules-extract-imports@3.0.0(postcss@8.4.38):
|
||||
resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==}
|
||||
engines: {node: ^10 || ^12 || >= 14}
|
||||
peerDependencies:
|
||||
postcss: ^8.1.0
|
||||
dependencies:
|
||||
postcss: 8.4.38
|
||||
dev: true
|
||||
|
||||
/postcss-modules-local-by-default@4.0.4(postcss@8.4.38):
|
||||
resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==}
|
||||
engines: {node: ^10 || ^12 || >= 14}
|
||||
peerDependencies:
|
||||
postcss: ^8.1.0
|
||||
dependencies:
|
||||
icss-utils: 5.1.0(postcss@8.4.38)
|
||||
postcss: 8.4.38
|
||||
postcss-selector-parser: 6.0.16
|
||||
postcss-value-parser: 4.2.0
|
||||
dev: true
|
||||
|
||||
/postcss-modules-scope@3.1.1(postcss@8.4.38):
|
||||
resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==}
|
||||
engines: {node: ^10 || ^12 || >= 14}
|
||||
peerDependencies:
|
||||
postcss: ^8.1.0
|
||||
dependencies:
|
||||
postcss: 8.4.38
|
||||
postcss-selector-parser: 6.0.16
|
||||
dev: true
|
||||
|
||||
/postcss-modules-values@4.0.0(postcss@8.4.38):
|
||||
resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
|
||||
engines: {node: ^10 || ^12 || >= 14}
|
||||
peerDependencies:
|
||||
postcss: ^8.1.0
|
||||
dependencies:
|
||||
icss-utils: 5.1.0(postcss@8.4.38)
|
||||
postcss: 8.4.38
|
||||
dev: true
|
||||
|
||||
/postcss-selector-parser@6.0.16:
|
||||
resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
cssesc: 3.0.0
|
||||
util-deprecate: 1.0.2
|
||||
dev: true
|
||||
|
||||
/postcss-value-parser@4.2.0:
|
||||
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
|
||||
dev: true
|
||||
|
||||
/postcss@8.4.38:
|
||||
resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
dependencies:
|
||||
nanoid: 3.3.7
|
||||
picocolors: 1.0.0
|
||||
source-map-js: 1.2.0
|
||||
dev: true
|
||||
|
||||
/pretty-error@4.0.0:
|
||||
resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==}
|
||||
dependencies:
|
||||
lodash: 4.17.21
|
||||
renderkid: 3.0.0
|
||||
dev: true
|
||||
|
||||
/process-nextick-args@2.0.1:
|
||||
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
|
||||
dev: true
|
||||
@@ -2048,6 +2586,21 @@ packages:
|
||||
resolution: {integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==}
|
||||
dev: false
|
||||
|
||||
/relateurl@0.2.7:
|
||||
resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
|
||||
engines: {node: '>= 0.10'}
|
||||
dev: true
|
||||
|
||||
/renderkid@3.0.0:
|
||||
resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==}
|
||||
dependencies:
|
||||
css-select: 4.3.0
|
||||
dom-converter: 0.2.0
|
||||
htmlparser2: 6.1.0
|
||||
lodash: 4.17.21
|
||||
strip-ansi: 6.0.1
|
||||
dev: true
|
||||
|
||||
/require-from-string@2.0.2:
|
||||
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@@ -2064,6 +2617,11 @@ packages:
|
||||
resolve-from: 5.0.0
|
||||
dev: true
|
||||
|
||||
/resolve-from@4.0.0:
|
||||
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/resolve-from@5.0.0:
|
||||
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -2119,6 +2677,42 @@ packages:
|
||||
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
||||
dev: true
|
||||
|
||||
/sass-loader@14.1.1(sass@1.72.0)(webpack@5.90.3):
|
||||
resolution: {integrity: sha512-QX8AasDg75monlybel38BZ49JP5Z+uSKfKwF2rO7S74BywaRmGQMUBw9dtkS+ekyM/QnP+NOrRYq8ABMZ9G8jw==}
|
||||
engines: {node: '>= 18.12.0'}
|
||||
peerDependencies:
|
||||
'@rspack/core': 0.x || 1.x
|
||||
node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
|
||||
sass: ^1.3.0
|
||||
sass-embedded: '*'
|
||||
webpack: ^5.0.0
|
||||
peerDependenciesMeta:
|
||||
'@rspack/core':
|
||||
optional: true
|
||||
node-sass:
|
||||
optional: true
|
||||
sass:
|
||||
optional: true
|
||||
sass-embedded:
|
||||
optional: true
|
||||
webpack:
|
||||
optional: true
|
||||
dependencies:
|
||||
neo-async: 2.6.2
|
||||
sass: 1.72.0
|
||||
webpack: 5.90.3(webpack-cli@5.1.4)
|
||||
dev: true
|
||||
|
||||
/sass@1.72.0:
|
||||
resolution: {integrity: sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
chokidar: 3.6.0
|
||||
immutable: 4.3.5
|
||||
source-map-js: 1.2.0
|
||||
dev: true
|
||||
|
||||
/schema-utils@3.3.0:
|
||||
resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
|
||||
engines: {node: '>= 10.13.0'}
|
||||
@@ -2294,6 +2888,11 @@ packages:
|
||||
websocket-driver: 0.7.4
|
||||
dev: true
|
||||
|
||||
/source-map-js@1.2.0:
|
||||
resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/source-map-support@0.5.21:
|
||||
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
|
||||
dependencies:
|
||||
@@ -2401,6 +3000,22 @@ packages:
|
||||
engines: {node: '>=8'}
|
||||
dev: false
|
||||
|
||||
/style-loader@3.3.4(webpack@5.90.3):
|
||||
resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==}
|
||||
engines: {node: '>= 12.13.0'}
|
||||
peerDependencies:
|
||||
webpack: ^5.0.0
|
||||
dependencies:
|
||||
webpack: 5.90.3(webpack-cli@5.1.4)
|
||||
dev: true
|
||||
|
||||
/supports-color@5.5.0:
|
||||
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
has-flag: 3.0.0
|
||||
dev: true
|
||||
|
||||
/supports-color@7.2.0:
|
||||
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -2549,6 +3164,10 @@ packages:
|
||||
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
||||
dev: true
|
||||
|
||||
/utila@0.4.0:
|
||||
resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==}
|
||||
dev: true
|
||||
|
||||
/utils-merge@1.0.1:
|
||||
resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
|
||||
engines: {node: '>= 0.4.0'}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<html data-bs-theme="dark">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
@@ -11,21 +11,8 @@
|
||||
<meta property="og:image" content="https://ryex.github.io/ic10emu/img/embed_preview.png" />
|
||||
<meta property="og:url" content="https://ryex.github.io/ic10emu/" />
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/js/bootstrap.bundle.min.js"
|
||||
integrity="sha512-7Pi/otdlbbCR+LnW+F7PwFcSDJOuUJB3OxtEHbg4vSMvzvJjde4Po1v4BR9Gdc9aXNUNFVUY+SK51wWT8WF0Gg=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/css/bootstrap-reboot.min.css"
|
||||
integrity="sha512-HJaQ4y3YcUGCWikWDn8bFeGTy3Z/3IbxFYQ9G3UAWx16PyTL6Nu5P/BDDV9s0WhK3Sq27Wtbk/6IcwGmGSMXYg=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/css/bootstrap.min.css"
|
||||
integrity="sha512-jnSuA4Ss2PkkikSOLtYs8BlYIeeIK1h99ty4YfvRPAlzr377vr3CXDb7sb7eEEBYjDtcYj+AjBH3FLv5uSJuXg=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/css/bootstrap-grid.min.css"
|
||||
integrity="sha512-i1b/nzkVo97VN5WbEtaPebBG8REvjWeqNclJ6AItj7msdVcaveKrlIIByDpvjk5nwHjXkIqGZscVxOrTb9tsMA=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/css/bootstrap-utilities.min.css"
|
||||
integrity="sha512-4ocAKAxnrkSm7MvkkF1D435kko3/HWWvoi/U9+7+ln94B/U01Mggca05Pm3W59BIv3abl0U3MPdygAPLo5aeqg=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||
<link rel="stylesheet" href="./main.css">
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/js/fontawesome.min.js"
|
||||
integrity="sha512-C8qHv0HOaf4yoA7ISuuCTrsPX8qjolYTZyoFRKNA9dFKnxgzIHnYTOJhXQIt6zwpIFzCrRzUBuVgtC4e5K1nhA=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
@@ -44,13 +31,11 @@
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/brands.min.css"
|
||||
integrity="sha512-8RxmFOVaKQe/xtg6lbscU9DU0IRhURWEuiI0tXevv+lXbAHfkpamD4VKFQRto9WgfOJDwOZ74c/s9Yesv3VvIQ=="
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||
<link rel="stylesheet" href="css/dark.css" />
|
||||
</head>
|
||||
|
||||
<body class="">
|
||||
<noscript>This page contains webassembly and javascript content, please enable javascript in your browser.</noscript>
|
||||
<script src="./bootstrap.js"></script>
|
||||
<div class="App" data-bs-theme="dark">
|
||||
<div class="App" >
|
||||
<div id="modelShareLink" class="modal fade" tabindex="-1" aria-hidden="true" data-bs-theme="dark">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
483
www/src/index.js
483
www/src/index.js
@@ -1,483 +0,0 @@
|
||||
import { init } from "ic10emu_wasm";
|
||||
import * as ace from "ace-code";
|
||||
import { Mode as IC10Mode } from "./ic10_mode";
|
||||
import * as theme from "ace-code/src/theme/one_dark";
|
||||
import { AceLanguageClient } from "ace-linters/build/ace-language-client";
|
||||
import ace_ext_statusbar from "ace-code/src/ext/statusbar";
|
||||
import ace_ext_keybinding_menu from "ace-code/src/ext/keybinding_menu";
|
||||
import _ace_ext_langue_tools from "ace-code/src/ext/language_tools";
|
||||
|
||||
// make sure Ace can load through webpack
|
||||
// trimmed down version of https://github.com/ajaxorg/ace-builds/blob/master/esm-resolver.js but for ace-code
|
||||
ace.config.setModuleLoader("ace/theme/one_dark", () => import("ace-code/src/theme/one_dark"));
|
||||
ace.config.setModuleLoader('ace/ext/beautify', () => import('ace-code/src/ext/beautify.js'));
|
||||
ace.config.setModuleLoader('ace/ext/code_lens', () => import('ace-code/src/ext/code_lens.js'));
|
||||
ace.config.setModuleLoader('ace/ext/command_bar', () => import('ace-code/src/ext/command_bar.js'));
|
||||
ace.config.setModuleLoader('ace/ext/elastic_tabstops_lite', () => import('ace-code/src/ext/elastic_tabstops_lite.js'));
|
||||
ace.config.setModuleLoader('ace/ext/emmet', () => import('ace-code/src/ext/emmet.js'));
|
||||
ace.config.setModuleLoader('ace/ext/error_marker', () => import('ace-code/src/ext/error_marker.js'));
|
||||
ace.config.setModuleLoader('ace/ext/hardwrap', () => import('ace-code/src/ext/hardwrap.js'));
|
||||
ace.config.setModuleLoader('ace/ext/inline_autocomplete', () => import('ace-code/src/ext/inline_autocomplete.js'));
|
||||
ace.config.setModuleLoader('ace/ext/keyboard_menu', () => import('ace-code/src/ext/keybinding_menu.js'));
|
||||
ace.config.setModuleLoader('ace/ext/language_tools', () => import('ace-code/src/ext/language_tools.js'));
|
||||
ace.config.setModuleLoader('ace/ext/linking', () => import('ace-code/src/ext/linking.js'));
|
||||
ace.config.setModuleLoader('ace/ext/modelist', () => import('ace-code/src/ext/modelist.js'));
|
||||
ace.config.setModuleLoader('ace/ext/options', () => import('ace-code/src/ext/options.js'));
|
||||
ace.config.setModuleLoader('ace/ext/prompt', () => import('ace-code/src/ext/prompt.js'));
|
||||
ace.config.setModuleLoader('ace/ext/rtl', () => import('ace-code/src/ext/rtl.js'));
|
||||
ace.config.setModuleLoader('ace/ext/searchbox', () => import('ace-code/src/ext/searchbox.js'));
|
||||
// ace.config.setModuleLoader('ace/ext/settings_menu', () => import('ace-code/src/ext/settings_menu.js'));
|
||||
ace.config.setModuleLoader('ace/ext/simple_tokenizer', () => import('ace-code/src/ext/simple_tokenizer.js'));
|
||||
ace.config.setModuleLoader('ace/ext/spellcheck', () => import('ace-code/src/ext/spellcheck.js'));
|
||||
ace.config.setModuleLoader('ace/ext/split', () => import('ace-code/src/ext/split.js'));
|
||||
ace.config.setModuleLoader('ace/ext/static_highlight', () => import('ace-code/src/ext/static_highlight.js'));
|
||||
ace.config.setModuleLoader('ace/ext/statusbar', () => import('ace-code/src/ext/statusbar.js'));
|
||||
ace.config.setModuleLoader('ace/ext/textarea', () => import('ace-code/src/ext/textarea.js'));
|
||||
ace.config.setModuleLoader('ace/ext/themelist', () => import('ace-code/src/ext/themelist.js'));
|
||||
ace.config.setModuleLoader('ace/ext/whitespace', () => import('ace-code/src/ext/whitespace.js'));
|
||||
ace.config.setModuleLoader('ace/keyboard/emacs', () => import('ace-code/src/keyboard/emacs.js'));
|
||||
ace.config.setModuleLoader('ace/keyboard/sublime', () => import('ace-code/src/keyboard/sublime.js'));
|
||||
ace.config.setModuleLoader('ace/keyboard/vim', () => import('ace-code/src/keyboard/vim.js'));
|
||||
ace.config.setModuleLoader('ace/keyboard/vscode', () => import('ace-code/src/keyboard/vscode.js'));
|
||||
|
||||
function docReady(fn) {
|
||||
// see if DOM is already available
|
||||
if (document.readyState === "complete" || document.readyState === "interactive") {
|
||||
setTimeout(fn, 1);
|
||||
} else {
|
||||
document.addEventListener("DOMContentLoaded", fn);
|
||||
}
|
||||
}
|
||||
|
||||
init();
|
||||
|
||||
const demoCode = `# Highlighting Demo
|
||||
# This is a comment
|
||||
|
||||
# Hover a define id anywhere to see it's definition
|
||||
define a_def 10
|
||||
|
||||
# Hover HASH("String")'s to see computed crc32
|
||||
# hover here vvvvvvvvvvvvvvvv
|
||||
define a_hash HASH("This is a String")
|
||||
|
||||
# hover over an alias anywhere in the code
|
||||
# to see it's definition
|
||||
alias a_var r0
|
||||
alias a_device d0
|
||||
|
||||
# instructions have Auto Completion,
|
||||
# numeric logic types are identified on hover
|
||||
s db 12 0
|
||||
# ^^
|
||||
# hover here
|
||||
|
||||
# Enums and their values are Known, Hover them!
|
||||
# vvvvvvvvvvvvvvvvvv
|
||||
move r2 LogicType.Temperature
|
||||
|
||||
# same with constants
|
||||
# vvvv
|
||||
move r3 pinf
|
||||
|
||||
# Labels are known
|
||||
main:
|
||||
l r1 dr15 RatioWater
|
||||
move r2 100000.001
|
||||
|
||||
# Hover Hash Strings of Known prefab names
|
||||
# to get their documentation
|
||||
# vvvvvvvvvvvvvvv
|
||||
move r0 HASH("AccessCardBlack")
|
||||
beqz r1 test
|
||||
|
||||
# -2045627372 is the crc32 hash of a SolarPanel,
|
||||
# hover it to see the documentation!
|
||||
# vvvvvvvvvv
|
||||
move r1 -2045627372
|
||||
jal test
|
||||
move r1 $FF
|
||||
beqz 0 test
|
||||
move r1 %1000
|
||||
yield
|
||||
j main
|
||||
|
||||
test:
|
||||
add r15 r15 1
|
||||
j ra
|
||||
|
||||
`
|
||||
|
||||
const loaded = w =>
|
||||
new Promise(r => w.addEventListener("message", r, { once: true }));
|
||||
|
||||
function base64url_encode(buffer) {
|
||||
return btoa(Array.from(new Uint8Array(buffer), b => String.fromCharCode(b)).join(''))
|
||||
.replace(/\+/g, '-')
|
||||
.replace(/\//g, '_')
|
||||
.replace(/=+$/, '');
|
||||
}
|
||||
|
||||
function base64url_decode(value) {
|
||||
const m = value.length % 4;
|
||||
return Uint8Array.from(atob(
|
||||
value.replace(/-/g, '+')
|
||||
.replace(/_/g, '/')
|
||||
.padEnd(value.length + (m === 0 ? 0 : 4 - m), '=')
|
||||
), c => c.charCodeAt(0)).buffer
|
||||
}
|
||||
|
||||
async function concatUintArrays(arrays) {
|
||||
const blob = new Blob(arrays);
|
||||
const buffer = await blob.arrayBuffer();
|
||||
return new Uint8Array(buffer);
|
||||
}
|
||||
|
||||
async function* streamAsyncIterator(stream) {
|
||||
// Get a lock on the stream
|
||||
const reader = stream.getReader();
|
||||
|
||||
try {
|
||||
while (true) {
|
||||
// Read from the stream
|
||||
const { done, value } = await reader.read();
|
||||
if (done) return;
|
||||
yield value;
|
||||
}
|
||||
}
|
||||
finally {
|
||||
reader.releaseLock();
|
||||
}
|
||||
}
|
||||
|
||||
async function compress(bytes) {
|
||||
const s = new Blob([bytes]).stream();
|
||||
const cs = s.pipeThrough(
|
||||
new CompressionStream('deflate-raw')
|
||||
);
|
||||
const chunks = [];
|
||||
for await (const chunk of streamAsyncIterator(cs)) {
|
||||
chunks.push(chunk);
|
||||
}
|
||||
return await concatUintArrays(chunks);
|
||||
}
|
||||
|
||||
async function decompress(bytes) {
|
||||
const s = new Blob([bytes]).stream();
|
||||
const ds = s.pipeThrough(
|
||||
new DecompressionStream('deflate-raw')
|
||||
);
|
||||
const chunks = [];
|
||||
for await (const chunk of streamAsyncIterator(ds)) {
|
||||
chunks.push(chunk);
|
||||
}
|
||||
return await concatUintArrays(chunks);
|
||||
}
|
||||
|
||||
|
||||
async function setDocFragment(content) {
|
||||
const obj = JSON.stringify({ sessions: [{ content }] })
|
||||
const bytes = new TextEncoder().encode(obj);
|
||||
try {
|
||||
const c_bytes = await compress(bytes);
|
||||
const fragment = base64url_encode(c_bytes);
|
||||
window.history.replaceState(null, "", `#${fragment}`);
|
||||
} catch (e) {
|
||||
console.log("Error compressing content fragment:", e);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
async function decompressFragment(c_bytes) {
|
||||
try {
|
||||
const bytes = await decompress(c_bytes);
|
||||
const content = new TextDecoder().decode(bytes);
|
||||
return content;
|
||||
} catch (e) {
|
||||
console.log("Error decompressing content fragment:", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
function isJsonContent(content) {
|
||||
try {
|
||||
const obj = JSON.parse(content);
|
||||
return [true, obj];
|
||||
} catch (_) {
|
||||
return [false, null];
|
||||
}
|
||||
}
|
||||
|
||||
async function getContentFromFragment(editor, default_content) {
|
||||
const fragment = window.location.hash.slice(1);
|
||||
if (fragment.length > 0) {
|
||||
const c_bytes = base64url_decode(fragment);
|
||||
const data = await decompressFragment(c_bytes);
|
||||
if (data !== null) {
|
||||
const [is_json, session] = isJsonContent(data);
|
||||
if (is_json) {
|
||||
try {
|
||||
const content = session.sessions[0].content
|
||||
editor.getSession().setValue(content);
|
||||
return;
|
||||
} catch (e) {
|
||||
console.log("Bad session data:", e);
|
||||
}
|
||||
} else {
|
||||
editor.getSession().setValue(data);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
editor.getSession().setValue(default_content);
|
||||
}
|
||||
|
||||
async function setupLsp(editor, mode) {
|
||||
// Create a web worker
|
||||
let worker = new Worker(new URL('./lspWorker.js', import.meta.url));
|
||||
await Promise.all([loaded(worker)]);
|
||||
|
||||
const serverData = {
|
||||
module: () => import("ace-linters/build/language-client"),
|
||||
modes: "ic10",
|
||||
type: "webworker",
|
||||
worker: worker,
|
||||
}
|
||||
// Create a language provider for web worker
|
||||
let languageProvider = AceLanguageClient.for(serverData);
|
||||
// Register the editor with the language provider
|
||||
languageProvider.registerEditor(editor);
|
||||
|
||||
let options = mode.options ?? {};
|
||||
languageProvider.setSessionOptions(editor.session, options);
|
||||
|
||||
}
|
||||
|
||||
function reCalcEditorSize(editor) {
|
||||
const navBar = document.getElementById("navBar");
|
||||
const statusBarContainer = document.getElementById("statusBarContainer");
|
||||
|
||||
const correction = navBar.offsetHeight + statusBarContainer.offsetHeight;
|
||||
const editorContainer = document.getElementById("editor");
|
||||
editorContainer.style.height = `calc( 100vh - ${correction}px - 0.5rem)`;
|
||||
editor.resize(true);
|
||||
}
|
||||
|
||||
const EditorSettings = {
|
||||
keyboard: "ace",
|
||||
cursor: "ace",
|
||||
fontSize: 16,
|
||||
relativeLineNumbers: false,
|
||||
}
|
||||
|
||||
function loadEditorSettings(settings) {
|
||||
const saved_settings = window.localStorage.getItem("editorSettings");
|
||||
if (saved_settings !== null && saved_settings.length > 0) {
|
||||
try {
|
||||
const saved = JSON.parse(saved_settings);
|
||||
const temp = Object.assign({}, settings, saved);
|
||||
console.log("tmp load", temp);
|
||||
Object.assign(settings, temp);
|
||||
} catch (e) {
|
||||
console.log("error loading editor settings", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function saveEditorSettings(settings) {
|
||||
const toSave = JSON.stringify(settings);
|
||||
window.localStorage.setItem("editorSettings", toSave);
|
||||
}
|
||||
|
||||
function updateEditorSettings(editor, settings) {
|
||||
if (settings.keyboard === 'ace') {
|
||||
editor.setOption('keyboardHandler', null);
|
||||
} else {
|
||||
editor.setOption('keyboardHandler', `ace/keyboard/${settings.keyboard}`);
|
||||
}
|
||||
editor.setOption('cursorStyle', settings.cursor);
|
||||
editor.setOption('fontSize', `${settings.fontSize}px`);
|
||||
editor.setOption('relativeLineNumbers', settings.relativeLineNumbers);
|
||||
}
|
||||
|
||||
function displayEditorSettings(settings) {
|
||||
document.getElementsByName("editorKeybindRadio").forEach((el) => {
|
||||
el.checked = el.value === settings.keyboard;
|
||||
});
|
||||
document.getElementsByName("editorCursorRadio").forEach((el) => {
|
||||
el.checked = el.value === settings.cursor;
|
||||
});
|
||||
document.getElementById("editorSettingsFontSize").value = settings.fontSize;
|
||||
document.getElementById("editorSettingsRelativeLineNumbers").checked = settings.relativeLineNumbers;
|
||||
}
|
||||
|
||||
docReady(() => {
|
||||
const mode = new IC10Mode()
|
||||
var editor = ace.edit("editor", {
|
||||
mode: mode,
|
||||
enableBasicAutocompletion: true,
|
||||
enableLiveAutocompletion: true,
|
||||
enableSnippets: true,
|
||||
// theme: theme,
|
||||
fontSize: "16px",
|
||||
customScrollbar: false,
|
||||
firstLineNumber: 0,
|
||||
printMarginColumn: 52,
|
||||
});
|
||||
|
||||
editor.commands.addCommand({
|
||||
name: "showSettingsMenu",
|
||||
description: "Show settings menu",
|
||||
bindKey: { win: "Ctrl-,", mac: "Command-," },
|
||||
exec: (_editor) => {
|
||||
const offCanvas = new bootstrap.Offcanvas(document.getElementById("editorSettings"));
|
||||
offCanvas.toggle();
|
||||
}
|
||||
});
|
||||
|
||||
loadEditorSettings(EditorSettings);
|
||||
displayEditorSettings(EditorSettings);
|
||||
updateEditorSettings(editor, EditorSettings);
|
||||
reCalcEditorSize(editor);
|
||||
window.addEventListener('resize', (e) => { reCalcEditorSize(editor) });
|
||||
|
||||
document.getElementsByName("editorKeybindRadio").forEach((el) => {
|
||||
el.addEventListener('change', (e) => {
|
||||
EditorSettings.keyboard = e.target.value;
|
||||
saveEditorSettings(EditorSettings);
|
||||
updateEditorSettings(editor, EditorSettings);
|
||||
})
|
||||
});
|
||||
document.getElementsByName("editorCursorRadio").forEach((el) => {
|
||||
el.addEventListener('change', (e) => {
|
||||
EditorSettings.cursor = e.target.value;
|
||||
saveEditorSettings(EditorSettings);
|
||||
updateEditorSettings(editor, EditorSettings);
|
||||
})
|
||||
});
|
||||
document.getElementById("editorSettingsFontSize").addEventListener('change', (e) => {
|
||||
EditorSettings.fontSize = e.target.value;
|
||||
saveEditorSettings(EditorSettings);
|
||||
updateEditorSettings(editor, EditorSettings);
|
||||
});
|
||||
document.getElementById("editorSettingsRelativeLineNumbers").addEventListener('change', (e) => {
|
||||
EditorSettings.relativeLineNumbers = e.target.checked;
|
||||
saveEditorSettings(EditorSettings);
|
||||
updateEditorSettings(editor, EditorSettings);
|
||||
})
|
||||
|
||||
console.log(editor.getOption('keyboardHandler'));
|
||||
|
||||
let sessionChangeTimeout = 0;
|
||||
editor.getSession().on('change', () => {
|
||||
if (sessionChangeTimeout) clearTimeout(sessionChangeTimeout);
|
||||
sessionChangeTimeout = setTimeout(() => {
|
||||
var val = editor.getSession().getValue();
|
||||
setDocFragment(val);
|
||||
sessionChangeTimeout = 0;
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
editor.setTheme("ace/theme/one_dark");
|
||||
var statusBar = new ace_ext_statusbar.StatusBar(editor, document.getElementById("statusBar"));
|
||||
statusBar.updateStatus(editor);
|
||||
ace_ext_keybinding_menu.init(editor);
|
||||
// editor.setOption("keyboardHandler", "ace/keyboard/vim");
|
||||
editor.setAutoScrollEditorIntoView(true);
|
||||
|
||||
|
||||
editor.session.setValue(demoCode)
|
||||
setupLsp(editor, mode);
|
||||
|
||||
getContentFromFragment(editor, demoCode);
|
||||
|
||||
window.addEventListener('hashchange', (_event) => {
|
||||
getContentFromFragment(editor, "");
|
||||
});
|
||||
|
||||
// Menu
|
||||
document.getElementById("mainMenuShare").addEventListener('click', (_event) => {
|
||||
const link = document.getElementById("shareLinkText");
|
||||
link.setAttribute('value', window.location);
|
||||
link.setSelectionRange(0, 0);
|
||||
}, { capture: true });
|
||||
document.getElementById("shareLinkCopyButton").addEventListener('click', (event) => {
|
||||
event.preventDefault();
|
||||
const link = document.getElementById("shareLinkText");
|
||||
link.select();
|
||||
link.setSelectionRange(0, 99999);
|
||||
navigator.clipboard.writeText(link.value);
|
||||
}, { capture: true });
|
||||
document.getElementById("mainMenuOpenFile").addEventListener('click', (_event) => {
|
||||
openFile(editor);
|
||||
}, { capture: true });
|
||||
document.getElementById("mainMenuSaveAs").addEventListener('click', (_event) => {
|
||||
saveFile(editor.getSession().getValue())
|
||||
|
||||
}, { capture: true });
|
||||
document.getElementById("mainMenuKeyboardShortcuts").addEventListener('click', (_event) => {
|
||||
editor.execCommand("showKeyboardShortcuts");
|
||||
}, { capture: true });
|
||||
});
|
||||
|
||||
async function saveFile(content) {
|
||||
const blob = new Blob([content], { type: "text/plain" });
|
||||
if (typeof window.showSaveFilePicker !== "undefined") {
|
||||
console.log("Saving via FileSystem API")
|
||||
const options = {
|
||||
types: [
|
||||
{
|
||||
suggestedName: "code.ic10",
|
||||
description: 'Text Files',
|
||||
accept: {
|
||||
'text/plain': ['.txt', '.ic10'],
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
const saveHandle = await window.showSaveFilePicker(options);
|
||||
const ws = await saveHandle.createWritable();
|
||||
await ws.write(blob);
|
||||
await ws.close();
|
||||
} else {
|
||||
console.log("saving file via hidden link event");
|
||||
var a = document.createElement('a');
|
||||
a.download = "code.ic10";
|
||||
a.href = window.URL.createObjectURL(blob);
|
||||
a.click();
|
||||
}
|
||||
}
|
||||
|
||||
async function openFile(editor) {
|
||||
if (typeof window.showOpenFilePicker !== "undefined") {
|
||||
console.log("opening file via FileSystem Api");
|
||||
const [fileHandle] = await window.showOpenFilePicker();
|
||||
const file = await fileHandle.getFile();
|
||||
const contents = await file.text();
|
||||
const session = editor.getSession();
|
||||
session.setValue(contents);
|
||||
} else {
|
||||
console.log("opening file via hidden input event");
|
||||
let input = document.createElement('input');
|
||||
input.type = 'file';
|
||||
input.accept = ".txt,.ic10,.mips,text/*";
|
||||
input.onchange = _ => {
|
||||
const files = Array.from(input.files);
|
||||
console.log(files);
|
||||
const file = files[0];
|
||||
var reader = new FileReader();
|
||||
reader.onload = (e) => {
|
||||
const contents = e.target.result;
|
||||
const session = editor.getSession();
|
||||
// session.id = file.name;
|
||||
session.setValue(contents);
|
||||
};
|
||||
reader.readAsText(file);
|
||||
};
|
||||
input.click();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
41
www/src/js/editor/ace.js
Normal file
41
www/src/js/editor/ace.js
Normal file
@@ -0,0 +1,41 @@
|
||||
import * as ace from "ace-code"
|
||||
|
||||
// make sure Ace can load through webpack
|
||||
// trimmed down version of https://github.com/ajaxorg/ace-builds/blob/master/esm-resolver.js but for ace-code
|
||||
ace.config.setModuleLoader("ace/theme/one_dark", () => import("ace-code/src/theme/one_dark"));
|
||||
ace.config.setModuleLoader("ace/theme/textmate", () => import("ace-code/src/theme/textmate"));
|
||||
|
||||
ace.config.setModuleLoader('ace/ext/beautify', () => import('ace-code/src/ext/beautify.js'));
|
||||
ace.config.setModuleLoader('ace/ext/code_lens', () => import('ace-code/src/ext/code_lens.js'));
|
||||
ace.config.setModuleLoader('ace/ext/command_bar', () => import('ace-code/src/ext/command_bar.js'));
|
||||
ace.config.setModuleLoader('ace/ext/elastic_tabstops_lite', () => import('ace-code/src/ext/elastic_tabstops_lite.js'));
|
||||
ace.config.setModuleLoader('ace/ext/emmet', () => import('ace-code/src/ext/emmet.js'));
|
||||
ace.config.setModuleLoader('ace/ext/error_marker', () => import('ace-code/src/ext/error_marker.js'));
|
||||
ace.config.setModuleLoader('ace/ext/hardwrap', () => import('ace-code/src/ext/hardwrap.js'));
|
||||
ace.config.setModuleLoader('ace/ext/inline_autocomplete', () => import('ace-code/src/ext/inline_autocomplete.js'));
|
||||
ace.config.setModuleLoader('ace/ext/keyboard_menu', () => import('ace-code/src/ext/keybinding_menu.js'));
|
||||
ace.config.setModuleLoader('ace/ext/language_tools', () => import('ace-code/src/ext/language_tools.js'));
|
||||
ace.config.setModuleLoader('ace/ext/linking', () => import('ace-code/src/ext/linking.js'));
|
||||
ace.config.setModuleLoader('ace/ext/modelist', () => import('ace-code/src/ext/modelist.js'));
|
||||
ace.config.setModuleLoader('ace/ext/options', () => import('ace-code/src/ext/options.js'));
|
||||
// ace.config.setModuleLoader('ace/ext/prompt', () => import('ace-code/src/ext/prompt.js'));
|
||||
ace.config.setModuleLoader('ace/ext/prompt', () => import('./prompt_patch'));
|
||||
ace.config.setModuleLoader('ace/ext/rtl', () => import('ace-code/src/ext/rtl.js'));
|
||||
ace.config.setModuleLoader('ace/ext/searchbox', () => import('ace-code/src/ext/searchbox.js'));
|
||||
// ace.config.setModuleLoader('ace/ext/settings_menu', () => import('ace-code/src/ext/settings_menu.js'));
|
||||
ace.config.setModuleLoader('ace/ext/simple_tokenizer', () => import('ace-code/src/ext/simple_tokenizer.js'));
|
||||
ace.config.setModuleLoader('ace/ext/spellcheck', () => import('ace-code/src/ext/spellcheck.js'));
|
||||
ace.config.setModuleLoader('ace/ext/split', () => import('ace-code/src/ext/split.js'));
|
||||
ace.config.setModuleLoader('ace/ext/static_highlight', () => import('ace-code/src/ext/static_highlight.js'));
|
||||
ace.config.setModuleLoader('ace/ext/statusbar', () => import('ace-code/src/ext/statusbar.js'));
|
||||
ace.config.setModuleLoader('ace/ext/textarea', () => import('ace-code/src/ext/textarea.js'));
|
||||
ace.config.setModuleLoader('ace/ext/themelist', () => import('ace-code/src/ext/themelist.js'));
|
||||
ace.config.setModuleLoader('ace/ext/whitespace', () => import('ace-code/src/ext/whitespace.js'));
|
||||
ace.config.setModuleLoader('ace/keyboard/emacs', () => import('ace-code/src/keyboard/emacs.js'));
|
||||
ace.config.setModuleLoader('ace/keyboard/sublime', () => import('ace-code/src/keyboard/sublime.js'));
|
||||
ace.config.setModuleLoader('ace/keyboard/vim', () => import('ace-code/src/keyboard/vim.js'));
|
||||
ace.config.setModuleLoader('ace/keyboard/vscode', () => import('ace-code/src/keyboard/vscode.js'));
|
||||
|
||||
console.log("ace module loaders patched");
|
||||
|
||||
export { ace };
|
||||
179
www/src/js/editor/index.js
Normal file
179
www/src/js/editor/index.js
Normal file
@@ -0,0 +1,179 @@
|
||||
import { ace } from "./ace.js"
|
||||
import { Mode as IC10Mode } from "./ic10_mode.js";
|
||||
import * as one_dark from "ace-code/src/theme/one_dark";
|
||||
import { AceLanguageClient } from "ace-linters/build/ace-language-client";
|
||||
import { IC10EditorUI } from './ui.js';
|
||||
|
||||
// to make sure language tools are loaded
|
||||
import _ace_ext_langue_tools from "ace-code/src/ext/language_tools";
|
||||
|
||||
|
||||
const demoCode = `# Highlighting Demo
|
||||
# This is a comment
|
||||
|
||||
# Hover a define id anywhere to see it's definition
|
||||
define a_def 10
|
||||
|
||||
# Hover HASH("String")'s to see computed crc32
|
||||
# hover here vvvvvvvvvvvvvvvv
|
||||
define a_hash HASH("This is a String")
|
||||
|
||||
# hover over an alias anywhere in the code
|
||||
# to see it's definition
|
||||
alias a_var r0
|
||||
alias a_device d0
|
||||
|
||||
# instructions have Auto Completion,
|
||||
# numeric logic types are identified on hover
|
||||
s db 12 0
|
||||
# ^^
|
||||
# hover here
|
||||
|
||||
# Enums and their values are Known, Hover them!
|
||||
# vvvvvvvvvvvvvvvvvv
|
||||
move r2 LogicType.Temperature
|
||||
|
||||
# same with constants
|
||||
# vvvv
|
||||
move r3 pinf
|
||||
|
||||
# Labels are known
|
||||
main:
|
||||
l r1 dr15 RatioWater
|
||||
move r2 100000.001
|
||||
|
||||
# Hover Hash Strings of Known prefab names
|
||||
# to get their documentation
|
||||
# vvvvvvvvvvvvvvv
|
||||
move r0 HASH("AccessCardBlack")
|
||||
beqz r1 test
|
||||
|
||||
# -2045627372 is the crc32 hash of a SolarPanel,
|
||||
# hover it to see the documentation!
|
||||
# vvvvvvvvvv
|
||||
move r1 -2045627372
|
||||
jal test
|
||||
move r1 $FF
|
||||
beqz 0 test
|
||||
move r1 %1000
|
||||
yield
|
||||
j main
|
||||
|
||||
test:
|
||||
add r15 r15 1
|
||||
j ra
|
||||
|
||||
`
|
||||
async function setupLspWorker() {
|
||||
// Create a web worker
|
||||
let worker = new Worker(new URL('./lspWorker.js', import.meta.url));
|
||||
|
||||
const loaded = w =>
|
||||
new Promise(r => w.addEventListener("message", r, { once: true }));
|
||||
await Promise.all([loaded(worker)]);
|
||||
|
||||
// Register the editor with the language provider
|
||||
return worker;
|
||||
}
|
||||
|
||||
|
||||
function IC10Editor(session_id) {
|
||||
this.mode = new IC10Mode()
|
||||
|
||||
|
||||
|
||||
this.settings = {
|
||||
keyboard: "ace",
|
||||
cursor: "ace",
|
||||
fontSize: 16,
|
||||
relativeLineNumbers: false,
|
||||
};
|
||||
|
||||
this.editor = ace.edit('editor', {
|
||||
mode: this.mode,
|
||||
enableBasicAutocompletion: true,
|
||||
enableLiveAutocompletion: true,
|
||||
enableSnippets: true,
|
||||
theme: "ace/theme/one_dark",
|
||||
fontSize: "16px",
|
||||
customScrollbar: true,
|
||||
firstLineNumber: 0,
|
||||
printMarginColumn: 52,
|
||||
});
|
||||
|
||||
this.sessions = {};
|
||||
this.sessions[session_id] = this.editor.getSession();
|
||||
this.active_session = session_id;
|
||||
this.editor.session.setValue(demoCode)
|
||||
|
||||
this.languageProvider = null;
|
||||
|
||||
this.ui = new IC10EditorUI(this);
|
||||
}
|
||||
|
||||
IC10Editor.prototype.newSession = function(session_id) {
|
||||
if (this.sessions.hasOwnProperty(session_id)) {
|
||||
return false;
|
||||
}
|
||||
this.sessions[session_id] = ace.createEditSession("", this.mode);
|
||||
}
|
||||
|
||||
IC10Editor.prototype.setupLsp = function(lsp_worker) {
|
||||
const serverData = {
|
||||
module: () => import("ace-linters/build/language-client"),
|
||||
modes: "ic10",
|
||||
type: "webworker",
|
||||
worker: lsp_worker,
|
||||
};
|
||||
// Create a language provider for web worker
|
||||
this.languageProvider = AceLanguageClient.for(serverData);
|
||||
this.languageProvider.registerEditor(this.editor);
|
||||
|
||||
for (const session_id in this.sessions) {
|
||||
let options = this.mode.options ?? {};
|
||||
this.languageProvider.setSessionOptions(this.sessions[session_id], options);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
IC10Editor.prototype.activateSession = function (session_id) {
|
||||
if (!this.sessions.hasOwnProperty(session_id)) {
|
||||
return false;
|
||||
}
|
||||
this.editor.setSession(this.sessions[session_id]);
|
||||
let options = this.mode.options ?? {};
|
||||
this.languageProvider.setSessionOptions(this.sessions[session_id], options);
|
||||
return true;
|
||||
}
|
||||
|
||||
IC10Editor.prototype.loadEditorSettings = function () {
|
||||
const saved_settings = window.localStorage.getItem("editorSettings");
|
||||
if (saved_settings !== null && saved_settings.length > 0) {
|
||||
try {
|
||||
const saved = JSON.parse(saved_settings);
|
||||
const temp = Object.assign({}, this.settings, saved);
|
||||
Object.assign(this.settings, temp);
|
||||
} catch (e) {
|
||||
console.log("error loading editor settings", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IC10Editor.prototype.saveEditorSettings = function () {
|
||||
const toSave = JSON.stringify(this.settings);
|
||||
window.localStorage.setItem("editorSettings", toSave);
|
||||
}
|
||||
|
||||
IC10Editor.prototype.destroySession = function(session_id) {
|
||||
if (!this.sessions.hasOwnProperty(session_id)) {
|
||||
return false;
|
||||
}
|
||||
if (!(Object.keys(this.sessions).length > 1)) {
|
||||
return false;
|
||||
}
|
||||
this.sessions[session_id].destroy();
|
||||
delete this.sessions[session_id];
|
||||
return true;
|
||||
}
|
||||
|
||||
export { IC10Editor, setupLspWorker };
|
||||
11
www/src/js/editor/prompt_patch.js
Normal file
11
www/src/js/editor/prompt_patch.js
Normal file
@@ -0,0 +1,11 @@
|
||||
const ace_prompt = require('ace-code/src/ext/prompt.js').prompt;
|
||||
console.log(ace_prompt);
|
||||
|
||||
function prompt(editor, message, options, callback) {
|
||||
ace_prompt(editor, message, options, callback);
|
||||
if (editor.cmdLine) {
|
||||
editor.cmdLine.setTheme("ace/theme/one_dark");
|
||||
}
|
||||
}
|
||||
|
||||
exports.prompt = prompt;
|
||||
125
www/src/js/editor/ui.js
Normal file
125
www/src/js/editor/ui.js
Normal file
@@ -0,0 +1,125 @@
|
||||
import { ace } from "./ace";
|
||||
import { Offcanvas } from 'bootstrap';
|
||||
|
||||
function IC10EditorUI(ic10editor) {
|
||||
|
||||
const self = this;
|
||||
|
||||
self.ic10editor = ic10editor;
|
||||
|
||||
self.ic10editor.editor.commands.addCommand({
|
||||
name: "showSettingsMenu",
|
||||
description: "Show settings menu",
|
||||
bindKey: { win: "Ctrl-,", mac: "Command-," },
|
||||
exec: (_editor) => {
|
||||
const offCanvas = new Offcanvas(document.getElementById("editorSettings"));
|
||||
offCanvas.toggle();
|
||||
}
|
||||
});
|
||||
|
||||
ace.config.loadModule("ace/ext/keyboard_menu", function(module) {
|
||||
console.log("keybinding_menu loaded");
|
||||
module.init(self.ic10editor.editor);
|
||||
})
|
||||
|
||||
self.ic10editor.loadEditorSettings();
|
||||
self.displayEditorSettings();
|
||||
self.updateEditorSettings();
|
||||
self.reCalcEditorSize();
|
||||
window.addEventListener('resize', (e) => { self.reCalcEditorSize() });
|
||||
|
||||
document.getElementsByName("editorKeybindRadio").forEach((el) => {
|
||||
el.addEventListener('change', (e) => {
|
||||
self.ic10editor.settings.keyboard = e.target.value;
|
||||
self.ic10editor.saveEditorSettings();
|
||||
self.updateEditorSettings();
|
||||
})
|
||||
});
|
||||
|
||||
document.getElementsByName("editorCursorRadio").forEach((el) => {
|
||||
el.addEventListener('change', (e) => {
|
||||
self.ic10editor.settings.cursor = e.target.value;
|
||||
self.ic10editor.saveEditorSettings();
|
||||
self.updateEditorSettings();
|
||||
})
|
||||
});
|
||||
document.getElementById("editorSettingsFontSize").addEventListener('change', (e) => {
|
||||
window.App.editorSettings.fontSize = e.target.value;
|
||||
self.ic10editor.saveEditorSettings();
|
||||
self.updateEditorSettings();
|
||||
});
|
||||
document.getElementById("editorSettingsRelativeLineNumbers").addEventListener('change', (e) => {
|
||||
window.App.editorSettings.relativeLineNumbers = e.target.checked;
|
||||
self.ic10editor.saveEditorSettings();
|
||||
self.updateEditorSettings();
|
||||
})
|
||||
|
||||
console.log(self.ic10editor.editor.getOption('keyboardHandler'));
|
||||
|
||||
// let sessionChangeTimeout = 0;
|
||||
// editor.getSession().on('change', () => {
|
||||
// if (sessionChangeTimeout) clearTimeout(sessionChangeTimeout);
|
||||
// sessionChangeTimeout = setTimeout(() => {
|
||||
// var val = editor.getSession().getValue();
|
||||
// setDocFragment(val);
|
||||
// sessionChangeTimeout = 0;
|
||||
// }, 1000);
|
||||
// });
|
||||
|
||||
self.ic10editor.editor.setTheme("ace/theme/one_dark");
|
||||
ace.config.loadModule("ace/ext/statusbar", function(module) {
|
||||
const statusBar = new module.StatusBar(self.ic10editor.editor, document.getElementById("statusBar"));
|
||||
statusBar.updateStatus(self.ic10editor.editor);
|
||||
})
|
||||
|
||||
// ace_ext_keybinding_menu.init(editor);
|
||||
// editor.setOption("keyboardHandler", "ace/keyboard/vim");
|
||||
self.ic10editor.editor.setAutoScrollEditorIntoView(true);
|
||||
|
||||
|
||||
|
||||
// getContentFromFragment(editor, demoCode);
|
||||
|
||||
// window.addEventListener('hashchange', (_event) => {
|
||||
// getContentFromFragment(editor, "");
|
||||
// });
|
||||
|
||||
}
|
||||
|
||||
IC10EditorUI.prototype.updateEditorSettings = function () {
|
||||
const settings = this.ic10editor.settings;
|
||||
const editor = this.ic10editor.editor;
|
||||
if (settings.keyboard === 'ace') {
|
||||
editor.setOption('keyboardHandler', null);
|
||||
} else {
|
||||
editor.setOption('keyboardHandler', `ace/keyboard/${settings.keyboard}`);
|
||||
}
|
||||
editor.setOption('cursorStyle', settings.cursor);
|
||||
editor.setOption('fontSize', `${settings.fontSize}px`);
|
||||
editor.setOption('relativeLineNumbers', settings.relativeLineNumbers);
|
||||
}
|
||||
|
||||
IC10EditorUI.prototype.displayEditorSettings = function () {
|
||||
const settings = this.ic10editor.settings;
|
||||
document.getElementsByName("editorKeybindRadio").forEach((el) => {
|
||||
el.checked = el.value === settings.keyboard;
|
||||
});
|
||||
document.getElementsByName("editorCursorRadio").forEach((el) => {
|
||||
el.checked = el.value === settings.cursor;
|
||||
});
|
||||
document.getElementById("editorSettingsFontSize").value = settings.fontSize;
|
||||
document.getElementById("editorSettingsRelativeLineNumbers").checked = settings.relativeLineNumbers;
|
||||
}
|
||||
|
||||
IC10EditorUI.prototype.reCalcEditorSize = function () {
|
||||
const editor = this.ic10editor.editor;
|
||||
const navBar = document.getElementById("navBar");
|
||||
const statusBarContainer = document.getElementById("statusBarContainer");
|
||||
|
||||
const correction = navBar.offsetHeight + statusBarContainer.offsetHeight;
|
||||
const editorContainer = document.getElementById("editor");
|
||||
editorContainer.style.height = `calc( 100vh - ${correction}px - 0.5rem)`;
|
||||
editor.resize(true);
|
||||
}
|
||||
|
||||
export { IC10EditorUI };
|
||||
121
www/src/js/index.js
Normal file
121
www/src/js/index.js
Normal file
@@ -0,0 +1,121 @@
|
||||
import { init } from "ic10emu_wasm";
|
||||
|
||||
import { IC10Editor, setupLspWorker } from "./editor";
|
||||
|
||||
const App = {
|
||||
editor: null,
|
||||
sessions: [],
|
||||
languageProvider: null,
|
||||
editorSettings: {
|
||||
}
|
||||
};
|
||||
|
||||
window.App = App;
|
||||
|
||||
|
||||
function docReady(fn) {
|
||||
// see if DOM is already available
|
||||
if (document.readyState === "complete" || document.readyState === "interactive") {
|
||||
setTimeout(fn, 1);
|
||||
} else {
|
||||
document.addEventListener("DOMContentLoaded", fn);
|
||||
}
|
||||
}
|
||||
|
||||
init();
|
||||
|
||||
docReady(() => {
|
||||
|
||||
App.editor = new IC10Editor();
|
||||
|
||||
setupLspWorker().then((worker) => {
|
||||
App.editor.setupLsp(worker);
|
||||
})
|
||||
|
||||
|
||||
// Menu
|
||||
document.getElementById("mainMenuShare").addEventListener('click', (_event) => {
|
||||
const link = document.getElementById("shareLinkText");
|
||||
link.setAttribute('value', window.location);
|
||||
link.setSelectionRange(0, 0);
|
||||
}, { capture: true });
|
||||
document.getElementById("shareLinkCopyButton").addEventListener('click', (event) => {
|
||||
event.preventDefault();
|
||||
const link = document.getElementById("shareLinkText");
|
||||
link.select();
|
||||
link.setSelectionRange(0, 99999);
|
||||
navigator.clipboard.writeText(link.value);
|
||||
}, { capture: true });
|
||||
document.getElementById("mainMenuOpenFile").addEventListener('click', (_event) => {
|
||||
openFile(editor);
|
||||
}, { capture: true });
|
||||
document.getElementById("mainMenuSaveAs").addEventListener('click', (_event) => {
|
||||
saveFile(editor.getSession().getValue())
|
||||
|
||||
}, { capture: true });
|
||||
document.getElementById("mainMenuKeyboardShortcuts").addEventListener('click', (_event) => {
|
||||
App.editor.editor.execCommand("showKeyboardShortcuts");
|
||||
}, { capture: true });
|
||||
|
||||
});
|
||||
|
||||
async function saveFile(content) {
|
||||
const blob = new Blob([content], { type: "text/plain" });
|
||||
if (typeof window.showSaveFilePicker !== "undefined") {
|
||||
console.log("Saving via FileSystem API")
|
||||
const options = {
|
||||
types: [
|
||||
{
|
||||
suggestedName: "code.ic10",
|
||||
description: 'Text Files',
|
||||
accept: {
|
||||
'text/plain': ['.txt', '.ic10'],
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
const saveHandle = await window.showSaveFilePicker(options);
|
||||
const ws = await saveHandle.createWritable();
|
||||
await ws.write(blob);
|
||||
await ws.close();
|
||||
} else {
|
||||
console.log("saving file via hidden link event");
|
||||
var a = document.createElement('a');
|
||||
a.download = "code.ic10";
|
||||
a.href = window.URL.createObjectURL(blob);
|
||||
a.click();
|
||||
}
|
||||
}
|
||||
|
||||
async function openFile(editor) {
|
||||
if (typeof window.showOpenFilePicker !== "undefined") {
|
||||
console.log("opening file via FileSystem Api");
|
||||
const [fileHandle] = await window.showOpenFilePicker();
|
||||
const file = await fileHandle.getFile();
|
||||
const contents = await file.text();
|
||||
const session = editor.getSession();
|
||||
session.setValue(contents);
|
||||
} else {
|
||||
console.log("opening file via hidden input event");
|
||||
let input = document.createElement('input');
|
||||
input.type = 'file';
|
||||
input.accept = ".txt,.ic10,.mips,text/*";
|
||||
input.onchange = _ => {
|
||||
const files = Array.from(input.files);
|
||||
console.log(files);
|
||||
const file = files[0];
|
||||
var reader = new FileReader();
|
||||
reader.onload = (e) => {
|
||||
const contents = e.target.result;
|
||||
const session = editor.getSession();
|
||||
// session.id = file.name;
|
||||
session.setValue(contents);
|
||||
};
|
||||
reader.readAsText(file);
|
||||
};
|
||||
input.click();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
|
||||
import '@popperjs/core';
|
||||
import '../scss/styles.scss';
|
||||
import { Dropdown, Model, ButtonGroup } from 'bootstrap';
|
||||
|
||||
// A dependency graph that contains any wasm must all be imported
|
||||
// asynchronously. This `bootstrap.js` file does the single async import, so
|
||||
// that no one else needs to worry about it again.
|
||||
124
www/src/js/session.js
Normal file
124
www/src/js/session.js
Normal file
@@ -0,0 +1,124 @@
|
||||
|
||||
|
||||
async function setDocFragment(content) {
|
||||
const obj = JSON.stringify({ sessions: [{ content }] })
|
||||
const bytes = new TextEncoder().encode(obj);
|
||||
try {
|
||||
const c_bytes = await compress(bytes);
|
||||
const fragment = base64url_encode(c_bytes);
|
||||
window.history.replaceState(null, "", `#${fragment}`);
|
||||
} catch (e) {
|
||||
console.log("Error compressing content fragment:", e);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
async function decompressFragment(c_bytes) {
|
||||
try {
|
||||
const bytes = await decompress(c_bytes);
|
||||
const content = new TextDecoder().decode(bytes);
|
||||
return content;
|
||||
} catch (e) {
|
||||
console.log("Error decompressing content fragment:", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
function isJsonContent(content) {
|
||||
try {
|
||||
const obj = JSON.parse(content);
|
||||
return [true, obj];
|
||||
} catch (_) {
|
||||
return [false, null];
|
||||
}
|
||||
}
|
||||
|
||||
async function getContentFromFragment() {
|
||||
const fragment = window.location.hash.slice(1);
|
||||
if (fragment.length > 0) {
|
||||
const c_bytes = base64url_decode(fragment);
|
||||
const data = await decompressFragment(c_bytes);
|
||||
if (data !== null) {
|
||||
const [is_json, session] = isJsonContent(data);
|
||||
if (is_json) {
|
||||
try {
|
||||
const content = session.sessions[0].content
|
||||
editor.getSession().setValue(content);
|
||||
return;
|
||||
} catch (e) {
|
||||
console.log("Bad session data:", e);
|
||||
}
|
||||
} else {
|
||||
editor.getSession().setValue(data);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
editor.getSession().setValue(default_content);
|
||||
}
|
||||
|
||||
|
||||
async function* streamAsyncIterator(stream) {
|
||||
// Get a lock on the stream
|
||||
const reader = stream.getReader();
|
||||
|
||||
try {
|
||||
while (true) {
|
||||
// Read from the stream
|
||||
const { done, value } = await reader.read();
|
||||
if (done) return;
|
||||
yield value;
|
||||
}
|
||||
}
|
||||
finally {
|
||||
reader.releaseLock();
|
||||
}
|
||||
}
|
||||
|
||||
function base64url_encode(buffer) {
|
||||
return btoa(Array.from(new Uint8Array(buffer), b => String.fromCharCode(b)).join(''))
|
||||
.replace(/\+/g, '-')
|
||||
.replace(/\//g, '_')
|
||||
.replace(/=+$/, '');
|
||||
}
|
||||
|
||||
function base64url_decode(value) {
|
||||
const m = value.length % 4;
|
||||
return Uint8Array.from(atob(
|
||||
value.replace(/-/g, '+')
|
||||
.replace(/_/g, '/')
|
||||
.padEnd(value.length + (m === 0 ? 0 : 4 - m), '=')
|
||||
), c => c.charCodeAt(0)).buffer
|
||||
}
|
||||
|
||||
async function concatUintArrays(arrays) {
|
||||
const blob = new Blob(arrays);
|
||||
const buffer = await blob.arrayBuffer();
|
||||
return new Uint8Array(buffer);
|
||||
}
|
||||
|
||||
async function compress(bytes) {
|
||||
const s = new Blob([bytes]).stream();
|
||||
const cs = s.pipeThrough(
|
||||
new CompressionStream('deflate-raw')
|
||||
);
|
||||
const chunks = [];
|
||||
for await (const chunk of streamAsyncIterator(cs)) {
|
||||
chunks.push(chunk);
|
||||
}
|
||||
return await concatUintArrays(chunks);
|
||||
}
|
||||
|
||||
async function decompress(bytes) {
|
||||
const s = new Blob([bytes]).stream();
|
||||
const ds = s.pipeThrough(
|
||||
new DecompressionStream('deflate-raw')
|
||||
);
|
||||
const chunks = [];
|
||||
for await (const chunk of streamAsyncIterator(ds)) {
|
||||
chunks.push(chunk);
|
||||
}
|
||||
return await concatUintArrays(chunks);
|
||||
}
|
||||
@@ -88,6 +88,16 @@ body {
|
||||
background: #f0f0f0;
|
||||
}
|
||||
|
||||
.ace_prompt_container {
|
||||
max-width: 603px;
|
||||
width: 100%;
|
||||
margin: 70px auto;
|
||||
padding: 3px;
|
||||
background: #2b3035;
|
||||
border-radius: 2px;
|
||||
box-shadow: 0px 2px 3px 0px #555;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------------------------
|
||||
* Editor Search Form
|
||||
* --------------------------------------------------------------------------------------- */
|
||||
@@ -353,3 +363,49 @@ code {
|
||||
.modal-body button {
|
||||
color: #fff
|
||||
}
|
||||
|
||||
|
||||
.ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight {
|
||||
color: #c678dd;
|
||||
}
|
||||
|
||||
.ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {
|
||||
background-color: rgba(76, 87, 103, .19);
|
||||
}
|
||||
|
||||
.ace_dark.ace_editor.ace_autocomplete .ace_line-hover {
|
||||
border: 1px solid rgba(8, 121, 144, 0.5);
|
||||
background: rgba(76, 87, 103, .19);
|
||||
}
|
||||
|
||||
.ace_dark.ace_editor.ace_autocomplete {
|
||||
border: 1px #484747 solid;
|
||||
box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);
|
||||
line-height: 1.4;
|
||||
background: #282c34;
|
||||
color: #c1c1c1;
|
||||
}
|
||||
|
||||
.ace_editor.ace_autocomplete {
|
||||
width: 300px;
|
||||
z-index: 200000;
|
||||
border: 1px #484747 solid;
|
||||
position: fixed;
|
||||
box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);
|
||||
line-height: 1.4;
|
||||
background: #282c34;
|
||||
color: #c1c1c1;
|
||||
}
|
||||
|
||||
.ace_editor.ace_autocomplete .ace_completion-highlight {
|
||||
color: #c678dd;
|
||||
}
|
||||
|
||||
.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {
|
||||
background-color: rgba(76, 87, 103, .19);
|
||||
}
|
||||
|
||||
.ace_editor.ace_autocomplete .ace_line-hover {
|
||||
border: 1px solid rgba(8, 121, 144, 0.5);
|
||||
background: rgba(76, 87, 103, .19);
|
||||
}
|
||||
67
www/src/scss/styles.scss
Normal file
67
www/src/scss/styles.scss
Normal file
@@ -0,0 +1,67 @@
|
||||
|
||||
// Toggle global options
|
||||
// $enable-gradients: true;
|
||||
$enable-shadows: true;
|
||||
|
||||
$offcanvas-box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175);
|
||||
|
||||
// Include functions first
|
||||
@import "bootstrap/scss/functions";
|
||||
|
||||
// Customize some defaults
|
||||
$body-color: #333;
|
||||
$body-bg: #fff;
|
||||
$border-radius: .4rem;
|
||||
$success: #7952b3;
|
||||
|
||||
// Required
|
||||
@import "bootstrap/scss/variables";
|
||||
@import "bootstrap/scss/variables-dark";
|
||||
@import "bootstrap/scss/maps";
|
||||
@import "bootstrap/scss/mixins";
|
||||
@import "bootstrap/scss/utilities";
|
||||
@import "bootstrap/scss/root";
|
||||
@import "bootstrap/scss/reboot";
|
||||
|
||||
@import "bootstrap/scss/type";
|
||||
// @import "bootstrap/scss/images";
|
||||
@import "bootstrap/scss/containers";
|
||||
@import "bootstrap/scss/grid";
|
||||
@import "bootstrap/scss/tables";
|
||||
@import "bootstrap/scss/forms";
|
||||
@import "bootstrap/scss/buttons";
|
||||
@import "bootstrap/scss/transitions";
|
||||
@import "bootstrap/scss/dropdown";
|
||||
@import "bootstrap/scss/button-group";
|
||||
@import "bootstrap/scss/nav";
|
||||
@import "bootstrap/scss/navbar"; // Requires nav
|
||||
@import "bootstrap/scss/card";
|
||||
// @import "bootstrap/scss/breadcrumb";
|
||||
@import "bootstrap/scss/accordion";
|
||||
// @import "bootstrap/scss/pagination";
|
||||
@import "bootstrap/scss/badge";
|
||||
@import "bootstrap/scss/alert";
|
||||
@import "bootstrap/scss/progress";
|
||||
@import "bootstrap/scss/list-group";
|
||||
@import "bootstrap/scss/close";
|
||||
@import "bootstrap/scss/toasts";
|
||||
@import "bootstrap/scss/modal"; // Requires transitions
|
||||
@import "bootstrap/scss/tooltip";
|
||||
@import "bootstrap/scss/popover";
|
||||
// @import "bootstrap/scss/carousel";
|
||||
@import "bootstrap/scss/spinners";
|
||||
@import "bootstrap/scss/offcanvas"; // Requires transitions
|
||||
// @import "bootstrap/scss/placeholders";
|
||||
|
||||
// Helpers
|
||||
@import "bootstrap/scss/helpers";
|
||||
|
||||
// Utilities
|
||||
@import "bootstrap/scss/utilities/api";
|
||||
|
||||
@import "./dark.scss"
|
||||
|
||||
//
|
||||
// Custom styles
|
||||
//
|
||||
|
||||
@@ -1,15 +1,26 @@
|
||||
const CopyWebpackPlugin = require("copy-webpack-plugin");
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
||||
const miniCssExtractPlugin = require('mini-css-extract-plugin');
|
||||
|
||||
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: "./src/bootstrap.js",
|
||||
entry: "./src/js/main.js",
|
||||
output: {
|
||||
path: path.resolve(__dirname, "dist"),
|
||||
filename: "bootstrap.js",
|
||||
filename: "main.js",
|
||||
},
|
||||
devServer: {
|
||||
static: path.resolve(__dirname, 'dist'),
|
||||
port: 8080,
|
||||
hot: true
|
||||
},
|
||||
mode: "development",
|
||||
plugins: [
|
||||
new CopyWebpackPlugin({ patterns: ['index.html', 'css/*.css', 'img/*.png'] })
|
||||
new CopyWebpackPlugin({ patterns: ['img/*.png', 'img/*/*.png'] }),
|
||||
new HtmlWebpackPlugin({ template: './src/index.html'}),
|
||||
new miniCssExtractPlugin()
|
||||
],
|
||||
module: {
|
||||
rules: [
|
||||
@@ -19,13 +30,36 @@ module.exports = {
|
||||
exclude: /node_modules/,
|
||||
},
|
||||
{
|
||||
test: /\.css$/i,
|
||||
use: ["style-loader", "css-loader"],
|
||||
}
|
||||
],
|
||||
// parser: {
|
||||
// javascript : { importMeta: false }
|
||||
// }
|
||||
test: /\.(scss)$/,
|
||||
use: [{
|
||||
// inject CSS to page
|
||||
loader: miniCssExtractPlugin.loader
|
||||
}, {
|
||||
// translates CSS into CommonJS modules
|
||||
loader: 'css-loader'
|
||||
}, {
|
||||
// Run postcss actions
|
||||
loader: 'postcss-loader',
|
||||
options: {
|
||||
// `postcssOptions` is needed for postcss 8.x;
|
||||
// if you use postcss 7.x skip the key
|
||||
postcssOptions: {
|
||||
// postcss plugins, can be exported to postcss.config.js
|
||||
plugins: function() {
|
||||
return [
|
||||
require('autoprefixer')
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
}, {
|
||||
// compiles Sass to CSS
|
||||
loader: 'sass-loader'
|
||||
}],
|
||||
// parser: {
|
||||
// javascript : { importMeta: false }
|
||||
// }
|
||||
},],
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.tsx', '.ts', '.js'],
|
||||
|
||||
Reference in New Issue
Block a user