Welcome to EdenSpark’s documentation!¶
EdenSpark is a game engine that is designed to be simple and easy to use. You can use EdenSpark to create 2D and 3D games, simulations, and other interactive applications, and share them with others.
EdenSpark supports the Daslang programming language, and is designed to be easy to learn and use, even if you have no prior experience with programming or game development. You can find more information about Daslang in the Daslang documentation.
This documentation will show you how to get started with EdenSpark, and provide you with the information you need to create your own games and applications.
Contents:
- Getting Started
- Scene
- Resources
- System
- Input
- Components
- Components module
- Camera
- Mesh
- LodSelector
- SpriteRenderer
- Ambient Settings
- ShadowSettings
- Tonemap
- Blur
- Bloom
- Sky
- AntiAliasing
- RenderPipeline
- SSAOSettings
- SSRSettings
- DistanceFog
- Outline
- SpotLight
- PointLight
- DirectionalLight
- Audio
- RigidBody
- SpringJoint
- HingeJoint
- SixDofJoint
- Collider
- CollisionListener
- CharacterController
- Animator
- SingleAnimationPlayer
- HDGlobalIllumination
- HDSky
- HDSkyOrigin
- HDExposureAdaptation
- HDWater
- UICanvas
- UIFrame
- UIText
- Text3d
- UIImage
- UIMask
- UIContentSizeFitter
- UIColorState
- UITextureState
- UIButton
- UICheckbox
- UITextInput
- UIDropdown
- UISlider
- UIScrollArea
- UIAnchor
- UIHorizontalLayout
- UIVerticalLayout
- UIFlowLayout
- UIComponent, ui events
- Physics
- Math
- Time
- Render
- Sound
- Local storage
- Generic storage
- Coroutines
- Behavior Tree
- Free camera
- Arcball camera
- Tweener
- Daslang’s documentation
- Daslang 0.6.2 Reference Manual
- 1. Introduction
- 2. Design Philosophy
- 3. The language
- 3.1. Program Structure
- 3.2. Lexical Structure
- 3.3. Values and Data Types
- 3.4. Pointers
- 3.5. Constants, Enumerations, Global variables
- 3.6. Statements
- 3.7. Expressions
- 3.8. Function
- 3.9. Block
- 3.10. Lambda
- 3.11. Generator
- 3.12. Struct
- 3.13. Class
- 3.14. Tuple
- 3.15. Variant
- 3.16. Bitfield
- 3.17. Type Aliases
- 3.18. Array
- 3.19. Table
- 3.20. Iterator
- 3.21. Comprehension
- 3.22. String Builder
- 3.23. Modules
- 3.24. Move, Copy, and Clone
- 3.25. Clone
- 3.26. Finalizer
- 3.27. Temporary types
- 3.28. Unsafe
- 3.29. Generic Programming
- 3.30. Pattern matching
- 3.31. Annotations
- 3.32. Options
- 3.33. Macros
- 3.34. Reification
- 3.35. AST Matching
- 3.36. Built-in Functions
- 3.37. Lint Tools
- 4. The Runtime
- 5. Embedding and Integration
- 6. LINQ-fold patterns — what
_fold(...)recognizes - 7. daslang strudel vs strudel.cc — Feature Comparison
- Daslang Standard Library 0.6.2
- 1. Introduction
- 2. Core
- 3. Strings
- 4. I/O and Serialization
- 5. Data Structures
- 5.1. Boost package for array manipulation
- 5.2. Boost package for the builtin sort
- 5.3. Flat hash table
- 5.4. Cuckoo hash table
- 5.5. SOA (Structure of Arrays) transformation
- 5.6. Packed boolean array
- 5.7. Monadic Option<T> — a value-or-nothing tagged pair
- 5.8. Monadic Result<T, E> — a value-or-error tagged pair
- 6. Algorithms and Functional
- 7. Data Formats
- 8. Entity Component System
- 9. Concurrency
- 10. AST and Macros
- 11. Annotations and Contracts
- 11.1. Miscellaneous contract annotations
- 11.2. Apply reflection pattern
- 11.3. defer and defer_delete macros
- 11.4.
with_macro: locked array/table element binding - 11.5. if_not_null macro
- 11.6. static_let macro
- 11.7. lpipe macro
- 11.8. Assert once
- 11.9. Loop unrolling
- 11.10. Bitfield operator overloads
- 11.11. Bitfield name traits
- 11.12. Enumeration traits
- 11.13. Type trait macros
- 12. Classes and Interfaces
- 13. Testing and Debugging
- 14. Code Quality and Refactoring
- 15. Image and Font Processing
- 16. Audio and MIDI
- 17. Strudel (Live Coding)
- 17.1. Event payload and ADSR/delay-time resolvers
- 17.2. Cycle-space time primitives: TimeSpan, Hap, and cycle helpers
- 17.3. Pattern algebra, combinators, and fluent control API
- 17.4. Mini-notation tokenizer, parser, and fluent-DSL entry points
- 17.5. Musical scales and note-name helpers
- 17.6. Audio synthesis: oscillators, drums, filters, and effects
- 17.7. Sample bank and audio file loading
- 17.8. Voice allocation, effect bus routing, and per-tick mixing
- 17.9. Top-level playback harness: tracks, BPM/CPS, and threaded audio
- 17.10. MIDI file parser
- 17.11. MIDI file playback with GM preset mapping
- 17.12. SoundFont 2 file parser
- 17.13. SoundFont 2 per-voice runtime: envelope, LFO, modulators, biquad
- 17.14. Live-reload state preservation
- Daslang 0.6.2 Reference Manual
- Indices and tables