9.3.1 • Published 1 year ago

sonolus.js v9.3.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Sonolus.js

TypeScript based Developer Toolkit for Sonolus.

Links

Features

  • Author Sonolus code in JavaScript/TypeScript and utilize their rich existing IDE tooling and ecosystem.
  • Static type checking with TypeScript.
  • Built-in definitions and autocomplete.
  • Simplified and friendlier syntax, functions, and helpers.
  • Meta programming: use code to write code.
  • No-setup development server for quick prototyping.
  • Debug marker.

Installation

npm install sonolus.js --save-dev

Examples

// Visualize compiled code

const minDist = 0.02

console.log(
    visualize(
        If(
            And(GreaterOr(Time, 4.95), LessOr(Time, 5.05)),
            [Play(EffectClip.Perfect, minDist), DebugPause()],
            DebugLog(Time)
        )
    )
)

// Result:
// If(
//     And(GreaterOr(Get(1, 0), 4.95), LessOr(Get(1, 0), 5.05)),
//     Execute(Play(1, 0.02), DebugPause()),
//     DebugLog(Get(1, 0))
// )
// Use meta programming to sum 1 to 5 with EntityMemory[63] as temporary variable

const temp = EntityMemory.to<number>(63)

const code: Code = [temp.set(0)]
for (let i = 1; i <= 5; i++) {
    code.push(temp.set(Add(temp, i)))
}
code.push(DebugLog(temp))

console.log(visualize(code))

// Result:
// Execute(
//     Set(21, 63, 0),
//     Set(21, 63, Add(Get(21, 63), 1)),
//     Set(21, 63, Add(Get(21, 63), 2)),
//     Set(21, 63, Add(Get(21, 63), 3)),
//     Set(21, 63, Add(Get(21, 63), 4)),
//     Set(21, 63, Add(Get(21, 63), 5)),
//     DebugLog(Get(21, 63))
// )
// Build engine and level from source

const buildOutput = build({
    engine: {
        configuration: { ... },
        data: { ... },
    },
    level: {
        data: { ... },
    },
})

// EngineConfiguration, EngineData, and LevelData available in buildOutput and can be saved to files
// Build and start a development server

const buildOutput = build({ ... })

serve(buildOutput)

// Development server available to connect using Sonolus app
9.4.0-alpha.4

1 year ago

9.4.0-alpha.3

1 year ago

9.4.0-alpha.2

1 year ago

9.4.0-alpha.1

1 year ago

9.4.0-alpha.0

1 year ago

9.3.1

2 years ago

9.3.0-beta.0

2 years ago

9.3.0

2 years ago

9.2.0-beta.0

2 years ago

9.2.0-beta.1

2 years ago

9.1.0-beta.3

2 years ago

9.1.0-beta.4

2 years ago

9.1.0-beta.1

2 years ago

9.1.0-beta.2

2 years ago

9.1.0-beta.0

2 years ago

9.1.1

2 years ago

9.1.0

2 years ago

9.2.0

2 years ago

9.0.2

2 years ago

9.0.1

2 years ago

9.0.0

2 years ago

9.0.0-beta.5

2 years ago

9.0.0-beta.4

2 years ago

9.0.0-beta.3

2 years ago

9.0.0-beta.2

2 years ago

9.0.0-beta.1

2 years ago

9.0.0-beta.0

2 years ago

9.0.0-beta.7

2 years ago

9.0.0-beta.6

2 years ago

7.1.0-beta.0

3 years ago

7.1.0

3 years ago

8.0.0

3 years ago

8.0.0-beta.0

3 years ago

8.0.0-beta.2

3 years ago

8.0.0-beta.1

3 years ago

8.0.0-beta.3

3 years ago

6.0.0

3 years ago

7.0.0

3 years ago

7.0.0-beta.0

3 years ago

5.2.3

3 years ago

5.2.2

3 years ago

5.2.3-beta.0

3 years ago

5.2.1

3 years ago

5.2.1-beta.0

3 years ago

5.2.0

3 years ago

5.1.0

3 years ago

5.0.0

3 years ago

5.0.0-beta.0

3 years ago

5.1.0-beta.0

3 years ago

4.0.1

4 years ago

4.0.0

4 years ago

3.1.2

4 years ago

3.1.1

4 years ago

3.1.0

4 years ago

3.1.0-beta.1

4 years ago

3.1.0-beta.0

4 years ago

2.2.0-beta.0

4 years ago

3.0.0

4 years ago

2.2.0

4 years ago

2.1.1

4 years ago

2.1.0

4 years ago

1.1.1

4 years ago

2.0.0

4 years ago

1.1.0

4 years ago

1.0.0

4 years ago

0.3.1

4 years ago

0.3.0

4 years ago

0.2.0

4 years ago

0.1.2

4 years ago

0.1.3

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago